#!/usr/bin/perl =head1 NAME dh_installgsettings - install GSettings overrides and set dependencies =cut use strict; use warnings; use Debian::Debhelper::Dh_Lib; our $VERSION = DH_BUILTIN_VERSION; =head1 SYNOPSIS B [S>] [B<--priority=>] =head1 DESCRIPTION B 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.gsettings-override Installed into usr/share/glib-2.0/schemas/10_I.gschema.override in the package build directory, with "I" 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 Use I (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(options => { "priority=s" => \$dh{PRIORITY}, }); my $priority=10; if (defined $dh{PRIORITY}) { $priority=$dh{PRIORITY}; } # PROMISE: DH NOOP WITHOUT gsettings-override tmp(usr/share/glib-2.0/schemas) cli-options() foreach my $package (@{$dh{DOPACKAGES}}) { my $tmp=tmpdir($package); my $gsettings_schemas_dir = "$tmp/usr/share/glib-2.0/schemas/"; my $override = pkgfile( { 'named' => 0, 'support-architecture-restriction' => 0, }, $package, "gsettings-override" ); if ($override ne '') { install_dir($gsettings_schemas_dir); install_file($override, "$gsettings_schemas_dir/${priority}_$package.gschema.override"); } if (-d "$gsettings_schemas_dir") { # Get a list of the schemas my $schemas = qx_cmd('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 This program is a part of debhelper. =head1 AUTHOR Laurent Bigonville , Josselin Mouette =cut