On Sun, 2008-04-20 at 09:31 -0400, Jason Edgecombe wrote: > This sounds a lot like what gconfd was made for. How is it different? gconfd addresses slightly different uses in a different environment: its main focus is on dektop apps, and because of its origin and focus on the Gnome desktop, it's reasonable to expect applications to be built to gconf's API and use it as a 'master' data storage. Augeas is more focused on all the files that are _not_ managed/manageable by gconfd, especially all the sundry config files in /etc; there it's unreasonable that the programs using those config files will adapt to some grand unified API and storage scheme. It is also unrealistic, as attempts at introducing that have failed --- and uptream has good reasons for not jumping at such a cheme: for one, it's not clear if any of those schemes will find wide enough acceptance to make supporting it worthwhile. The way a daemon processes config files to get its config out if it is also different from how an editing tool like Augeas has to process it: the daemon can just ignore comments, space etc. and does never have to worry about writing the file. These are two very important concerns for Augeas. There are two other approaches to programmatic config file editing besides the grand unified API/storage approach that people commonly take: * Grep/sed/awk etc. your way through to make the change you need. Works for simple file formats/situations, but everybody winds up reinventing that for their specific situation, and there's usually not enough effort put into that to make sure that every possible variation of a file is processed correctly. Augeas addresses that by focusing just on the processing/editing aspect, so that for each file the description can be adapted and perfected over time (assuming it wasn't perfect to begin with ;) A lot of this is about corner cases like not getting thrown off by whitespace at the end of line etc. * Templating gets you out of parsing files and worrying about the above issues. The downside is that it introduces an ad-hoc canonical store of config data that is not the real config file; you can't edit those files anymore by hand or with a second tool (or lose your edits the next time the template engine runs) You usually also lose the flexibility to express everything that can be expressed in the 'real' config file. The limitations of these three approaches were very important in the design of Augeas, and avoiding them lead to what it is and how it works. David _______________________________________________ et-mgmt-tools mailing list et-mgmt-tools@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/et-mgmt-tools