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

gconf and the FHS



We are currently working on making Debian's gconf correct with regard to
the FHS. There are currently two major issues:

1. .schemas files are stored in /etc while they shouldn't be modifiable.
Upstream even asks us not to patch them. These should be moved to /usr.

2. When schemas are registered, files are generated in
/etc/gconf/gconf.xml.defaults. This is very bad, as this prevents both
packagers and administrators to provide a custom configuration.

The first issue is easy to solve, as dh_gconf can handle it alone. It
should be done for the GNOME 2.6 introduction to unstable. The plan is
simple:
 * upload an updated debhelper to unstable
 * upload the GNOME 2.6 packages to unstable the day after
This should be completely transparent.

The second issue is a bit more hairy. Let's have a look at
/etc/gconf/2/path to understand:
	xml:readonly:/etc/gconf/gconf.xml.mandatory
	include "$(HOME)/.gconf.path"
	xml:readwrite:$(HOME)/.gconf
	xml:readonly:/etc/gconf/gconf.xml.defaults

That's mandatory settings, then user settings, then default settings.
When registering schemas, the generated files are stored to the last
location: /etc/gconf/gconf.xml.defaults.

Here is a new proposed configuration file:
	xml:readonly:/etc/gconf/gconf.xml.mandatory
	include "$(HOME)/.gconf.path"
	xml:readwrite:$(HOME)/.gconf
	xml:readonly:/etc/gconf/defaults
	xml:readonly:/var/lib/gconf/defaults

This way, we separate default Debian/administrator settings from the
upstream default settings. /etc/gconf/gconf.xml.defaults is deprecated,
and files are now generated to /var/lib/gconf/defaults.

Of course, as is, the upgrade won't work: all schemas are lost. But we
are lucky here: the packages' prerm/postinst scripts use the gconf
configuration to generate the files and to remove them. Thus, we only
need to completely move (cp -r, rm -r) the /etc/gconf/gconf.xml.defaults
tree to /var/lib/gconf/defaults during the gconf2 package upgrade. This
way, everything should be preserved.

I think that migration to /var should be done for our GNOME 2.4 packages
as soon as possible, as it doesn't require any modification of packages
other than gconf2. I can prepare the package if there is no objection.

Then, we can work on providing nice defaults for sarge's desktop, using
/etc/gconf/defaults instead of patching the schemas.
-- 
 .''`.           Josselin Mouette        /\./\
: :' :           josselin.mouette@ens-lyon.org
`. `'                        joss@debian.org
  `-  Debian GNU/Linux -- The power of freedom

Attachment: signature.asc
Description: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e=2E?=


Reply to: