configuration system notes
apenwarr at nit.ca
Mon Apr 18 21:38:14 EEST 2005
On Mon, Apr 18, 2005 at 01:40:09PM -0400, Havoc Pennington wrote:
> On Mon, 2005-04-18 at 02:10 -0300, Avi Alkalay wrote:
> > Elektra's priority is to solve whole system configuration zoo, not
> > only desktop's. Think about Apache's being integrated to Samba's
> > configurations, to be integrated to a generic desktop configs, to be
> > integrated to cron's configs, PAM, iptables, modprobe, Kudzu, HW,
> > BIND, ntpd, user's, network info, and everything else you can imagine.
> I don't think it's interesting to make all those things use a new system
> natively if the new system is simply a different, shared file format.
> The interesting thing would be to bring the overall system into the
> modern world, for example as NetworkManager does - make the network
> configuration a dynamic thing that can change on the fly and have
> intelligent behavior.
> And to do that, you need the same basic properties as a desktop
> configuration system.
That's why I would do it like this:
- adapt a bunch of things to elektra, which many projects can probably
accept, especially if it has few dependencies and offers a lot of
advantages. (Avi has started this already.)
- provide a default elektra backend with few dependencies and a reasonable
file format (already done).
- provide a fancy elektra backend with more features, like real-time
notifications, a daemon, etc. Make this backend the same as the one
used by D-Conf.
It turns out you can already do this, albeit via UniConf, because there's a
UniConf backend for elektra and a GConf backend for UniConf. So you can
store your elektra keys in GConf. But if D-Conf existed, you could just
write an elektra backend directly for that.
That means you get - with code that exists already today - everything
everyone has asked for so far:
- few dependencies
- standardized file format
- fancy notifications
- daemon support
- gconf compatibility
All this is very nice, but in the end, it's going to be up to a Linux distro
to install all this stuff and make it work together. Just because you *can*
configure X using GConf (Avi made a patch to XFree86 to make it work with
elektra) doesn't mean anyone will set it up that way by default, or that the
x.org people will see any point in it. It's too painful to do it with just
one app. The benefit comes when you do it with a lot of apps.
Disclaimer: my company makes a Linux server operating system where all the
services are configured by UniConf. I'm probably biased.
More information about the xdg