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 /\./\
: :' : [EMAIL PROTECTED]
`. `' [EMAIL PROTECTED]
`- Debian GNU/Linux -- The power of freedom
signature.asc
Description: This is a digitally signed message part

