]> git.donarmstrong.com Git - debhelper.git/blob - dh_installdebfiles
r8: Initial Import
[debhelper.git] / dh_installdebfiles
1 #!/bin/sh -e
2 #
3 # Install files from debian/ into the package's DEBIAN directory.
4 # Also generates the control file.
5
6 PATH=debian:$PATH:/usr/lib/debhelper
7 source dh_lib
8
9 for PACKAGE in $DH_DOPACKAGES; do
10         TMP=`tmpdir $PACKAGE`
11         EXT=`pkgext $PACKAGE`
12
13         if [ ! -d debian/$TMP/DEBIAN ]; then
14                 doit "install -o root -g root -d debian/$TMP/DEBIAN"
15         fi
16
17         # Install debian install scripts.
18         # If any .debhelper files exist, add them into the scripts.
19         for file in postinst preinst prerm postrm; do
20                 if [ -f debian/$EXT$file ]; then
21                         # Add this into the script, where it has #DEBHELPER#
22                         if [ -f debian/$EXT$file.debhelper ]; then
23                                 verbose_echo "perl -pe \"s~#DEBHELPER#~qx{cat debian/$EXT$file.debhelper}~eg\" < debian/$EXT$file > debian/$TMP/DEBIAN/$EXT$file"
24                                 perl -pe "s~#DEBHELPER#~qx{cat debian/$EXT$file.debhelper}~eg" < debian/$EXT$file > debian/$TMP/DEBIAN/$EXT$file
25                                 doit "chown root.root debian/$TMP/DEBIAN/$EXT$file"
26                                 doit "chmod 755 debian/$TMP/DEBIAN/$EXT$file"
27                         else
28                                 doit "install -o root -g root -p debian/$EXT$file debian/$TMP/DEBIAN/"
29                         fi
30                 else
31                         # Auto-generate script header and add .debhelper
32                         # content to it.
33                         if [ -f debian/$EXT$file.debhelper ]; then
34                                 verbose_echo "echo '#!/bin/sh -e' > debian/$TMP/DEBIAN/$EXT$file"
35                                 echo '#!/bin/sh -e' > debian/$TMP/DEBIAN/$EXT$file
36                                 verbose_echo "cat debian/$EXT$file.debhelper >> debian/$TMP/DEBIAN/$EXT$file"
37                                 cat debian/$EXT$file.debhelper >> debian/$TMP/DEBIAN/$EXT$file
38                                 doit "chown root.root debian/$TMP/DEBIAN/$EXT$file"
39                                 doit "chmod 755 debian/$TMP/DEBIAN/$EXT$file"
40                         fi
41                 fi
42         done
43
44         # Install non-executable files
45         for file in shlibs conffiles; do
46                 if [ -f debian/$EXT$file ]; then
47                         doit "install -o root -g root -m 644 -p debian/$EXT$file debian/$TMP/DEBIAN"
48                 fi                                               
49         done
50
51         # Run dpkg-shlibdeps to generate dependancies.
52         filelist=""
53         for file in `find debian/$TMP -type f \( -perm +111 -or -name "*.so*" \) | tr "\n" " "` ; do
54                 case "`file $file`" in
55                         *ELF*)
56                                 filelist="$file $filelist"
57                         ;;
58                 esac
59         done
60         if [ "$filelist" ]; then
61                 doit "dpkg-shlibdeps -Tdebian/${EXT}substvars $filelist"
62         fi
63
64         # Generate and install control file.
65         doit "dpkg-gencontrol -p$PACKAGE -Tdebian/${EXT}substvars -Pdebian/$TMP"
66         doit "chown root.root debian/$TMP/DEBIAN/control"
67 done