X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_installmenu;h=689c0b2a7b49dcd75f3f4804da845d60e06616fc;hb=e2a6d4cec4a7ee952cf6a7f250d80f1d75a38f95;hp=26798c29c006f78a905e041d592718866514683e;hpb=938b66ee19e113785e6655b1c3e73e9003e6464c;p=debhelper.git diff --git a/dh_installmenu b/dh_installmenu index 26798c2..689c0b2 100755 --- a/dh_installmenu +++ b/dh_installmenu @@ -1,24 +1,99 @@ -#!/bin/sh -e -# -# Integration with debian menu system: -# -# If debian/menu file exists, save it to debian/tmp/usr/lib/menu/$PACKAGE -# If debian/menu-method file exists, save it to -# debian/tmp/etc/menu-methods/$PACKAGE - -PATH=debian:$PATH:/usr/lib/debhelper -source dh_lib - -if [ -e debian/menu ]; then - if [ ! -d debian/tmp/usr/lib/menu ]; then - doit "install -d debian/tmp/usr/lib/menu" - fi - doit "install -p -m644 debian/menu debian/tmp/usr/lib/menu/$PACKAGE" -fi - -if [ -e debian/menu-method ]; then - if [ ! -d debian/tmp/etc/menu-methods ]; then - doit "install -d debian/tmp/etc/menu-methods" - fi - doit "install -p debian/menu-method debian/tmp/etc/menu-methods/$PACKAGE" -fi +#!/usr/bin/perl -w + +=head1 NAME + +dh_installmenu - install Debian menu files into package build directories + +=cut + +use strict; +use Debian::Debhelper::Dh_Lib; + +=head1 SYNOPSIS + +B [S>] [B<-n>] + +=head1 DESCRIPTION + +B is a debhelper program that is responsible for installing +files used by the Debian B package into package build directories. + +It also automatically generates the F and F commands needed to +interface with the Debian B package. These commands are inserted into +the maintainer scripts by L. + +=head1 FILES + +=over 4 + +=item debian/I.menu + +Debian menu files, installed into usr/share/menu/I in the package +build directory. See L for its format. + +=item debian/I.menu-method + +Debian menu method files, installed into etc/menu-methods/I +in the package build directory. + +=back + +=head1 OPTIONS + +=over 4 + +=item B<-n>, B<--noscripts> + +Do not modify F/F scripts. + +=back + +=cut + +init(); + +foreach my $package (@{$dh{DOPACKAGES}}) { + my $tmp=tmpdir($package); + my $menu=pkgfile($package,"menu"); + my $menu_method=pkgfile($package,"menu-method"); + + if ($menu ne '') { + if (! -d "$tmp/usr/share/menu") { + 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 '') { + if (!-d "$tmp/etc/menu-methods") { + doit("install","-d","$tmp/etc/menu-methods"); + } + doit("install","-p","-m644",$menu_method,"$tmp/etc/menu-methods/$package"); + + if (! $dh{NOSCRIPTS}) { + autoscript($package,"postinst","postinst-menu-method","s/#PACKAGE#/$package/"); + autoscript($package,"postrm","postrm-menu-method","s/#PACKAGE#/$package/"); + } + } +} + +=head1 SEE ALSO + +L +L +L + +This program is a part of debhelper. + +=head1 AUTHOR + +Joey Hess + +=cut