summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2009-03-09 16:18:39 -0400
committerJoey Hess <joey@gnu.kitenet.net>2009-03-09 16:18:39 -0400
commitaa6312f1c5eec0c6d1e809269811599c6a9a5658 (patch)
tree459d7dd78c431a09fb3b98c09d4939e66830d29e
parent5c71ef4bcfe54f3bbadc50bfed0cbc3985e4b167 (diff)
Revert "dh_installmenus: Now that a triggers capable menu and dpkg are in stable, menu does not need to be explicitly run in maintainer scripts, except for packages with menu-methods files. (See #473467)"
This reverts commit 651be44c078b91112bf18d87d3629d23beb1a5c7. Conflicts: debian/changelog
-rw-r--r--autoscripts/postinst-menu3
-rw-r--r--autoscripts/postrm-menu1
-rwxr-xr-xdh_installmenu18
3 files changed, 17 insertions, 5 deletions
diff --git a/autoscripts/postinst-menu b/autoscripts/postinst-menu
new file mode 100644
index 0000000..b56a346
--- /dev/null
+++ b/autoscripts/postinst-menu
@@ -0,0 +1,3 @@
+if [ "$1" = "configure" ] && [ -x "`which update-menus 2>/dev/null`" ]; then
+ update-menus
+fi
diff --git a/autoscripts/postrm-menu b/autoscripts/postrm-menu
new file mode 100644
index 0000000..a180558
--- /dev/null
+++ b/autoscripts/postrm-menu
@@ -0,0 +1 @@
+if [ -x "`which update-menus 2>/dev/null`" ]; then update-menus ; fi
diff --git a/dh_installmenu b/dh_installmenu
index 963f546..327fac0 100755
--- a/dh_installmenu
+++ b/dh_installmenu
@@ -18,17 +18,18 @@ B<dh_installmenu> [S<B<debhelper options>>] [B<-n>]
dh_installmenu is a debhelper program that is responsible for installing
files used by the debian menu package into package build directories.
+It also automatically generates the postinst and postrm commands needed to
+interface with the debian menu package. These commands are inserted into
+the maintainer scripts by dh_installdeb. See L<dh_installdeb(1)> for an
+explanation of how this works.
+
If a file named debian/package.menu exists, then it is installed into
usr/share/menu/package in the package build directory. This is a debian menu
file. See L<menufile(5)> for its format.
If a file named debian/package.menu-method exits, then it is installed into
etc/menu-methods/package in the package build directory. This is a debian
-menu method file. In this case, dh_installmenu also automatically generates
-the postinst and postrm commands needed to
-interface with the debian menu package. These commands are inserted into
-the maintainer scripts by dh_installdeb. See L<dh_installdeb(1)> for an
-explanation of how this works.
+menu method file.
=head1 OPTIONS
@@ -54,6 +55,13 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
doit("install","-d","$tmp/usr/share/menu");
}
doit("install","-p","-m644",$menu,"$tmp/usr/share/menu/$package");
+
+ # Add the scripts if a menu-method file doesn't exist.
+ # The scripts for menu-method handle everything these do, too.
+ if ($menu_method eq "" && ! $dh{NOSCRIPTS}) {
+ autoscript($package,"postinst","postinst-menu");
+ autoscript($package,"postrm","postrm-menu")
+ }
}
if ($menu_method ne '') {