=head1 NAME
-dh_gconf - generate GConf schema registration scripts
+dh_gconf - install GConf defaults files and register schemas
=cut
=head1 SYNOPSIS
-B<dh_gconf> [S<I<debhelper options>>] [B<-p<package>>]
+B<dh_gconf> [S<I<debhelper options>>] [B<--priority=>I<priority>]
=head1 DESCRIPTION
-dh_gconf is a debhelper program that is responsible for registering
-GConf schemas.
+B<dh_gconf> is a debhelper program that is responsible for installing GConf
+defaults files and registering GConf schemas.
-It automatically generates the postinst and prerm fragments needed
-to register and unregister the schemas in usr/share/gconf/schemas.
-These fragments will use gconftool-2, so the package should depend on
-gconf2. This program will add an appropriate dependency to ${misc:Depends}.
+An appropriate dependency on gconf2 will be generated in B<${misc:Depends}>.
-The postinst script will also signal gconfd-2 so that the newly installed
-schemas are available straight away.
+=head1 FILES
+
+=over 4
+
+=item debian/I<package>.gconf-defaults
+
+Installed into F<usr/share/gconf/defaults/10_package> in the package build
+directory, with I<package> replaced by the package name.
+
+=item debian/I<package>.gconf-mandatory
+
+Installed into F<usr/share/gconf/mandatory/10_package> in the package build
+directory, with I<package> replaced by the package name.
+
+=back
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<--priority> I<priority>
+
+Use I<priority> (which should be a 2-digit number) as the defaults
+priority instead of B<10>. Higher values than ten can be used by
+derived distributions (B<20>), CDD distributions (B<50>), or site-specific
+packages (B<90>).
+
+=back
=cut
init();
+my $priority=10;
+if (defined $dh{PRIORITY}) {
+ $priority=$dh{PRIORITY};
+}
foreach my $package (@{$dh{DOPACKAGES}}) {
my $tmp=tmpdir($package);
+
+ my $gconf_dep = 0;
+ my $mandatory = pkgfile($package, "gconf-mandatory");
+ if ($mandatory ne '') {
+ doit("mkdir","-p","$tmp/usr/share/gconf/mandatory");
+ doit("install","-p","-m644",$mandatory,"$tmp/usr/share/gconf/mandatory/${priority}_$package");
+ addsubstvar($package, "misc:Depends", "gconf2 (>= 2.28.1-2)");
+ $gconf_dep = 1;
+ }
+ my $defaults = pkgfile($package,"gconf-defaults");
+ if ($defaults ne '') {
+ doit("mkdir","-p","$tmp/usr/share/gconf/defaults");
+ doit("install","-p","-m644",$defaults,"$tmp/usr/share/gconf/defaults/${priority}_$package");
+ addsubstvar($package, "misc:Depends", "gconf2 (>= 2.28.1-2)") unless $gconf_dep;
+ $gconf_dep = 1;
+ }
+
my $old_schemas_dir = "$tmp/etc/gconf/schemas";
my $new_schemas_dir = "$tmp/usr/share/gconf/schemas";
# Get a list of the schemas
my $schemas = `find $new_schemas_dir -type f -name \\*.schemas -printf '%P '`;
if ($schemas ne '') {
- autoscript($package,"postinst","postinst-gconf","s%#SCHEMAS#%$schemas%");
- autoscript($package,"prerm","prerm-gconf","s%#SCHEMAS#%$schemas%");
- autoscript($package,"postrm","postrm-gconf","s%#SCHEMAS#%$schemas%");
- addsubstvar($package, "misc:Depends", "gconf2 (>= 2.6.2-1)");
+ addsubstvar($package, "misc:Depends", "gconf2 (>= 2.28.1-2)") unless $gconf_dep;
}
}
}
=head1 AUTHOR
Ross Burton <ross@burtonini.com>
+Josselin Mouette <joss@debian.org>
=cut