diff options
Diffstat (limited to 'dh_installemacsen')
-rwxr-xr-x | dh_installemacsen | 120 |
1 files changed, 93 insertions, 27 deletions
diff --git a/dh_installemacsen b/dh_installemacsen index 3fbaf8ba..80b83e69 100755 --- a/dh_installemacsen +++ b/dh_installemacsen @@ -1,52 +1,118 @@ #!/usr/bin/perl -w -# -# Registration with emacsen-common. -BEGIN { push @INC, "debian", "/usr/share/debhelper" } -use Dh_Lib; +=head1 NAME + +dh_installemacsen - register an emacs add on package + +=cut + +use strict; +use Debian::Debhelper::Dh_Lib; + +=head1 SYNOPSIS + +B<dh_installemacsen> [S<I<debhelper options>>] [B<-n>] [B<--priority=>I<n>] [B<--flavor=>I<foo>] + +=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. See L<dh_installdeb(1)> +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<package>.el (by default). + +=head1 OPTIONS + +=over 4 + +=item B<-n>, B<--noscripts> + +Do not modify postinst/prerm scripts. + +=item B<--priority=>I<n> + +Sets the priority number of a site-start.d file. Default is 50. + +=item B<--flavor=>I<foo> + +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. "dh_clean -k" 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(); -if (! defined $dh{number}) { - $dh{number}=50; +if (! defined $dh{PRIORITY}) { + $dh{PRIORITY}=50; } -if (! defined $dh{flavor}) { - $dh{flavor}='emacs'; +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{number}$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<debhelper(7)> + +This program is a part of debhelper. + +=head1 AUTHOR + +Joey Hess <joeyh@debian.org> + +=cut |