[augeas-devel] ANNOUNCE: Augeas 0.7.1

David Lutterkort lutter at redhat.com
Wed Apr 21 22:09:11 UTC 2010


I am pleased to announce the release of Augeas 0.7.1. If I were into
codenames, this would be the 'lots of news is better news' release.

This is a fairly big bugfix release; there are several fixes affecting
context free (recursive) lenses, and fixes that plug memory leaks and
refcounting errors, in addition to the usual lens fixes and additions.

This release also contains a few smaller additions to the lens language:
there is now a new primitive lens 'value'[1] that sets the value of a
tree node to a constant, similar to what 'label' does for the key.

You can also print various things, e.g. for debugging[2]; for example,
the following will print the ctype, i.e. the regular expression that is
used in the string -> tree direction of a lens:

        let l = [ key /[a-z]+/ . del "=" "=" . store /[a-z]+/ ]
        let _ = print_regexp (lens_ctype l); print_endline ""
        
will print '/[a-z]+=[a-z]+/' when run through augparse.

Finally, thanks to Dagobert Michelsen who gave me access to the OpenCSW
build farm, Augeas now builds and passes all but three of its tests on
Solaris 5.10.

Detailed news:

  - new primitive lens 'value' to set value of a node to a constant,
    similar to 'label' for the key (see http://augeas.net/docs/lenses.html)
  - new builtins for printing and getting the types of a lens (see
    http://augeas.net/docs/builtins.html)
  - add unit type to lens language; allow '_' as an identifier in let's to
    force evaluation for side effect only
  - Various fixes for Solaris. Augeas now builds cleanly on Solaris 5.10,
    and most of the tests pass. The three tests that fail all fail because
    the test scripts have Linux idiosyncrasies. This needs to be addressed
    in a future release. Much thanks to Dagobert Michelsen and the OpenCSW
    project (http://www.opencsw.org/) for providing me with access to their
    build farm.
  - fix crash when recursive lens was used in a nonrecursive lens (bug #100)
  - context free parser/recursive lenses: handle 'l?' properly (bug #119);
    distinguish between successful parse and parse with an error at end of
    input; do caller filtering to avoid spurious ambiguous parses with
    grammars containing epsilon productions
  - aug_get: return -1 when multiple nodes match (bug #121)
  - much better error message when iteration stops prematurely during
    put/create than the dreaded 'Short iteration'
  - augtool: ignore empty lines from stdin; report error when get fails
  - fix memory leak in file_info (transform.c); this was leaking a file
    name every time we loaded a file (Laine Stump)
  - nicer error message when typechecker spots ambiguity in atype
  - libfa: handle '(a|)' and 'r{min,}' properly
  - locale independence: handle a literal '|' properly on systems that lack
    use_locale
  - bootstrap: pull in isblank explicitly (needed on Solaris)
  - src/lens.c (lns_check_rec): fix refcounting mistake on error path (bug #120)
  - fix SEGV when loading empty files
  - improvements in handling some OOM's
  - Lens changes/additions
    * Approx: lens and test for the approx proxy server (Tim Stoop)
    * Cgconfig: lens and tests for libcgroup config (Ivana Hutarova Varekova)
    * Cgrules: new lens and test (Ivana Hutarova Varekova)
    * Cobblermodules: lens + tests for cobbler's modules.conf (Shannon Hughes)
    * Debctrl: new lens and test (Dominique Dumont)
    * Dput: add 'allow_dcut' parameter (bug #105) (Raphael Pinson)
    * Dhclient: add rfc code parsing (bug #107) (Raphael Pinson)
    * Group: handle disabled passwords
    * Grub: support empty kernel parameters, Suse incl.s (Frederik Wagner)
    * Inittab: allow ':' in the process field (bug #109)
    * Logrotate: tolerate whitespace at the end of a line (bug #101); files
      can be separated by newlines (bug #104) (Raphael Pinson)
    * Modprobe: Suse includes (Frederik Wagner)
    * Nagisocfg: lens and test for /etc/nagios3/nagios.cfg (Tim Stoop)
    * Ntp: add 'tinker' directive (bug #103)
    * Passwd: parse NIS entries on Solaris
    * Securetty: new lens and test for /etc/securetty (Simon Josi)
    * Shellvars: handle a bare 'export VAR'; Suse includes (Frederik
      Wagner); allow spaces after/before opening/closing parens for array
    * Sshd: allow optional arguments in subsystem commands (Matt Palmer)
    * Sudoers: allow del_negate even if no negate_node is found (bug #106)
               (Raphael Pinson); accept 'secure_path' (BZ 566134) (Stuart
               Sears)

Tarball:          http://augeas.net/download/augeas-0.7.1.tar.gz
GPG signature[1]: http://augeas.net/download/augeas-0.7.1.tar.gz.sig

RPM's for Fedora and EPEL are making their way through the build systems
and will be available shortly from the usual repos.

David

[1] http://augeas.net/docs/lenses.html
[2] http://augeas.net/docs/builtins.html





More information about the augeas-devel mailing list