[LON-CAPA-cvs] cvs: loncom(version_2_10_X) /build Makefile

raeburn raeburn@source.lon-capa.org
Fri, 13 May 2011 12:04:56 -0000


raeburn		Fri May 13 12:04:56 2011 EDT

  Modified files:              (Branch: version_2_10_X)
    /loncom/build	Makefile 
  Log:
  - Backport 1.192, 1.193, 1.194, 1.195, 1.196, 1.197.
  
  
Index: loncom/build/Makefile
diff -u loncom/build/Makefile:1.190.8.4 loncom/build/Makefile:1.190.8.5
--- loncom/build/Makefile:1.190.8.4	Tue Sep 14 06:52:29 2010
+++ loncom/build/Makefile	Fri May 13 12:04:56 2011
@@ -1,6 +1,6 @@
 # The LearningOnline Network with CAPA
 
-# $Id: Makefile,v 1.190.8.4 2010/09/14 06:52:29 raeburn Exp $
+# $Id: Makefile,v 1.190.8.5 2011/05/13 12:04:56 raeburn Exp $
 
 # TYPICAL USAGE of this Makefile is primarily for two targets:
 # "make build" and "make install".
@@ -13,6 +13,10 @@
 CATEGORY="development"
 SOURCE=../..
 TARGET=""
+CURRSHELL=`echo $(SHELL)`
+ifneq ('/bin/bash',${CURRSHELL})
+CURRSHELL=/bin/bash
+endif
 NORESTORECONF="0"
 HOSTNAME=""
 LAUNCH=| perl
@@ -23,6 +27,12 @@
 METAMTARGET=""
 MTARGET=""
 VERSION=2.10.0
+SHOWVERSION=$(VERSION)
+NEXTVERSION=2.11
+ifeq (CVS_HEAD,${VERSION})
+SHOWVERSION=$(NEXTVERSION).$(VERSION)
+endif
+#
 # The current working definition for "RELEASE" is: changes not in the software,
 # but in the operating system dependent packaging of the software.  Thus, the
 # generic tarball releases do not need to have a release number specified.
@@ -148,6 +158,8 @@
 	@echo "         /home/httpd/html/lon-status/version.txt"
 	@echo "aboutVERSION: place version information inside about.html"
 	@echo "              and loncapa_apache.conf"
+	@echo "postaboutVERSION: restore default version <!-- VERSION --> to"
+	@echo "                  about.html and loncapa_apache.conf"
 	@echo "*** Makefile.* TARGETS BUILT DYNAMICALLY FROM loncapafiles.lpml ***"
 	@echo "Makefile.configinstall: generate a Makefile for configuration"
 	@echo "                        files; built dynamically from"
@@ -309,6 +321,7 @@
 
 install: buildflag VERSION TEST_hosts_tab TEST_domain_tab Makefile.install Makefile
 	echo -n "" > WARNINGS
+	make aboutVERSION
 	make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" \
 	directories
 	make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" files
@@ -317,7 +330,7 @@
 	NORESTORECONF="$(NORESTORECONF)" configinstall
 	make postinstall
 	make warningnote
-	@echo "You can now run 'make test' to see if your system is ready to go!"
+#	@echo "You can now run 'make test' to see if your system is ready to go!"
 #	@echo "NOTE THAT YOUR SYSTEM MUST HAVE MYSQL WITH A USER=\"www\" AND"
 #	@echo -n "PASSWORD=\"localhostkey\" FOR www\@localhost"
 #	@echo -n "(YOU MAY NEED TO REINITIALIZE YOUR MYSQL www\@localhost USER)"
@@ -375,18 +388,11 @@
 	else \
 		ln -s . $(DIRTARGET); \
 	fi
-	cp -v $(SOURCE)/loncom/license/about.html \
-	$(SOURCE)/loncom/license/about.html.orig
-	cp -v $(SOURCE)/loncom/loncapa_apache.conf \
-	$(SOURCE)/loncom/loncapa_apache.conf.orig
 	make aboutVERSION
 	cd $(SOURCE); \
 	tar --no-recursion --numeric-owner --files-from MANIFEST \
 	-h -czf $(DIRTARGET).tar.gz 2>tar_WARNINGS || [ "0" == "0" ]
-	mv -v $(SOURCE)/loncom/license/about.html.orig \
-	$(SOURCE)/loncom/license/about.html
-	mv -v $(SOURCE)/loncom/loncapa_apache.conf.orig \
-	$(SOURCE)/loncom/loncapa_apache.conf
+	make postaboutVERSION
 	cat $(SOURCE)/tar_WARNINGS | \
 	xargs --replace=XXX echo '**** WARNING **** XXX' > WARNINGS
 	rm -f $(SOURCE)/tar_WARNINGS
@@ -511,6 +517,7 @@
 	tee -a WARNINGS
 
 postinstall:
+	make postaboutVERSION
 	make webserverconf
 	make reseval_fixup
 	make clean_file_permissions
@@ -542,17 +549,43 @@
 	date +"%Y%m%d" >> $(TARGET)/home/httpd/html/lon-status/version.txt
 
 aboutVERSION:
+	cp -p -v $(SOURCE)/loncom/license/about.html \
+	$(SOURCE)/loncom/license/about.html.orig
+	cp -p -v $(SOURCE)/loncom/loncapa_apache.conf \
+	$(SOURCE)/loncom/loncapa_apache.conf.orig
 	cat $(SOURCE)/loncom/license/about.html | \
-	perl -e '$$d=`date +"%Y%m%d%H"`;chomp($$d);while(<>){s/\<\!\-\- VERSION \-\-\>/$(VERSION)-$$d/; print;}' > \
+	perl -e '$$d=`date +"%Y%m%d%H"`;chomp($$d);while(<>){s/(\<\!\-\- VERSION \-\-\>|\d+\.\d+\.CVS_HEAD\-\d{10})/$(SHOWVERSION)-$$d/; print;}' > \
 	$(SOURCE)/loncom/license/about.html.new
 	mv -v $(SOURCE)/loncom/license/about.html.new \
 	$(SOURCE)/loncom/license/about.html
 	cat $(SOURCE)/loncom/loncapa_apache.conf | \
-	perl -e '$$d=`date +"%Y%m%d%H"`;chomp($$d);while(<>){s/\<\!\-\- VERSION \-\-\>/$(VERSION)-$$d/; print;}' > \
+	perl -e '$$d=`date +"%Y%m%d%H"`;chomp($$d);while(<>){s/(\<\!\-\- VERSION \-\-\>|\d+\.\d+\.CVS_HEAD\-\d{10})/$(SHOWVERSION)-$$d/; print;}' > \
 	$(SOURCE)/loncom/loncapa_apache.conf.new
 	mv -v $(SOURCE)/loncom/loncapa_apache.conf.new \
 	$(SOURCE)/loncom/loncapa_apache.conf
 
+postaboutVERSION:
+	if (test -e $(SOURCE)/loncom/license/about.html.orig) && \
+		(diff $(SOURCE)/loncom/license/about.html \
+		$(SOURCE)/loncom/license/about.html > /dev/null); then \
+		mv -v $(SOURCE)/loncom/license/about.html.orig \
+		$(SOURCE)/loncom/license/about.html; \
+	elif (test -e $(SOURCE)/loncom/license/about.html.orig) && \
+		!(diff $(SOURCE)/loncom/license/about.html \
+		$(SOURCE)/loncom/license/about.html > /dev/null); then \
+		rm -f $(SOURCE)/loncom/license/about.html.orig; \
+	fi
+	if (test -e $(SOURCE)/loncom/loncapa_apache.conf.orig) && \
+		(diff $(SOURCE)/loncom/license/about.html \
+		$(SOURCE)/loncom/license/about.html > /dev/null); then \
+		mv -v $(SOURCE)/loncom/loncapa_apache.conf.orig \
+		$(SOURCE)/loncom/loncapa_apache.conf; \
+	elif (test -e $(SOURCE)/loncom/loncapa_apache.conf.orig) && \
+		!(diff $(SOURCE)/loncom/license/about.html \
+		$(SOURCE)/loncom/license/about.html > /dev/null); then \
+		rm -f $(SOURCE)/loncom/loncapa_apache.conf.orig; \
+	fi
+
 # ========= *** Makefile.* TARGETS BUILT DYNAMICALLY FROM loncapafiles.lpml ***
 
 Makefile.configinstall: $(SOURCE)/doc/loncapafiles/loncapafiles.lpml \
@@ -564,7 +597,7 @@
 Makefile.build: $(SOURCE)/doc/loncapafiles/loncapafiles.lpml lpml_parse.pl
 	cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \
 	perl lpml_parse.pl build $(CATEGORY) $(DIST) "$(SOURCE)" "$(TARGET)" \
-	> Makefile.build
+	"$(CURRSHELL)" > Makefile.build
 
 Makefile.install: alwaysrun
 	cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \