#!/usr/bin/perl -w =head1 NAME dh_installemacsen - register an emacs add on package =cut use strict; use Debian::Debhelper::Dh_Lib; =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. 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. "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{PRIORITY}) { $dh{PRIORITY}=50; } if (! defined $dh{FLAVOR}) { $dh{FLAVOR}='emacs'; } foreach my $package (@{$dh{DOPACKAGES}}) { my $tmp=tmpdir($package); 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"); } 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"); } 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/"); } 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/"); } } } =head1 SEE ALSO L This program is a part of debhelper. =head1 AUTHOR Joey Hess =cut