path: root/dh_installemacsen
diff options
authorModestas Vainius <>2013-11-03 14:28:43 +0200
committerModestas Vainius <>2013-11-03 20:53:12 +0200
commit4d4cd67eff53dd8bba739d3f38e1ba38a9ba4f11 (patch)
tree03e71cc1d415ffd665c3381ee9b7659cdbf81d43 /dh_installemacsen
parent81cce9aebd34bfee91a217ed603f29fa29a5a998 (diff)
Update dh_installemacsen for emacsen-common 2.0.
Update dh_installemacsen and related scripts to follow /usr/share/doc/emacsen-common/debian-emacs-policy.gz as of emacsen-common package version 2.0.5. The changes include: * Install debian/package.emacsen-compat into usr/lib/emacsen-common/packages/compat/package if present * All maintainer scripts test for existance of /var/lib/emacsen-common/state/package/installed/emacsen-common as mandated by policy. * Generate and install preinst maintainer script if needed.
Diffstat (limited to 'dh_installemacsen')
1 files changed, 21 insertions, 5 deletions
diff --git a/dh_installemacsen b/dh_installemacsen
index 92037f2..b2ee142 100755
--- a/dh_installemacsen
+++ b/dh_installemacsen
@@ -19,15 +19,20 @@ B<dh_installemacsen> is a debhelper program that is responsible for installing
files used by the Debian B<emacsen-common> package into package build
-It also automatically generates the 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.
+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
@@ -83,15 +88,23 @@ if (! defined $dh{FLAVOR}) {
-# PROMISE: DH NOOP WITHOUT emacsen-install emacsen-remove emacsen-startup
+# 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") {
+ doit("install","-d","$tmp/usr/lib/emacsen-common/packages/compat");
+ }
+ doit("install","-m0644",$emacsen_compat,"$tmp/usr/lib/emacsen-common/packages/compat/$package");
+ }
if ($emacsen_install ne '') {
if (! -d "$tmp/usr/lib/emacsen-common/packages/install") {
@@ -115,6 +128,8 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
if ($emacsen_install ne '' || $emacsen_remove ne '') {
if (! $dh{NOSCRIPTS}) {
+ autoscript($package,"preinst","preinst-emacsen",
+ "s/#PACKAGE#/$package/");
@@ -126,6 +141,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
=head1 SEE ALSO
This program is a part of debhelper.