confuse-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Confuse-devel] libconf - libConfuse


From: dams
Subject: [Confuse-devel] libconf - libConfuse
Date: 17 Apr 2003 14:23:31 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]