#!/usr/bin/perl =head1 NAME dh_installmenu - install Debian menu files into package build directories =cut use strict; use warnings; use Debian::Debhelper::Dh_Lib; our $VERSION = DH_BUILTIN_VERSION; =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<--no-scripts> Do not modify F/F scripts. =back =cut init(); # PROMISE: DH NOOP WITHOUT menu menu-method cli-options() foreach my $package (@{$dh{DOPACKAGES}}) { my $tmp=tmpdir($package); my $menu = pkgfile( { 'named' => 0, 'support-architecture-restriction' => 0, }, $package, "menu", ); my $menu_method = pkgfile( { 'named' => 0, 'support-architecture-restriction' => 0, }, $package, "menu-method", ); if ($menu ne '') { install_dir("$tmp/usr/share/menu"); install_file($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 '') { install_dir("$tmp/etc/menu-methods"); install_file($menu_method,"$tmp/etc/menu-methods/$package"); if (! $dh{NOSCRIPTS}) { autoscript($package, 'postinst', 'postinst-menu-method', { 'PACKAGE' => $package }); autoscript($package, 'postrm', 'postrm-menu-method', { 'PACKAGE' => $package }); } } } =head1 SEE ALSO L L L This program is a part of debhelper. =head1 AUTHOR Joey Hess =cut