Le vendredi 08 juillet 2005 à 16:41 -0400, Jeff Bailey a écrit : > # Sysadmin forced settings > xml:readonly:/etc/gconf/gconf.xml.defaults This one should be /etc/gconf/gconf.xml.mandatory. > # Local Forced settings (Packaged) > xml:readonly:/usr/share/gconf/local-optional Is this one really necessary? Is it meant for sysadmins preferring to package their branding instead of running gconftool? > # Sabayon mandatory FIXME - Is this the right path? How is it made > mandatory? > include "$(HOME)/.gconf.path.mandatory" > > # User Preferences > > # Now see where users want us to look - basically the user can stick > arbitrary > # sources in a ~/.gconf.path file and they're inserted here > include "$(HOME)/.gconf.path" > > # Give users a default storage location, ~/.gconf > xml:readwrite:$(HOME)/.gconf > > # Sabayon optional FIXME - Is this the right path? Shouldn't this be > system-wide? > include "$(HOME)/.gconf.path.defaults" Here, we should add the current default path: xml:readonly:/etc/gconf/gconf.xml.defaults > # Local Branding (Packaged) > xml:readonly:/usr/share/gconf/local-optional > > # CDD Branding > xml:readonly:/usr/share/gconf/cdd Maybe local and CDD branding could be merged. > # Debian branding > xml:readonly:/usr/share/gconf/debian > > # Application default > xml:readonly:/var/lib/gconf/ /var/lib/gconf/defaults maybe ? Final note: that really makes a lot. Are there any performances issues when using so many sources? We also have to check that gconftool-2 --get-default-source will still return xml::/etc/gconf/gconf.xml.defaults. This is the base for: - manual installation of software using gconf; - the path gconf-editor uses; - the path packages already using dh_gconf use. Looking at the source this should still be the case, making this move transparent to installed applications. The schedule should be the following: 1) Update gconf with the proposed changes. We should also provide scripts for use in dh_gconf, named gconf-register-schemas and gconf-unregister-schemas, looking like: #! /bin/sh set -e tmp_home=`mktemp -d` schema_location=/usr/share/gconf/schemas for schema in "$@"; do if [ `echo "$schema" | cut -c1` != / ]; then schema="$schema_location"/"$schema" fi if [ -e $schema ]; then HOME="$tmp_home" GCONF_CONFIG_SOURCE=/var/lib/gconf/defaults \ gconftool-2 --makefile-install-rule "$schema" >/dev/null else echo Cannot find "$schema". exit 1 fi done rm -rf "$tmp_home" kill -s HUP `pidof gconfd-2` >/dev/null 2>&1 || true For gconf-unregister-schemas, just s/install-rule/uninstall-rule/, and no need for the kill. 2) Update dh_gconf in debhelper: - bump the ${misc:Depends} to the new version; - replace the autogenerated stuff, making use of gconf-register-schemas: if [ "$1" = "configure" ]; then /usr/sbin/gconf-register-schemas #SCHEMAS# fi and gconf-unregister-schemas: if [ "$1" = remove ] || [ "$1" = upgrade ]; then /usr/sbin/gconf-unregister-schemas #SCHEMAS# fi 3) Rebuild all applications, fixing those not using ${misc:Depends} yet. Regards, -- .''`. Josselin Mouette /\./\ : :' : josselin.mouette@ens-lyon.org `. `' joss@debian.org `- Debian GNU/Linux -- The power of freedom
Attachment:
signature.asc
Description: This is a digitally signed message part