--- loncom/build/Makefile 2011/03/24 02:04:46 1.196 +++ loncom/build/Makefile 2013/08/07 18:20:25 1.203 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA -# $Id: Makefile,v 1.196 2011/03/24 02:04:46 raeburn Exp $ +# $Id: Makefile,v 1.203 2013/08/07 18:20:25 raeburn Exp $ # TYPICAL USAGE of this Makefile is primarily for two targets: # "make build" and "make install". @@ -13,6 +13,10 @@ DIST=$(DISTPROBE) CATEGORY="development" SOURCE=../.. TARGET="" +CURRSHELL=`echo $(SHELL)` +ifneq ('/bin/bash',${CURRSHELL}) +CURRSHELL=/bin/bash +endif NORESTORECONF="0" HOSTNAME="" LAUNCH=| perl @@ -52,9 +56,12 @@ help: help_OPTIONS: @echo "* ADJUSTABLE OPTIONS *" - @echo "(option) DIST can be redhat7, debian, redhat6.2, or default" - @echo " You probably do not need to specify this; it is" - @echo " automatically probed for." + @echo "(option) DIST can be centosN (N = 5 or 6), rhesN (N = 4, 5 or 6)," + @echo " or scientificN (N = 4 or 5), or slesN (N = 9,10 or 11)," + @echo " or ubuntuN (N= 6, 8, 10 or 12), or fedoraN (N = 1 .. 19)," + @echo " or suseN.M (N.M: 9.2 ... 12.3), or debianN (N = 5 or 6)," + @echo " or default. It is unlikely you would ever need to specify" + @echo " this, as it is automatically probed for." @echo "(option) CATEGORY can be 'runtime' or 'development'; currently" @echo " the 'development' setting is the most reliable;" @echo " eventually, production machines should be using the" @@ -132,6 +139,7 @@ help_TARGETS: @echo " nohist_reseval.db to nohist_accesscount.db." @echo "modify_config_files: Perform automatic update of the " @echo " configuration files for yum and MySQL." + @echo "langcheck: test to see if root bash and OS are using English." @echo "ntpcheck: test to see if ntp is installed and running." @echo "html_parser_check: test functionality of HTML::Parser." @echo "math_random_check: test functionality of Math::Random." @@ -145,6 +153,8 @@ help_TARGETS: @echo "mimetex_version_check: check if mimetex.cgi version has changed," @echo " if so remove files from mimetexcache." @echo "latex_fmtutil: run utility to maintain TeX format files system-wide." + @echo "removenolongerused.piml: check if there are files from previous + @echo " LON-CAPA version; if so, prompt for removal." @echo "updatequery: solicit the user for machine configuration" @echo " information; to be incorporated during an update" @echo " procedure (via the UPDATE command)" @@ -394,6 +404,11 @@ tardist: rm -f $(SOURCE)/tar_WARNINGS make warningnote +langcheck: + cat $(SOURCE)/doc/loncapafiles/langcheck.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + ntpcheck: cat $(SOURCE)/doc/loncapafiles/ntpcheck.piml | \ perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ @@ -512,6 +527,11 @@ latex_fmtutil: perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ tee -a WARNINGS +removenolongerused: + cat $(SOURCE)/doc/loncapafiles/removenolongerused.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + postinstall: make postaboutVERSION make webserverconf @@ -521,6 +541,7 @@ postinstall: make update_queue_slots make modify_config_files make clearoutoldspreadsheetcache + make langcheck make chkconfig make rpmcheck make ntpcheck @@ -535,7 +556,9 @@ postinstall: make picins_check make mimetex_version_check make verify_domconfiguser - make latex_fmtutil + make latex_fmtutil + make removenolongerused + sed -i "s/\x08\x08*/.../g" WARNINGS VERSION: install -d $(TARGET)/etc echo -n "LON-CAPA release $(VERSION)-" > $(TARGET)/etc/loncapa-release @@ -547,40 +570,52 @@ VERSION: 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 \-\-\>|\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 + touch --date="$(shell echo `perl getcvsdate.pl \ + $(SOURCE)/loncom/license/CVS/Entries about.html`)" \ + $(SOURCE)/loncom/license/about.html + cp -p -v $(SOURCE)/loncom/loncapa_apache.conf \ + $(SOURCE)/loncom/loncapa_apache.conf.orig cat $(SOURCE)/loncom/loncapa_apache.conf | \ 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 + touch --date="$(shell echo `perl getcvsdate.pl \ + $(SOURCE)/loncom/CVS/Entries loncapa_apache.conf`)" \ + $(SOURCE)/loncom/loncapa_apache.conf postaboutVERSION: if (test -e $(SOURCE)/loncom/license/about.html.orig) && \ - (diff $(SOURCE)/loncom/license/about.html \ + (diff $(SOURCE)/loncom/license/about.html.orig \ $(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 \ + !(diff $(SOURCE)/loncom/license/about.html.orig \ $(SOURCE)/loncom/license/about.html > /dev/null); then \ rm -f $(SOURCE)/loncom/license/about.html.orig; \ fi + touch --date="$(shell echo `perl getcvsdate.pl \ + $(SOURCE)/loncom/license/CVS/Entries about.html`)" \ + $(SOURCE)/loncom/license/about.html if (test -e $(SOURCE)/loncom/loncapa_apache.conf.orig) && \ - (diff $(SOURCE)/loncom/license/about.html \ - $(SOURCE)/loncom/license/about.html > /dev/null); then \ + (diff $(SOURCE)/loncom/loncapa_apache.conf.orig \ + $(SOURCE)/loncom/loncapa_apache.conf > /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 \ + !(diff $(SOURCE)/loncom/loncapa_apache.conf.orig \ + $(SOURCE)/loncom/loncapa_apache.conf > /dev/null); then \ rm -f $(SOURCE)/loncom/loncapa_apache.conf.orig; \ fi + touch --date="$(shell echo `perl getcvsdate.pl \ + $(SOURCE)/loncom/CVS/Entries loncapa_apache.conf`)" \ + $(SOURCE)/loncom/loncapa_apache.conf # ========= *** Makefile.* TARGETS BUILT DYNAMICALLY FROM loncapafiles.lpml *** @@ -593,7 +628,7 @@ Makefile.configinstall: $(SOURCE)/doc/lo 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 | \