]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_installmenu
Merge branch 'master' into buildsystems
[debhelper.git] / dh_installmenu
index 2f7320904fca10900291b22f1e84335269b96855..327fac0fc31cd23b98edc615c0a3ef17536ed154 100755 (executable)
@@ -1,15 +1,48 @@
 #!/usr/bin/perl -w
-#
-# Integration with debian menu system:
-#
-# If debian/menu file exists, save it to $tmp/usr/lib/menu/$package
-# If debian/menu-method file exists, save it to 
-# $tmp/etc/menu-methods/$package
-#
-# Also, add to postinst and postrm.
+
+=head1 NAME
+
+dh_installmenu - install debian menu files into package build directories
+
+=cut
 
 use strict;
 use Debian::Debhelper::Dh_Lib;
+
+=head1 SYNOPSIS
+
+B<dh_installmenu> [S<B<debhelper options>>] [B<-n>]
+
+=head1 DESCRIPTION
+
+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.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-n>, B<--noscripts>
+
+Do not modify postinst/postrm scripts.
+
+=back
+
+=cut
+
 init();
 
 foreach my $package (@{$dh{DOPACKAGES}}) {
@@ -18,10 +51,10 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
        my $menu_method=pkgfile($package,"menu-method");
        
        if ($menu ne '') {
-               if (! -d "$tmp/usr/lib/menu") {
-                       doit("install","-d","$tmp/usr/lib/menu");
+               if (! -d "$tmp/usr/share/menu") {
+                       doit("install","-d","$tmp/usr/share/menu");
                }
-               doit("install","-p","-m644",$menu,"$tmp/usr/lib/menu/$package");
+               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.
@@ -35,7 +68,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                if (!-d "$tmp/etc/menu-methods") {
                        doit("install","-d","$tmp/etc/menu-methods");
                }
-               doit("install","-p",$menu_method,"$tmp/etc/menu-methods/$package");
+               doit("install","-p","-m644",$menu_method,"$tmp/etc/menu-methods/$package");
 
                if (! $dh{NOSCRIPTS}) {
                        autoscript($package,"postinst","postinst-menu-method","s/#PACKAGE#/$package/");
@@ -43,3 +76,17 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                }
        }
 }
+
+=head1 SEE ALSO
+
+L<debhelper(7)>
+L<update-menus(1)>
+L<menufile(5)>
+
+This program is a part of debhelper.
+
+=head1 AUTHOR
+
+Joey Hess <joeyh@debian.org>
+
+=cut