X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_installemacsen;h=d8fa65741932257999d8f325f44a4caa184f0dd0;hb=0f3f59fe6058edfda4010dc88bd3b8aa3ae70a6d;hp=8d8982c3fd60530f49d4f410cffb3a80159c0459;hpb=67b74298f08a3e2b30e43cbcd7cdaccc2e1b1614;p=debhelper.git diff --git a/dh_installemacsen b/dh_installemacsen index 8d8982c..d8fa657 100755 --- a/dh_installemacsen +++ b/dh_installemacsen @@ -1,9 +1,67 @@ #!/usr/bin/perl -w -# -# Registration with emacsen-common. +=head1 NAME + +dh_installemacsen - register an emacs add on package + +=cut + +use strict; use Debian::Debhelper::Dh_Lib; -init(); + +=head1 SYNOPSIS + +B [S>] [B<-n>] [B<--priority=>I] [B<--flavor=>I] + +=head1 DESCRIPTION + +dh_installemacsen is a debhelper program that is responsible for installing +files used by the debian emacsen-common package into package build +directories. + +It also automatically generates the postinst and prerm commands needed to +register a package as an emacs add on package. The commands are added to +the maintainer scripts by dh_installdeb. See L +for an explanation of how this works. + +If a file named debian/package.emacsen-install exists, then it is installed +into +usr/lib/emacsen-common/packages/install/package in the package build +directory. Similarly, debian/package.emacsen-remove is installed into +usr/lib/emacsen-common/packages/remove/package . And similarly, +debian/package.emacsen-startup is installed into +etc/emacs/site-start.d/50.el (by default). + +=head1 OPTIONS + +=over 4 + +=item B<-n>, B<--noscripts> + +Do not modify postinst/prerm scripts. + +=item B<--priority=>I + +Sets the priority number of a site-start.d file. Default is 50. + +=item B<--flavor=>I + +Sets the flavor a site-start.d file will be installed in. Default is +"emacs", alternatives include "xemacs" and "emacs20". + +=back + +=head1 NOTES + +Note that this command is not idempotent. L should be called +between invocations of this command. Otherwise, it may cause multiple +instances of the same text to be added to maintainer scripts. + +=cut + +init(options => { + "flavor=s" => \$dh{FLAVOR}, +}); if (! defined $dh{PRIORITY}) { $dh{PRIORITY}=50; @@ -12,40 +70,52 @@ if (! defined $dh{FLAVOR}) { $dh{FLAVOR}='emacs'; } -foreach $PACKAGE (@{$dh{DOPACKAGES}}) { - $TMP=tmpdir($PACKAGE); +foreach my $package (@{$dh{DOPACKAGES}}) { + my $tmp=tmpdir($package); - $emacsen_install=pkgfile($PACKAGE,"emacsen-install"); - $emacsen_remove=pkgfile($PACKAGE,"emacsen-remove"); - $emacsen_startup=pkgfile($PACKAGE,"emacsen-startup"); + my $emacsen_install=pkgfile($package,"emacsen-install"); + my $emacsen_remove=pkgfile($package,"emacsen-remove"); + my $emacsen_startup=pkgfile($package,"emacsen-startup"); if ($emacsen_install ne '') { - if (! -d "$TMP/usr/lib/emacsen-common/packages/install") { - doit("install","-d","$TMP/usr/lib/emacsen-common/packages/install"); + if (! -d "$tmp/usr/lib/emacsen-common/packages/install") { + doit("install","-d","$tmp/usr/lib/emacsen-common/packages/install"); } - doit("install","-m0755",$emacsen_install,"$TMP/usr/lib/emacsen-common/packages/install/$PACKAGE"); + doit("install","-m0755",$emacsen_install,"$tmp/usr/lib/emacsen-common/packages/install/$package"); } if ($emacsen_remove ne '') { - if (! -d "$TMP/usr/lib/emacsen-common/packages/remove") { - doit("install","-d","$TMP/usr/lib/emacsen-common/packages/remove"); + if (! -d "$tmp/usr/lib/emacsen-common/packages/remove") { + doit("install","-d","$tmp/usr/lib/emacsen-common/packages/remove"); } - doit("install","-m0755","$emacsen_remove","$TMP/usr/lib/emacsen-common/packages/remove/$PACKAGE"); + doit("install","-m0755","$emacsen_remove","$tmp/usr/lib/emacsen-common/packages/remove/$package"); } if ($emacsen_startup ne '') { - if (! -d "$TMP/etc/$dh{FLAVOR}/site-start.d/") { - doit("install","-d","$TMP/etc/$dh{FLAVOR}/site-start.d/"); + if (! -d "$tmp/etc/$dh{FLAVOR}/site-start.d/") { + doit("install","-d","$tmp/etc/$dh{FLAVOR}/site-start.d/"); } - doit("install","-m0644",$emacsen_startup,"$TMP/etc/$dh{FLAVOR}/site-start.d/$dh{PRIORITY}$PACKAGE.el"); + doit("install","-m0644",$emacsen_startup,"$tmp/etc/$dh{FLAVOR}/site-start.d/$dh{PRIORITY}$package.el"); } if ($emacsen_install ne '' || $emacsen_remove ne '') { if (! $dh{NOSCRIPTS}) { - autoscript($PACKAGE,"postinst","postinst-emacsen", - "s/#PACKAGE#/$PACKAGE/"); - autoscript($PACKAGE,"prerm","prerm-emacsen", - "s/#PACKAGE#/$PACKAGE/"); + autoscript($package,"postinst","postinst-emacsen", + "s/#PACKAGE#/$package/"); + autoscript($package,"prerm","prerm-emacsen", + "s/#PACKAGE#/$package/"); } } -} +} + +=head1 SEE ALSO + +L + +This program is a part of debhelper. + +=head1 AUTHOR + +Joey Hess + +=cut