diff options
author | David Bremner <david@tethera.net> | 2015-07-17 18:38:13 +0200 |
---|---|---|
committer | David Bremner <david@tethera.net> | 2015-07-17 18:38:13 +0200 |
commit | 7bbfed658b723a39a0a81811f1e7734d14205ce7 (patch) | |
tree | fdb1aa7340d632401ce4e654c2c76e388b8efe6a | |
parent | cba6b313f0b1c4d324692f6fe74c37c190091642 (diff) |
auto-installation of helper scripts
This means no fancy predepends are needed because we just copy the
scripts in at build time. Of course bug fixes for the helper scripts
require package rebuilds.
-rw-r--r-- | debian/install | 1 | ||||
-rwxr-xr-x | dh_elpa | 31 |
2 files changed, 32 insertions, 0 deletions
diff --git a/debian/install b/debian/install index e772481..f546eeb 100644 --- a/debian/install +++ b/debian/install @@ -1 +1,2 @@ usr/bin +emacsen-common usr/share/debhelper/dh_elpa @@ -75,6 +75,25 @@ sub doit_quietly { } +my $templatedir = "/usr/share/debhelper/dh_elpa/emacsen-common"; + +sub maybe_install_helper{ + my ($package,$piece)=@_; + my $file=pkgfile($package,"emacsen-$piece"); + + my $tmp=tmpdir($package); + my $ecdest="$tmp/usr/lib/emacsen-common/packages"; + + # if there is file, leave it for dh_installemacsen + if ($file eq '') { + if (! -d "$ecdest/$piece") { + doit("install","-d","$ecdest/$piece"); + } + doit("install","-m0755","$templatedir/$piece", + "$ecdest/$piece/$package"); + } +} + $dh{BYTECOMPILE} = 1 unless defined($dh{BYTECOMPILE}); my $elpadir; @@ -90,6 +109,18 @@ foreach my $package (@{$dh{DOPACKAGES}}) { my $tmp=tmpdir($package); my $file=pkgfile($package,"elpa"); + if ($dh{BYTECOMPILE}) { + foreach my $piece (qw{compat install remove}) { + maybe_install_helper($package,$piece); + } + if (! $dh{NOSCRIPTS}) { + autoscript($package,"postinst","postinst-emacsen", + "s/#PACKAGE#/$package/"); + autoscript($package,"prerm","prerm-emacsen", + "s/#PACKAGE#/$package/"); + } + } + my $elpapkg=$package; # TODO do this more sanely or at least allow an override $elpapkg =~ s/^elpa-//; |