/usr/bin/dh_installemacsen is in debhelper 9.20160115ubuntu3.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | #!/usr/bin/perl
=head1 NAME
dh_installemacsen - register an Emacs add on package
=cut
use strict;
use warnings;
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
B<dh_installemacsen> is a debhelper program that is responsible for installing
files used by the Debian B<emacsen-common> package into package build
directories.
It also automatically generates the F<preinst> F<postinst> and F<prerm>
commands needed to register a package as an Emacs add on package. The commands
are added to the maintainer scripts by B<dh_installdeb>. See
L<dh_installdeb(1)> for an explanation of how this works.
=head1 FILES
=over 4
=item debian/I<package>.emacsen-compat
Installed into F<usr/lib/emacsen-common/packages/compat/package> in the
package build directory.
=item debian/I<package>.emacsen-install
Installed into F<usr/lib/emacsen-common/packages/install/package> in the
package build directory.
=item debian/I<package>.emacsen-remove
Installed into F<usr/lib/emacsen-common/packages/remove/package> in the
package build directory.
=item debian/I<package>.emacsen-startup
Installed into etc/emacs/site-start.d/50I<package>.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<postinst>/F<prerm> scripts.
=item B<--priority=>I<n>
Sets the priority number of a F<site-start.d> file. Default is 50.
=item B<--flavor=>I<foo>
Sets the flavor a F<site-start.d> file will be installed in. Default is
B<emacs>, alternatives include B<xemacs> and B<emacs20>.
=back
=head1 NOTES
Note that this command is not idempotent. L<dh_prep(1)> 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;
}
if (! defined $dh{FLAVOR}) {
$dh{FLAVOR}='emacs';
}
# PROMISE: DH NOOP WITHOUT emacsen-common emacsen-install emacsen-remove emacsen-startup
foreach my $package (@{$dh{DOPACKAGES}}) {
my $tmp=tmpdir($package);
my $emacsen_compat=pkgfile($package,"emacsen-compat");
my $emacsen_install=pkgfile($package,"emacsen-install");
my $emacsen_remove=pkgfile($package,"emacsen-remove");
my $emacsen_startup=pkgfile($package,"emacsen-startup");
if ($emacsen_compat ne '') {
if (! -d "$tmp/usr/lib/emacsen-common/packages/compat") {
install_dir("$tmp/usr/lib/emacsen-common/packages/compat");
}
install_file($emacsen_compat,
"$tmp/usr/lib/emacsen-common/packages/compat/$package");
}
if ($emacsen_install ne '') {
if (! -d "$tmp/usr/lib/emacsen-common/packages/install") {
install_dir("$tmp/usr/lib/emacsen-common/packages/install");
}
install_prog($emacsen_install,"$tmp/usr/lib/emacsen-common/packages/install/$package");
}
if ($emacsen_remove ne '') {
if (! -d "$tmp/usr/lib/emacsen-common/packages/remove") {
install_dir("$tmp/usr/lib/emacsen-common/packages/remove");
}
install_prog("$emacsen_remove","$tmp/usr/lib/emacsen-common/packages/remove/$package");
}
if ($emacsen_startup ne '') {
if (! -d "$tmp/etc/$dh{FLAVOR}/site-start.d/") {
install_dir("$tmp/etc/$dh{FLAVOR}/site-start.d/");
}
install_file($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,"preinst","preinst-emacsen",
"s/#PACKAGE#/$package/g");
autoscript($package,"postinst","postinst-emacsen",
"s/#PACKAGE#/$package/g");
autoscript($package,"prerm","prerm-emacsen",
"s/#PACKAGE#/$package/g");
}
}
}
=head1 SEE ALSO
L<debhelper(7)>
L</usr/share/doc/emacsen-common/debian-emacs-policy.gz>
This program is a part of debhelper.
=head1 AUTHOR
Joey Hess <joeyh@debian.org>
=cut
# Local Variables:
# indent-tabs-mode: t
# tab-width: 4
# cperl-indent-level: 4
# End:
|