From 7bbfed658b723a39a0a81811f1e7734d14205ce7 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Fri, 17 Jul 2015 18:38:13 +0200 Subject: 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. --- debian/install | 1 + dh_elpa | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) 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 diff --git a/dh_elpa b/dh_elpa index e742d86..617c6f5 100755 --- a/dh_elpa +++ b/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-//; -- cgit v1.2.3