diff options
author | Joey Hess <joey@kitenet.net> | 2011-04-01 14:54:32 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-04-01 14:54:32 -0400 |
commit | 25e91ce4e2bb558d300b56258563ad3fc3ffbc19 (patch) | |
tree | 67fb6889c4a7c0854b6fd7700044d6544b30d7e1 | |
parent | 54fbbed4eb8bf4086e12f4c22204ab75729a4f65 (diff) | |
download | debhelper-25e91ce4e2bb558d300b56258563ad3fc3ffbc19.tar.gz |
dh_installgsettings: New command to handle gsettings schema files. Closes: #604727
-rw-r--r-- | debian/changelog | 2 | ||||
-rw-r--r-- | debian/copyright | 9 | ||||
-rwxr-xr-x | dh | 1 | ||||
-rwxr-xr-x | dh_installgsettings | 96 | ||||
-rw-r--r-- | doc/TODO | 3 |
5 files changed, 109 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog index dd92b07d..bd8b7b9d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -15,6 +15,8 @@ debhelper (8.1.3) UNRELEASED; urgency=low If you remove that dependency, debhelper will fall back to not doing multiarch stuff in v9 mode, which is probably what you want. * Removed old example rules files. + * dh_installgsettings: New command to handle gsettings schema files. + Closes: #604727 -- Joey Hess <joeyh@debian.org> Sun, 27 Feb 2011 15:43:12 -0400 diff --git a/debian/copyright b/debian/copyright index 913a2f62..1e4bc1ee 100644 --- a/debian/copyright +++ b/debian/copyright @@ -60,6 +60,11 @@ Copyright: 1997-2008 Joey Hess <joeyh@debian.org>, 2009 Canonical Ltd. License: GPL-3+ +Files: dh_installgsettings +Copyright: 2010 Laurent Bigonville <bigon@debian.org> + 2011 Josselin Mouette <joss@debian.org> +License: GPL-2+ + Files: Debian/Debhelper/Buildsystem/qmake.pm Copyright: © 2010 Kel Modderman License: GPL-2+ @@ -69,10 +74,10 @@ Copyright: © 2008-2009 Modestas Vainius License: GPL-2+ License: GPL-2+ - The full text of the GPL is distributed as in + The full text of the GPL version 2 is distributed in /usr/share/common-licenses/GPL-2 on Debian systems. License: GPL-3+ - The full text of the GPL is distributed as in + The full text of the GPL version 3 is distributed in /usr/share/common-licenses/GPL-3 on Debian systems. @@ -360,6 +360,7 @@ my @i = qw{ dh_installudev dh_installwm dh_installxfonts + dh_installgsettings dh_bugfiles dh_lintian dh_gconf diff --git a/dh_installgsettings b/dh_installgsettings new file mode 100755 index 00000000..2bb7fde9 --- /dev/null +++ b/dh_installgsettings @@ -0,0 +1,96 @@ +#!/usr/bin/perl -w + +=head1 NAME + +dh_gsettings - install GSettings overrides and set dependencies + +=cut + +use strict; +use Debian::Debhelper::Dh_Lib; + +=head1 SYNOPSIS + +B<dh_gsettings> [S<I<debhelper options>>] [B<--priority=<number>>] + +=head1 DESCRIPTION + +B<dh_gsettings> is a debhelper program that is responsible for installing +GSettings override files and generating appropriate dependencies on the +GSettings backend. + +The dependency on the backend will be generated in B<${misc:Depends}>. + +=head1 FILES + +=over 4 + +=item debian/I<package>.gsettings-override + +Installed into usr/share/glib-2.0/schemas/10_I<package>.gschema.override in +the package build directory, with "I<package>" replaced by the package name. + +The format of the file is the following: + + [org.gnome.mypackage] + boolean-setting=true + string-setting='string' + ... + +=back + +=head1 OPTIONS + +=over 4 + +=item B<--priority> I<priority> + +Use I<priority> (which should be a 2-digit number) as the override +priority instead of 10. Higher values than ten can be used by +derived distributions (20), blend distributions (50), or site-specific +packages (90). + +=cut + +init(); + +my $priority=10; +if (defined $dh{PRIORITY}) { + $priority=$dh{PRIORITY}; +} + +foreach my $package (@{$dh{DOPACKAGES}}) { + my $tmp=tmpdir($package); + + my $gsettings_schemas_dir = "$tmp/usr/share/glib-2.0/schemas/"; + + my $override = pkgfile($package,"gsettings-override"); + if ($override ne '') { + doit("mkdir","-p",$gsettings_schemas_dir); + doit("install","-p","-m644",$override,"$gsettings_schemas_dir/${priority}_$package.gschema.override"); + } + + if (-d "$gsettings_schemas_dir") { + # Get a list of the schemas + my $schemas = `find $gsettings_schemas_dir -type f -name \\*.xml -o -name \\*.override -printf '%P '`; + if ($schemas ne '') { + addsubstvar($package, "misc:Depends", "dconf-gsettings-backend | gsettings-backend"); + } + } +} + +=back + +=head1 SEE ALSO + +L<debhelper(7)> + +This program is a part of debhelper. + +=head1 AUTHOR + +Laurent Bigonville <bigon@debian.org>, +Josselin Mouette <joss@debian.org> + +=cut + @@ -26,6 +26,9 @@ Deprecated: library in case other things use them. Deprecate and remove. * dh --before , --after , --until , --remaining (not formally deprecated yet) * debian/compress files +* deprecate dh_gconf for dh_installgsettings (stuff should be migrating + away from gconf, and then I can just remove it -- have not added warning + or depreaction docs yet) Also, grep the entire archive for all dh_* command lines, and check to see what other switches are not being used, and maybe remove |