Frej Rasmussen <[EMAIL PROTECTED]> writes:

> > Description : Libconf is a wrapper to the main configuration files
> > of the system. It's made of a generic parser and many specialized
> > templates
>
> So why reinvent the wheel?
> http://www.gnome.org/projects/gst/structure.html
> 
> The backend scripts are independant and talks XML to the GUI (or
> whatever you could think of) it's even implemented in perl.

we do neither want to reinvent the wheel nor want to parse xml
everywhere but we do want (sometimes in the future) to:
- centralize parsing templates,
- alter config files without totaly over-writing them (aka keep user
  comments & order and better tool interoperability)

> Also a gui configurator might sound 'nice' from a coders view, but
> it totally breaks any

we (at least me) never plan to use it.
we only want to have a better data layer / gui layer separation.

it can only increase tool quality to have a better mvc than to have
more or less robust parsing stiff in each tool that need it.

currently, we have:
- centralized shell-like file parsing (either csh or sh variants) in
  perl-MDK-Common (used by quite a lot of tools)
  where a simple hash map the "var=value" from the file
- some kind of directives-like parsing in printerdrake
- some kind of various "let rewrite it on saving" file formats parsing
  (eg: python func calls in draksec, ...)
- some less than totally robusts "a la win3.1 .ini files" parsing in
  drakboot for autologin settings for kdm & gdm in drakboot

having a working template for reading ini files[1] would enable to
have some quite much robust parsing engine for drakboot and other
tools that need it, both enforcing values saving safety and not
altering uneeded bits of the files.


the libconf purpose is only to have a centralized file parsing &
altering engine that is both robust and respectful towars other config
tool and users


[1] ex (from /usr/share/config/kdm/kdmrc):

[X-:0-Core]
Authorize=true
AutoLogin1st=true
AutoLoginEnable=false
AutoLoginUser=
Reset=/etc/X11/xdm/TakeConsole
Setup=/etc/X11/xdm/Xsetup_0
Startup=/etc/X11/xdm/GiveConsole



Reply via email to