summaryrefslogtreecommitdiff
path: root/dh_installdeb
diff options
context:
space:
mode:
Diffstat (limited to 'dh_installdeb')
-rwxr-xr-xdh_installdeb77
1 files changed, 43 insertions, 34 deletions
diff --git a/dh_installdeb b/dh_installdeb
index 43aca902..fa45cd6f 100755
--- a/dh_installdeb
+++ b/dh_installdeb
@@ -1,46 +1,55 @@
-#!/bin/sh -e
+#!/usr/bin/perl -w
#
# Install files from debian/ into the package's DEBIAN directory.
-PATH=debian:$PATH:/usr/lib/debhelper
-. dh_lib
+BEGIN { push @INC, "debian", "/usr/share/debhelper" }
+use Dh_Lib;
+init();
-for PACKAGE in $DH_DOPACKAGES; do
- TMP=`tmpdir $PACKAGE`
- EXT=`pkgext $PACKAGE`
+foreach $PACKAGE (@{$dh{DOPACKAGES}}) {
+ $TMP=tmpdir($PACKAGE);
+ $EXT=pkgext($PACKAGE);
- if [ ! -d $TMP/DEBIAN ]; then
- doit "install -o root -g root -d $TMP/DEBIAN"
- fi
+ if (! -d "$TMP/DEBIAN") {
+ doit("install","-o","root","-g","root","-d","$TMP/DEBIAN");
+ }
# Install debian install scripts.
# If any .debhelper files exist, add them into the scripts.
- for file in postinst preinst prerm postrm; do
- if [ -f debian/$EXT$file ]; then
- # Add this into the script, where it has #DEBHELPER#
- if [ -f debian/$EXT$file.debhelper ]; then
- complex_doit "perl -pe 's~#DEBHELPER#~qx{cat debian/$EXT$file.debhelper}~eg' < debian/$EXT$file > $TMP/DEBIAN/$file"
- doit "chown root.root $TMP/DEBIAN/$file"
- doit "chmod 755 $TMP/DEBIAN/$file"
- else
- doit "install -o root -g root -p debian/$EXT$file $TMP/DEBIAN/$file"
- fi
- else
+ foreach $file (qw{postinst preinst prerm postrm config}) {
+ $f=pkgfile($PACKAGE,$file);
+ if ($f) {
+ if (-f "debian/$EXT$file.debhelper") {
+ # Add this into the script, where it has
+ # #DEBHELPER#
+ # TODO: do internally, no perl fork?
+ complex_doit("perl -pe 's~#DEBHELPER#~qx{cat debian/$EXT$file.debhelper}~eg' < $f > $TMP/DEBIAN/$file");
+ }
+ else {
+ # Just get rid of any #DEBHELPER# in the
+ # script.
+ complex_doit("sed s/#DEBHELPER#// < $f > $TMP/DEBIAN/$file");
+ }
+ doit("chown","root.root","$TMP/DEBIAN/$file");
+ doit("chmod",755,"$TMP/DEBIAN/$file");
+ }
+ else {
# Auto-generate script header and add .debhelper
# content to it.
- if [ -f debian/$EXT$file.debhelper ]; then
- complex_doit "echo '#!/bin/sh -e' > $TMP/DEBIAN/$file"
- complex_doit "cat debian/$EXT$file.debhelper >> $TMP/DEBIAN/$file"
- doit "chown root.root $TMP/DEBIAN/$file"
- doit "chmod 755 $TMP/DEBIAN/$file"
- fi
- fi
- done
+ if (-f "debian/$EXT$file.debhelper") {
+ complex_doit("echo '#!/bin/sh -e' > $TMP/DEBIAN/$file");
+ complex_doit("cat debian/$EXT$file.debhelper >> $TMP/DEBIAN/$file");
+ doit("chown","root.root","$TMP/DEBIAN/$file");
+ doit("chmod",755,"$TMP/DEBIAN/$file");
+ }
+ }
+ }
# Install non-executable files
- for file in shlibs conffiles; do
- if [ -f debian/$EXT$file ]; then
- doit "install -o root -g root -m 644 -p debian/$EXT$file $TMP/DEBIAN/$file"
- fi
- done
-done
+ foreach $file (qw{shlibs conffiles templates}) {
+ $f=pkgfile($PACKAGE,$file);
+ if ($f) {
+ doit("install","-o","root","-g","root","-m",644,"-p",$f,"$TMP/DEBIAN/$file");
+ }
+ }
+}