configuration system notes

Havoc Pennington hp at redhat.com
Mon Apr 18 20:40:09 EEST 2005


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 the interesting goal. It's not that I don't understand your point
- I agree that most of these server projects would not accept the
daemon, dependencies, etc. The issue is this: I don't think a shared
config file format is interesting enough if that's all we can do.

> While making strategic decisions on how a config system should be, I
> ask you to not forget the entire non-desktop software ecosystem out
> there. Notifications, schemas, XML, multibackends, beautiful flexible
> architectures, may be needed for desktop frameworks, but is pure
> polysaturated fat for these essential subsystems. And you can't have a
> desktop without those system elements. In the design process of
> Elektra, I had to painfully avoid C++, client-server, XML, BerkeleyDB,
> and many other cool stuff you can find in freshmeat.net.

If you're right, then the conclusion is that the same system will not be
usable for both systemwide and desktop apps. We can't compromise the
desktop apps requirements because systemwide people refuse to have any
dependencies or move into the modern world.

FWIW, though, for Fedora we're pretty much making D-BUS a systemwide
requirement to run the system. We're also moving to NetworkManager as
"how networking works." These things don't happen overnight, but our
goal is to move toward dynamic and smart and robust rather than the "no
dependencies!" mantra.

There are pretty sane ways to encapsulate and contain the past, e.g. by
supporting old-style initscripts, bridging to daemon-specific config
files, etc.

> > But that's irrelevant because we already have GConf and KConfig, which
> > are currently better than Elektra. We aren't going to downgrade what we
> > have just to get a common system. The common system has to be an
> > upgrade.
> 
> Elektra wants to address other problems. Not only the desktop, as I
> mentioned above.

That's totally cool, I'm not making any absolute statements on the
virtues of Elektra, my points are:

 - a relative statement about whether it works for desktop

 - I personally happen to think that a systemwide config system would 
   be more interesting if it focused on adding new features to a small 
   number of apps, rather than changing the config file format for a 
   large number of apps.

Havoc





More information about the xdg mailing list