From 7031da0530b1e133510a4e0f00e360f796c3f5eb Mon Sep 17 00:00:00 2001 From: joey Date: Fri, 17 Sep 1999 19:30:53 +0000 Subject: r279: * dh_shlibdeps: detect statically linked binaries and don't pass them to dpkg-shlibdeps. * dh_installdeb: debconf support. --- debian/changelog | 1 + dh_installdeb | 77 +++++++++++++++++++++++++++++++------------------------- dh_installdeb.1 | 2 ++ 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 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, -- cgit v1.2.3