[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: