summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoey <joey>1999-09-17 19:30:53 +0000
committerjoey <joey>1999-09-17 19:30:53 +0000
commit7031da0530b1e133510a4e0f00e360f796c3f5eb (patch)
tree69ad118f372fd957619fda5b9e1e8d113f4e3c10
parentcb8f0d2cdfaddd01b97197968fcfcacc4f156506 (diff)
r279: * dh_shlibdeps: detect statically linked binaries and don't pass them to
dpkg-shlibdeps. * dh_installdeb: debconf support.
-rw-r--r--debian/changelog1
-rwxr-xr-xdh_installdeb77
-rw-r--r--dh_installdeb.12
3 files changed, 46 insertions, 34 deletions
diff --git a/debian/changelog b/debian/changelog
index 31ee561a..598cc4a6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ debhelper (2.0.49) unstable; urgency=low
* dh_shlibdeps: detect statically linked binaries and don't pass them to
dpkg-shlibdeps.
+ * dh_installdeb: debconf support.
-- Joey Hess <joeyh@master.debian.org> Fri, 17 Sep 1999 00:28:59 -0700
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");
+ }
+ }
+}
diff --git a/dh_installdeb.1 b/dh_installdeb.1
index 0ae45641..d0f81487 100644
--- a/dh_installdeb.1
+++ b/dh_installdeb.1
@@ -17,6 +17,8 @@ the DEBIAN directory:
prerm
shlibs
conffiles
+ config
+ templates
.P
(For packages other than the first binary package listed in debian/control,
you must prefix these filenames with then name of the "package.", for example,