--- loncom/build/Makefile 2011/03/24 02:04:46 1.196 +++ loncom/build/Makefile 2019/11/07 16:50:33 1.201.2.19 @@ -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.201.2.19 2019/11/07 16:50:33 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 @@ -22,9 +26,9 @@ SAVE=program.pl.$(TIMESTAMP) LAUNCHSAVE=$(OUTSTREAM) $(SAVE) METAMTARGET="" MTARGET="" -VERSION=CVS_HEAD +VERSION=2.11.3 SHOWVERSION=$(VERSION) -NEXTVERSION=2.11 +NEXTVERSION=2.12 ifeq (CVS_HEAD,${VERSION}) SHOWVERSION=$(NEXTVERSION).$(VERSION) endif @@ -52,9 +56,13 @@ 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, 6, 7 or 8), rhesN (N = 4, 5, 6, 7 or 8)," + @echo " scientificN (N = 5, 6 or 7), oracleN (N = 6, 7, or 8)," + @echo " or slesN (N = 9, 10, 11, 12 or 15), or debianN (N = 5 or 6)," + @echo " or ubuntuN (N= 6, 8, 10, 12, 14, 16 or 18), or fedoraN (N = 1 .. 31)," + @echo " or suseN.M (N.M: 9.2 ... 13.2), or default." + @echo " It is unlikely you would ever need to specify this," + @echo " 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 +140,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 +154,9 @@ 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 "lcmathcomplex: set nvsize in LCMathComplex, if different from default." + @echo "removenolongerused: 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)" @@ -263,10 +275,15 @@ TEST_hosts_tab: else echo "**** ERROR **** hosts.tab not defined!" && \ echo -n "You need to do one of the following within your " && \ echo "CVS repository (cd loncapa/loncom)" && \ - echo " 1) ln -s production_dns_hosts.tab dns_hosts.tab" && \ - echo " 2) ln -s development_dns_hosts.tab dns_hosts.tab" && \ + echo " 1) ln -s production_hosts.tab hosts.tab" && \ + echo " 2) ln -s development_hosts.tab hosts.tab" && \ echo "or 3) ln -s rawhide_hosts.tab hosts.tab" && \ echo "(you most likely want option #1, production_hosts.tab)" && \ + echo " and also one of the following within your " && \ + echo "CVS repository (cd loncapa/loncom)" && \ + echo " 1) ln -s production_dns_hosts.tab dns_hosts.tab" && \ + echo " 2) ln -s development_dns_hosts.tab dns_hosts.tab" && \ + echo "(you most likely want option #1, production_dns_hosts.tab)" && \ exit 1; \ fi @@ -277,10 +294,15 @@ TEST_domain_tab: else echo "**** ERROR **** domain.tab not defined!" && \ echo -n "You need to do one of the following within your " && \ echo "CVS repository (cd loncapa/loncom)" && \ - echo " 1) ln -s production_dns_domain.tab dns_domain.tab" && \ - echo " 2) ln -s development_dns_domain.tab dns_domain.tab" && \ + echo " 1) ln -s production_domain.tab domain.tab" && \ + echo " 2) ln -s development_domain.tab domain.tab" && \ echo "or 3) ln -s rawhide_domain.tab domain.tab" && \ echo "(you most likely want option #1, production_domain.tab)" && \ + echo " and also one of the following within your " && \ + echo "CVS repository (cd loncapa/loncom)" && \ + echo " 1) ln -s production_dns_domain.tab dns_domain.tab" && \ + echo " 2) ln -s development_dns_domain.tab dns_domain.tab" && \ + echo "(you most likely want option #1, production_dns_domain.tab)" && \ exit 1; \ fi @@ -394,6 +416,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 +539,15 @@ latex_fmtutil: perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ tee -a WARNINGS +lcmathcomplex: + cat $(SOURCE)/doc/loncapafiles/lcmathcomplex.piml | \ + 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)" $(QUERYLAUNCH) + postinstall: make postaboutVERSION make webserverconf @@ -521,6 +557,7 @@ postinstall: make update_queue_slots make modify_config_files make clearoutoldspreadsheetcache + make langcheck make chkconfig make rpmcheck make ntpcheck @@ -529,15 +566,19 @@ postinstall: make sanitycheck make logcleanup make sendmail_fix - make ownership_fix make wrap_setuid make latex_fixup make picins_check make mimetex_version_check make verify_domconfiguser - make latex_fmtutil + make latex_fmtutil + make lcmathcomplex + sed -i "s/\x08\x08*/.../g" WARNINGS VERSION: install -d $(TARGET)/etc + if (test -e /etc/loncapa-release); then \ + cp -p -v /etc/loncapa-release /etc/loncapa-release.prev; \ + fi echo -n "LON-CAPA release $(VERSION)-" > $(TARGET)/etc/loncapa-release date +"%Y%m%d" >> $(TARGET)/etc/loncapa-release install -d $(TARGET)/home/httpd/html/lon-status @@ -547,40 +588,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 +646,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 | \