X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_installemacsen;h=ee6421229ba27e1ccf5b0feb1bc0b9f1347d5206;hb=fb8f18f4a98669c3b85e1bd7920fbabfc00b886e;hp=8d8982c3fd60530f49d4f410cffb3a80159c0459;hpb=67b74298f08a3e2b30e43cbcd7cdaccc2e1b1614;p=debhelper.git diff --git a/dh_installemacsen b/dh_installemacsen index 8d8982c..ee64212 100755 --- a/dh_installemacsen +++ b/dh_installemacsen @@ -1,9 +1,80 @@ #!/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 + +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 +register a package as an Emacs add on package. The commands are added to +the maintainer scripts by B. See L +for an explanation of how this works. + +=head1 FILES + +=over 4 + +=item debian/I.emacsen-install + +Installed into F in the +package build directory. + +=item debian/I.emacsen-remove + +Installed into F in the +package build directory. + +=item debian/I.emacsen-startup + +Installed into etc/emacs/site-start.d/50I.el in the package +build directory. Use B<--priority> to use a different priority than 50. + +=back + +=head1 OPTIONS + +=over 4 + +=item B<-n>, B<--noscripts> + +Do not modify F/F scripts. + +=item B<--priority=>I + +Sets the priority number of a F file. Default is 50. + +=item B<--flavor=>I + +Sets the flavor a F file will be installed in. Default is +B, alternatives include B and B. + +=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 +83,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