#!/usr/bin/perl -w # # Install debian/init[.d], and set up the postinst and postrm for init # scripts. use Debian::Debhelper::Dh_Lib; init(); foreach $PACKAGE (@{$dh{DOPACKAGES}}) { $TMP=tmpdir($PACKAGE); # Figure out what filename to install it as. my $script; if ($dh{D_FLAG}) { # -d on the command line sets D_FLAG. We will # remove a trailing 'd' from the package name and # use that as the name. $script=$PACKAGE; if ($script=~m/(.*)d$/) { $script=$1; } else { warning("\"$PACKAGE\" has no final d' in its name, but -d was specified."); } } elsif ($dh{INIT_SCRIPT}) { $script=$dh{INIT_SCRIPT}; } else { $script=$PACKAGE; } $init=pkgfile($PACKAGE,$script) || pkgfile($PACKAGE,"init") || pkgfile($PACKAGE,"init.d"); if ($init ne '') { if (! -d "$TMP/etc/init.d") { doit("install","-d","$TMP/etc/init.d"); } doit("install","-p","-m755",$init,"$TMP/etc/init.d/$script"); # This is set by the -u "foo" command line switch, it's # the parameters to pass to update-rc.d. If not set, # we have to say "defaults". my $params=''; if (defined($dh{U_PARAMS})) { $params=join(' ',@{$dh{U_PARAMS}}); } if ($params eq '') { $params="defaults"; } if (! $dh{NOSCRIPTS}) { # -r on the command line sets R_FLAG. If it's set, there # is no restart on upgrade. if ($dh{R_FLAG}) { autoscript($PACKAGE,"postinst","postinst-init-norestart", "s/#SCRIPT#/$script/;s/#INITPARMS#/$params/"); autoscript($PACKAGE,"postrm","postrm-init", "s/#SCRIPT#/$script/;s/#INITPARMS#/$params/"); } else { autoscript($PACKAGE,"postinst","postinst-init", "s/#SCRIPT#/$script/;s/#INITPARMS#/$params/"); autoscript($PACKAGE,"postrm","postrm-init", "s/#SCRIPT#/$script/;s/#INITPARMS#/$params/"); autoscript($PACKAGE,"prerm","prerm-init", "s/#SCRIPT#/$script/;s/#INITPARMS#/$params/"); } } } }