Bug#340761: apache2 debian/rules missing many set -e
Package: apache2
Version: 2.0.55-3
The rules file has many many `for' loops in it, none of which have
`set -e'. This means that if any error occurs, the build doesn't
notice and just blunders on.
Attached is a diff to correct this. The diff was made against
2.0.54-5ubuntu2 but it should be straightforward to do the same thing
to any other similar package. The basic rule is to replace
every occurrence of \n\tfor\x20 with \n\tset\x20-e;\x20for\x20.
Thanks,
Ian.
--- orig/apache2-2.0.54/debian/rules 2005-11-25 16:55:29.000000000 +0000
+++ apache2-2.0.54/debian/rules 2005-11-25 17:57:50.000000000 +0000
@@ -87,7 +87,7 @@
configure: $(STAMP_DIR)/configure
$(STAMP_DIR)/configure: $(STAMP_DIR)/source.make
- for i in config.guess config.sub ltmain.sh; do \
+ set -e; for i in config.guess config.sub ltmain.sh; do \
for j in $$(find $(B)/ -name $$i); do \
cp /usr/share/libtool/$$i $$j; \
done; \
@@ -98,13 +98,13 @@
build: $(STAMP_DIR)/build-mpms
$(STAMP_DIR)/build-mpms: $(STAMP_DIR)/configure
dh_testdir
- for i in $(FIRSTMPM); do \
+ set -e; for i in $(FIRSTMPM); do \
mkdir -p $(BUILD)/$$i ;\
cd $(BUILD)/$$i && ac_cv_prog_AWK=mawk CFLAGS="$(AP2_CONFLAGS)" LDFLAGS="$(AP2_LDFLAGS)" $(REALCURDIR)/$(B)/configure --srcdir=$(REALCURDIR)/$(B) $(AP2_COMMON_CONFARGS) $(AP2_CONFARGS) --with-mpm=$$i ;\
$(MAKE); \
cd $(REALCURDIR);\
done
- for i in $(OTHERMPMS) $(PREFORKMPM); do \
+ set -e; for i in $(OTHERMPMS) $(PREFORKMPM); do \
mkdir -p $(BUILD)/$$i ;\
cd $(BUILD)/$$i && ac_cv_prog_AWK=mawk CFLAGS="$(AP2_CONFLAGS)" LDFLAGS="$(AP2_LDFLAGS)" $(REALCURDIR)/$(B)/configure --srcdir=$(REALCURDIR)/$(B) $(AP2_COMMON_CONFARGS) --with-mpm=$$i ;\
$(MAKE); \
@@ -119,7 +119,7 @@
rm -rf $(BUILD)
$(MAKE) -f debian/sys-build.mk source.clean
rm -rf debian/stampdir debian.diff
- for i in $(FIRSTMPM) $(OTHERMPMS); do \
+ set -e; for i in $(FIRSTMPM) $(OTHERMPMS); do \
rm -f debian/apache2-mpm-$$i.postinst ;\
rm -f debian/apache2-mpm-$$i.prerm ;\
rm -f debian/apache2-mpm-$$i.preinst ;\
@@ -135,11 +135,11 @@
$(STAMP_DIR)/inst-mpms: build
dh_clean -k
dh_installdirs
- for i in $(FIRSTMPM) $(PREFORKMPM); do \
+ set -e; for i in $(FIRSTMPM) $(PREFORKMPM); do \
cd $(BUILD)/$$i && $(MAKE) DESTDIR=$(REALCURDIR)/debian/apache2-mpm-$$i install ; \
cd $(REALCURDIR) ; \
done
- for i in $(OTHERMPMS); do \
+ set -e; for i in $(OTHERMPMS); do \
$(INSTALL) -d $(REALCURDIR)/debian/apache2-mpm-$$i/usr/sbin/; \
cd $(BUILD)/$$i && $(LIBTOOL) --mode=install $(INSTALL) apache2 $(REALCURDIR)/debian/apache2-mpm-$$i/usr/sbin/ ; \
cd $(REALCURDIR) ; \
@@ -161,7 +161,7 @@
rm -f debian/apache2-mpm-worker/usr/bin/apr-config debian/apache2-mpm-worker/usr/bin/apu-config
#install apache2 dev stuff
- for i in $(PREFORKMPM) $(FIRSTMPM); do \
+ set -e; for i in $(PREFORKMPM) $(FIRSTMPM); do \
if [ "$$i" = "prefork" ]; then \
TARGET=prefork;\
else\
@@ -245,7 +245,7 @@
rm -r debian/apache2-mpm-worker/usr/lib/cgi-bin/
# chmod +x debian/apache2-common/usr/lib/cgi-bin/*
chmod u+x debian/apache2*/usr/sbin/*
- for i in `find debian/a2-scripts -name .svn -prune -o -name .arch-ids -prune -o -type f -print`; \
+ set -e; for i in `find debian/a2-scripts -name .svn -prune -o -name .arch-ids -prune -o -type f -print`; \
do install -m755 $$i debian/apache2-common/usr/sbin; \
done
cp debian/default-site debian/apache2-common/etc/apache2/sites-available/default
@@ -262,11 +262,11 @@
mkdir debian/apache2-mpm-prefork/usr/sbin/
mv debian/apache2-mpm-prefork/usr/apache2 debian/apache2-mpm-prefork/usr/sbin/apache2
# EOH
- for i in $(THREADEDMPMS) ; do \
+ set -e; for i in $(THREADEDMPMS) ; do \
cp debian/mpm-postinst-threaded debian/apache2-mpm-$$i.postinst ; \
cp debian/mpm-preinst-threaded debian/apache2-mpm-$$i.preinst ; \
done
- for i in $(THREADEDMPMS) $(PREFORKMPM); do \
+ set -e; for i in $(THREADEDMPMS) $(PREFORKMPM); do \
cp debian/mpms.prerm debian/apache2-mpm-$$i.prerm; \
done
cp debian/init-script debian/apache2-common.init.d
Reply to: