Hello, I'm the author and main coder of libconf, hosted on savannah
http://www.nongnu.org/libconf
The goal of libconf is to abstract the configuration of linux systems
by
providing an unique representation of the configuration whatever the
distro
libconf is in perl, and composed of :
- Libconf : a config file parser, that is able to understand any
config file
(from simple shell like to complex apache or XF86Config), modify
them without
loosing any information. libconf especially handles comment. It uses
templates to handle the config files. Many of them are already done.
- Glueconf : on top of Libconf, this is a layer that wraps the config
files in
a perl structure.
- SystemConf : on top of Glueconf, that's a layer that uses multiple
Glueconf
structure to wrap them in a global structure, totally independant
of the
distribution. So Systemconf uses one backend per distribution, to
know which
config-file (thus which glueconf structure) gives each information.
Example:
the network SystemConf structure looks like :
$sys_network = {
general => {
NETWORKING =>
GATEWAY =>
},
interfaces => {
eth0 => {
DEVICE => 'eth0',
BOOTPROTO => 'dhcp',
NETMASK' =>
'255.255.255.0',
ONBOOT => 'yes',
NEEDHOSTNAME' => 'yes'
},
eth0 => {
DEVICE => 'eth0',
BOOTPROTO => 'dhcp',
NETMASK' =>
'255.255.255.0',
ONBOOT => 'yes',
NEEDHOSTNAME' => 'yes'
},
}
}
The structure is initialized with the content of the config-files. when
configuration programs has finished changing the values, it can call
functions
to write the content of the structure into the corresponding config
files,
without messing them up, with comments respects.
SystemConf can warn you if some underlying config file has been
changed since
you read the informations, and other usefull functions.
I have good relations with mandrakesoft and gentoo. Mandrakesoft is
beginning
to use libconf in their configuration tools, gentoo plan to do so
shortly
(maybe 6 months).
Now, I'm trying to gather common efforts to provide a descent global
configuraiton system, and I saw that libConfuse is a configuration
file parser
library. Maybe we could try to work together? I know that my parser
works, but
it's far from being perfect. libconfuse could be used instead.
In addition, I plan to code C and python connections.
Tell me if libconfuse is still under development, what is its status,
and if
you are interested by working together.
cu, thanks
--
dams