1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
#!/bin/bash
set -e
if [ -n "$EX4DEBUG" ]; then
echo "now debugging $0 $@"
set -x
fi
dh_testdir
if [ -z "$(which grep-dctrl)" ] || ! [ -x "$(which grep-dctrl)" ]; then
echo >&2 "ERR: no grep-dctrl binary"
exit 1
fi
fakeroot debian/rules clean
if [ -n "$1" ]; then
PACKAGESUFFIX="$1"
fi
#DEBUG=1
dh_testdir
cd debian
replacepkgname() {
sed -e "s/exim4-daemon-custom/exim4-daemon-$PACKAGESUFFIX/g;\
s/exim4-custom/exim4-$PACKAGESUFFIX/g"
}
copytextreplace() {
FILE="$1"
DSTFILE="$2"
if [ -z "$DSTFILE" ]; then
echo >&2 "no destination file given to copytextreplace $FILE"
exit 1
fi
[ $DEBUG ] && echo >&2 "DBG: source $FILE"
[ $DEBUG ] && echo >&2 "DBG: dst $DSTFILE"
if ! [ -e "$DSTFILE" ]; then
< $FILE replacepkgname > $DSTFILE
chmod --reference=$FILE $DSTFILE
else
echo >&2 "ERR: can't write to $DSTFILE, file exists"
exit 1
fi
}
NEEDEDFILES="exim4-daemon-custom.* rules control"
for file in $NEEDEDFILES; do
if ! [ -e $file ]; then
echo >&2 "ERR: $file does not exist, not starting"
exit 1
fi
done
# the grep-dctrl|grep construct is necessary on woody,
# since woody grep-dctrl does not give sensible return values.
if grep-dctrl --field=Package exim4-daemon-$PACKAGESUFFIX control | \
grep -q '^Package:'; then
echo >&2 "ERR: there is already a debian/control entry for exim4-daemon-$PACKAGESUFFIX, not starting"
exit 1
fi
if grep -q exim4-daemon-$PACKAGESUFFIX rules; then
echo >&2 "ERR: exim4-daemon-$PACKAGESUFFIX already mentioned in debian/rules, not starting"
exit 1
fi
for file in exim4-daemon-custom.* ; do
copytextreplace $file ${file/exim4-daemon-custom/exim4-daemon-$PACKAGESUFFIX}
done
echo >> control
grep-dctrl --field=Package exim4-daemon-custom control | \
replacepkgname >> control
< rules sed "/^builddaemonpackages/ \
{s/^builddaemonpackages=/builddaemonpackages=exim4-daemon-$PACKAGESUFFIX /; \
}" > rules.new
echo >> rules.new
< rules sed -n "\
/^build-exim4-daemon-custom/,/^[^[:space:]]/ \
{ \
s/exim4-daemon-custom/exim4-daemon-$PACKAGESUFFIX/; \
s/exim4-custom/exim4-$PACKAGESUFFIX/; \
/^build-exim4-daemon-$PACKAGESUFFIX/p;
/^[^[:space:]]/d; \
p; \
}" \
>> rules.new
chmod --reference=rules rules.new
mv rules.new rules
|