1
0
Fork 0
exim4/debian/create-custom-package
Daniel Baumann b6ead8c0a5
Adding debian version 4.98.2-1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-21 14:27:17 +02:00

95 lines
2.3 KiB
Bash
Executable file

#!/bin/bash
set -e
if [ -n "$EX4DEBUG" ]; then
echo "now debugging $0 $@"
set -x
fi
dh_testdir
if [ -z "$(command -v grep-dctrl)" ] || ! [ -x "$(command -v 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