diff options
author | joey <joey> | 1999-09-17 19:30:53 +0000 |
---|---|---|
committer | joey <joey> | 1999-09-17 19:30:53 +0000 |
commit | 7031da0530b1e133510a4e0f00e360f796c3f5eb (patch) | |
tree | 69ad118f372fd957619fda5b9e1e8d113f4e3c10 /dh_installdeb | |
parent | cb8f0d2cdfaddd01b97197968fcfcacc4f156506 (diff) |
r279: * dh_shlibdeps: detect statically linked binaries and don't pass them to
dpkg-shlibdeps.
* dh_installdeb: debconf support.
Diffstat (limited to 'dh_installdeb')
-rwxr-xr-x | dh_installdeb | 77 |
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"); + } + } +} |