Most of the slony makefiles do not check the errors of the subcommands 
in a for loop.  This is almost always a mistake because errors in the 
build go undetected except by those who can read really fast.  Here is 
a patch.

-- 
Peter Eisentraut
http://developer.postgresql.org/~petere/
diff -Nur slony1-1.1.2/doc/adminguide/Makefile slony1-1.1.2.new/doc/adminguide/Makefile
--- slony1-1.1.2/doc/adminguide/Makefile	2005-12-22 13:02:47.000000000 +0100
+++ slony1-1.1.2.new/doc/adminguide/Makefile	2005-12-22 13:02:48.000000000 +0100
@@ -73,16 +73,16 @@
 install: installdirs
 ifdef DOCDIR
 	for file in $(wildcard $(srcdir)/*.sgml) ; do \
-	  $(INSTALL_DATA) $$file $(DOCDIR)/sgml; \
+	  $(INSTALL_DATA) $$file $(DOCDIR)/sgml || exit; \
 	done
 	for file in $(wildcard man1/*) ; do \
-	   $(INSTALL_DATA) $$file $(DOCDIR)/man1 ;\
+	   $(INSTALL_DATA) $$file $(DOCDIR)/man1 || exit;\
 	done
 	for file in $(wildcard man$(DEFAULTSECTION)/*) ; do \
-	  $(INSTALL_DATA) $$file $(DOCDIR)/man$(DEFAULTSECTION) ;\
+	  $(INSTALL_DATA) $$file $(DOCDIR)/man$(DEFAULTSECTION) || exit ;\
 	done
 	for file in $(wildcard *.html) stylesheet.css ; do \
-	  $(INSTALL_DATA) $$file $(DOCDIR)/html ;\
+	  $(INSTALL_DATA) $$file $(DOCDIR)/html || exit;\
 	done
 endif
 
@@ -269,6 +269,6 @@
 	mkdir -p $(distdir)/$(subdir)
 	-chmod 777 $(distdir)/$(subdir)
 	@for file in $(DISTFILES) ; do \
-		cp $$file $(distdir)/$(subdir)/$$file ; \
+		cp $$file $(distdir)/$(subdir)/$$file || exit; \
 	done
 
diff -Nur slony1-1.1.2/doc/concept/Makefile slony1-1.1.2.new/doc/concept/Makefile
--- slony1-1.1.2/doc/concept/Makefile	2005-12-22 13:02:46.000000000 +0100
+++ slony1-1.1.2.new/doc/concept/Makefile	2005-12-22 13:02:48.000000000 +0100
@@ -50,7 +50,7 @@
 install: installdirs all
 ifdef DOCDIR
 	for file in $(PS) $(PDF) $(TXT) Slon_$(IMG_WID)x$(IMG_HT).jpg ; do \
-	  $(INSTALL_DATA) $$file $(DOCDIR)/concept ; \
+	  $(INSTALL_DATA) $$file $(DOCDIR)/concept || exit; \
 	done
 endif
 
@@ -126,6 +126,6 @@
 	mkdir $(distdir)/$(subdir)
 	-chmod 777 $(distdir)/$(subdir)
 	for file in $(DISTFILES) ; do \
-      cp $$file $(distdir)/$(subdir)/$$file ; \
+      cp $$file $(distdir)/$(subdir)/$$file || exit; \
     done
 
diff -Nur slony1-1.1.2/doc/howto/Makefile slony1-1.1.2.new/doc/howto/Makefile
--- slony1-1.1.2/doc/howto/Makefile	2005-12-22 13:02:46.000000000 +0100
+++ slony1-1.1.2.new/doc/howto/Makefile	2005-12-22 13:02:48.000000000 +0100
@@ -15,7 +15,7 @@
 	mkdir -p $(distdir)/$(subdir)
 	-chmod 777 $(distdir)/$(subdir)
 	for file in $(DISTFILES) ; do \
-      cp $$file $(distdir)/$(subdir)/$$file ; \
+      cp $$file $(distdir)/$(subdir)/$$file || exit; \
     done
 
 all:
@@ -28,6 +28,6 @@
 install: all installdirs
 ifdef DOCDIR
 	for file in $(wildcard *.txt) $(wildcard *.html ); do \
-	  $(INSTALL_DATA) $$file $(DOCDIR)/howto ; \
+	  $(INSTALL_DATA) $$file $(DOCDIR)/howto || exit; \
 	done
 endif
diff -Nur slony1-1.1.2/doc/implementation/Makefile slony1-1.1.2.new/doc/implementation/Makefile
--- slony1-1.1.2/doc/implementation/Makefile	2005-12-22 13:02:46.000000000 +0100
+++ slony1-1.1.2.new/doc/implementation/Makefile	2005-12-22 13:02:48.000000000 +0100
@@ -48,7 +48,7 @@
 install: all installdirs
 ifdef DOCDIR
 	for file in $(PS) $(PDF) $(TXT) Slon.eps Slon_$(IMG_WID)x$(IMG_HT).jpg ; do \
-	  $(INSTALL_DATA) $$file $(DOCDIR)/implementation ; \
+	  $(INSTALL_DATA) $$file $(DOCDIR)/implementation || exit; \
 	done
 endif
 
@@ -123,6 +123,6 @@
 	mkdir $(distdir)/$(subdir)
 	-chmod 777 $(distdir)/$(subdir)
 	for file in $(DISTFILES) ; do \
-      cp $$file $(distdir)/$(subdir)/$$file ; \
+      cp $$file $(distdir)/$(subdir)/$$file || exit; \
     done
 
diff -Nur slony1-1.1.2/doc/Makefile slony1-1.1.2.new/doc/Makefile
--- slony1-1.1.2/doc/Makefile	2005-12-22 13:02:46.000000000 +0100
+++ slony1-1.1.2.new/doc/Makefile	2005-12-22 13:02:48.000000000 +0100
@@ -17,7 +17,7 @@
 
 all clean distclean maintainer-clean install installdirs:
 	@for subdir in $(SUBDIRS) ; do \
-		$(MAKE) -C $$subdir $@ ; \
+		$(MAKE) -C $$subdir $@ || exit; \
 	done
 
 
@@ -25,10 +25,10 @@
 	mkdir -p $(distdir)/$(subdir)
 	-chmod 777 $(distdir)/$(subdir)
 	@for file in $(DISTFILES) ; do \
-		cp $$file $(distdir)/$(subdir)/$$file ; \
+		cp $$file $(distdir)/$(subdir)/$$file || exit; \
 	done
 	@for subdir in $(SUBDIRS) ; do \
-		$(MAKE) -C $$subdir distdir ; \
+		$(MAKE) -C $$subdir distdir || exit; \
 	done
 
 adminguide.tar:
diff -Nur slony1-1.1.2/GNUmakefile.in slony1-1.1.2.new/GNUmakefile.in
--- slony1-1.1.2/GNUmakefile.in	2005-12-22 13:02:46.000000000 +0100
+++ slony1-1.1.2.new/GNUmakefile.in	2005-12-22 13:02:48.000000000 +0100
@@ -52,7 +52,7 @@
 
 clean:
 	@for subdir in $(DEFAULTBUILDS) ; do \
-	  $(MAKE) -C $$subdir $@ ; \
+	  $(MAKE) -C $$subdir $@ || exit; \
     done ;\
       rm -f postgres.imp
 
diff -Nur slony1-1.1.2/share/Makefile slony1-1.1.2.new/share/Makefile
--- slony1-1.1.2/share/Makefile	2005-12-22 13:02:46.000000000 +0100
+++ slony1-1.1.2.new/share/Makefile	2005-12-22 13:02:48.000000000 +0100
@@ -24,5 +24,5 @@
 	mkdir $(distdir)/$(subdir)
 	-chmod 777 $(distdir)/$(subdir)
 	for file in $(DISTFILES) ; do \
-      cp $$file $(distdir)/$(subdir)/$$file ; \
+      cp $$file $(distdir)/$(subdir)/$$file || exit; \
     done
diff -Nur slony1-1.1.2/src/backend/Makefile slony1-1.1.2.new/src/backend/Makefile
--- slony1-1.1.2/src/backend/Makefile	2005-12-22 13:02:46.000000000 +0100
+++ slony1-1.1.2.new/src/backend/Makefile	2005-12-22 13:02:48.000000000 +0100
@@ -64,6 +64,6 @@
 	mkdir $(distdir)/$(subdir)
 	-chmod 777 $(distdir)/$(subdir)
 	for file in $(DISTFILES) ; do \
-      cp $$file $(distdir)/$(subdir)/$$file ; \
+      cp $$file $(distdir)/$(subdir)/$$file || exit; \
     done
 
diff -Nur slony1-1.1.2/src/ducttape/Makefile slony1-1.1.2.new/src/ducttape/Makefile
--- slony1-1.1.2/src/ducttape/Makefile	2005-12-22 13:02:46.000000000 +0100
+++ slony1-1.1.2.new/src/ducttape/Makefile	2005-12-22 13:03:00.000000000 +0100
@@ -30,13 +30,13 @@
 
 test:
 	for script in $(TESTS) ; do \
-	  ./$$script ; \
+	  ./$$script || exit; \
 	done
 
 distdir: $(DISTFILES)
 	mkdir $(distdir)/$(subdir)
 	-chmod 777 $(distdir)/$(subdir)
 	for file in $(DISTFILES) ; do \
-      cp $$file $(distdir)/$(subdir)/$$file ; \
+      cp $$file $(distdir)/$(subdir)/$$file || exit; \
     done
 
diff -Nur slony1-1.1.2/src/Makefile slony1-1.1.2.new/src/Makefile
--- slony1-1.1.2/src/Makefile	2005-12-22 13:02:46.000000000 +0100
+++ slony1-1.1.2.new/src/Makefile	2005-12-22 13:02:48.000000000 +0100
@@ -23,8 +23,8 @@
 	mkdir $(distdir)/$(subdir)
 	-chmod 777 $(distdir)/$(subdir)
 	@for file in $(DISTFILES) ; do \
-      cp $$file $(distdir)/$(subdir)/$$file ; \
+      cp $$file $(distdir)/$(subdir)/$$file || exit; \
     done
 	@for subdir in $(SUBDIRS) ; do \
-	  $(MAKE) -C $$subdir distdir ; \
+	  $(MAKE) -C $$subdir distdir || exit; \
     done
diff -Nur slony1-1.1.2/src/slon/Makefile slony1-1.1.2.new/src/slon/Makefile
--- slony1-1.1.2/src/slon/Makefile	2005-12-22 13:02:46.000000000 +0100
+++ slony1-1.1.2.new/src/slon/Makefile	2005-12-22 13:02:48.000000000 +0100
@@ -97,6 +97,6 @@
 	mkdir $(distdir)/$(subdir)
 	-chmod 777 $(distdir)/$(subdir)
 	for file in $(DISTFILES) ; do \
-      cp $$file $(distdir)/$(subdir)/$$file ; \
+      cp $$file $(distdir)/$(subdir)/$$file || exit; \
     done
 
diff -Nur slony1-1.1.2/src/slonik/Makefile slony1-1.1.2.new/src/slonik/Makefile
--- slony1-1.1.2/src/slonik/Makefile	2005-12-22 13:02:46.000000000 +0100
+++ slony1-1.1.2.new/src/slonik/Makefile	2005-12-22 13:02:48.000000000 +0100
@@ -78,6 +78,6 @@
 	mkdir $(distdir)/$(subdir)
 	-chmod 777 $(distdir)/$(subdir)
 	for file in $(DISTFILES) ; do \
-      cp $$file $(distdir)/$(subdir)/$$file ; \
+      cp $$file $(distdir)/$(subdir)/$$file || exit; \
     done
 
diff -Nur slony1-1.1.2/src/xxid/Makefile slony1-1.1.2.new/src/xxid/Makefile
--- slony1-1.1.2/src/xxid/Makefile	2005-12-22 13:02:46.000000000 +0100
+++ slony1-1.1.2.new/src/xxid/Makefile	2005-12-22 13:02:48.000000000 +0100
@@ -55,7 +55,7 @@
 	mkdir $(distdir)/$(subdir)
 	-chmod 777 $(distdir)/$(subdir)
 	for file in $(DISTFILES) ; do \
-      cp $$file $(distdir)/$(subdir)/$$file ; \
+      cp $$file $(distdir)/$(subdir)/$$file || exit; \
     done
 
 ifeq ($(PORTNAME), aix)
diff -Nur slony1-1.1.2/tools/altperl/Makefile slony1-1.1.2.new/tools/altperl/Makefile
--- slony1-1.1.2/tools/altperl/Makefile	2005-12-22 13:02:46.000000000 +0100
+++ slony1-1.1.2.new/tools/altperl/Makefile	2005-12-22 13:02:48.000000000 +0100
@@ -23,14 +23,15 @@
 	exit 1;
 endif
 	@for file in $(wildcard *.pl) $(wildcard *.pm); do \
-		tmpname=`echo $$file | $(SED) "s#\.p[lm]##"` ; \
+		tmpname=`echo $$file | $(SED) "s#\.p[lm]##"` && \
 		$(SED) -e "s#@@PERL@@#$(PERL)#;" \
                        -e "s#@@SYSCONFDIR@@#$(sysconfdir)#;" \
                        -e "s#@@PGLIBDIR@@#$(pglibdir)#;" \
                        -e "s#@@PGBINDIR@@#$(pgbindir)#;" \
                        -e "s#@@TOOLSBIN@@#$(toolsbin)#;" \
-                       $$file > $$tmpname; \
-		chmod 755 $$tmpname; \
+                       $$file > $$tmpname && \
+		chmod 755 $$tmpname \
+		|| exit; \
 	done
 endif
 
@@ -41,8 +42,9 @@
 	$(INSTALL_DATA)   slon_tools.conf-sample $(DESTDIR)$(sysconfdir)
 	$(INSTALL_DATA)   slon-tools             $(DESTDIR)$(pglibdir)/slon-tools.pm
 	for file in $(wildcard *.pl) ; do \
-		tmpname=`echo $$file | $(SED) "s#\.pl##"` ; \
-		$(INSTALL_SCRIPT) $$tmpname $(DESTDIR)$(toolsbin) ; \
+		tmpname=`echo $$file | $(SED) "s#\.pl##"` && \
+		$(INSTALL_SCRIPT) $$tmpname $(DESTDIR)$(toolsbin) \
+		|| exit; \
 	done
 endif
 
@@ -55,12 +57,12 @@
 	mkdir $(distdir)/$(subdir)
 	-chmod 777 $(distdir)/$(subdir)
 	for file in $(DISTFILES) ; do \
-		cp $$file $(distdir)/$(subdir)/$$file ; \
+		cp $$file $(distdir)/$(subdir)/$$file || exit; \
 	done
 
 clean distclean maintainer-clean:
 	@for file in $(wildcard *.pl) $(wildcard *.pm); do \
-		tmpname=`echo $$file | $(SED) "s#\.p[lm]##"` ; \
-		rm -f $$tmpname ; \
+		tmpname=`echo $$file | $(SED) "s#\.p[lm]##"` && \
+		rm -f $$tmpname \
+		|| exit; \
 	done
-
diff -Nur slony1-1.1.2/tools/Makefile slony1-1.1.2.new/tools/Makefile
--- slony1-1.1.2/tools/Makefile	2005-12-22 13:02:46.000000000 +0100
+++ slony1-1.1.2.new/tools/Makefile	2005-12-22 13:02:48.000000000 +0100
@@ -17,7 +17,7 @@
 
 all install installdirs clean distclean maintainer-clean:
 	for subdir in $(SUBDIRS) ; do \
-          $(MAKE) -C $$subdir $@ ; \
+          $(MAKE) -C $$subdir $@ || exit; \
         done
 
 
@@ -25,8 +25,8 @@
 	mkdir $(distdir)/$(subdir)
 	-chmod 777 $(distdir)/$(subdir)
 	for file in $(DISTFILES) ; do \
-		cp $$file $(distdir)/$(subdir)/$$file ; \
+		cp $$file $(distdir)/$(subdir)/$$file || exit; \
 	done
 	for subdir in $(SUBDIRS) ; do \
-		$(MAKE) -C $$subdir distdir ; \
+		$(MAKE) -C $$subdir distdir || exit; \
 	done
_______________________________________________
Slony1-general mailing list
[email protected]
http://gborg.postgresql.org/mailman/listinfo/slony1-general

Reply via email to