--- loncom/build/Makefile 2002/10/13 17:35:04 1.136 +++ loncom/build/Makefile 2020/04/07 22:45:29 1.201.2.14.2.1 @@ -1,7 +1,6 @@ # The LearningOnline Network with CAPA -# Scott Harrison, your friendly neighborhood volunteer -# $Id: Makefile,v 1.136 2002/10/13 17:35:04 harris41 Exp $ +# $Id: Makefile,v 1.201.2.14.2.1 2020/04/07 22:45:29 raeburn Exp $ # TYPICAL USAGE of this Makefile is primarily for two targets: # "make build" and "make install". @@ -14,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 @@ -23,8 +26,19 @@ SAVE=program.pl.$(TIMESTAMP) LAUNCHSAVE=$(OUTSTREAM) $(SAVE) METAMTARGET="" MTARGET="" -VERSION=0.5 +VERSION=2.11.2.A +SHOWVERSION=$(VERSION) +NEXTVERSION=2.12 +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. +RELEASE=1 # As a general rule for now, this is always being set to "1". DIRTARGET=loncapa-$(VERSION) +LOCALAUTHPATH=/home/httpd/lib/perl # =============================================== Help targets for the Makefile # If 'make' is run without any arguments, the 'help' target is called since @@ -42,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, 6 or 7), rhesN (N = 4, 5, 6 or 7)," + @echo " or scientificN (N = 5, 6 or 7), or slesN (N = 9, 10, 11 or 12)," + @echo " or ubuntuN (N= 6, 8, 10, 12 or 14), or fedoraN (N = 1 .. 24)," + @echo " or suseN.M (N.M: 9.2 ... 13.2), 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" @@ -87,8 +104,9 @@ help_TARGETS: @echo " (horizontal testing)" @echo "TEST_web_layer: mimic a login and various vertical actions on " @echo " a LON-CAPA system" - @echo "TEST_hosts_tab: make sure that a loncapa/loncom/hosts.tab" - @echo " file is specified for installation" + @echo "TEST_hosts_and_domain_tab: make sure that a " + @echo " loncapa/loncom/hosts.tab and loncapa/loncom/domain.tab" + @echo " file is specified for installation" @echo "TEST_html2ps: test for the presence of html2ps which is needed" @echo " for making a PDF compilation for pdfdoc" @echo "*** GENERAL TARGETS SUCH AS 'build' AND 'install' ***" @@ -103,7 +121,8 @@ help_TARGETS: @echo "rawinstall: just install files, links and directories without" @echo " any bells or whistles (e.g. double-checking" @echo " configurations, fine-tuning webserver, etc.)" - @echo "hosts_tab: install the hosts.tab to the filesystem" + @echo "hosts_and_domain_tab: install the hosts.tab and domain.tab" + @echo " to the filesystem" @echo "webserverconf: fine-tune the web server configuration;" @echo " make sure the proper 'Include' statements" @echo " are appended to httpd.conf" @@ -113,13 +132,41 @@ help_TARGETS: @echo " system" @echo "sanitycheck: probe for common errors and recommend fixes to" @echo " the user" + @echo "logcleanup: clean spurious logfile entries" + @echo "clean_file_permissions: Remove erroneous keys from the " + @echo " file_permissions.db" + @echo "accesscount_seed: Migrate the access counting mechanism from " + @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." + @echo "cron_lpmlcheck: remove cron file /etc/cron.d/loncapa.lpml." + @echo "chkconfig: test runlevels of httpd and loncontrol." + @echo "rpmcheck: test to see if rpms known to confict are installed." + @echo "wrap_setuid: put a C wrapper around setuid scripts." + @echo "latex_fixup: regenerate ls-R database for the latex base." + @echo "picins_check: check for picins.sty, retrieve and rebuild" + @echo " filename databases used by LaTeX" + @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)" @echo "postinstall: double-check things after installation" @echo "VERSION: tag the filesystem with version information inside" - @echo " /etc/loncapa-release" + @echo " /etc/loncapa-release and" + @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 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" @@ -134,8 +181,9 @@ help_TARGETS: @echo "*** TARGETS FOR OPERATING ON FILESYSTEMS ACROSS THE NETWORK ***" @echo "lpmladm: coordinates username=lpmladm mediated secure shell" @echo " processes; needed for the NET_* targets" - @echo "NET_hosts_tab: install the hosts.tab to a filesystem elsewhere" - @echo " on the network" + @echo "NET_hosts_and_domain_tab: install the hosts.tab and domain.tab" + @echo " to a filesystem elsewhere" + @echo " on the network" @echo "NET_webserverconf: fine-tune the web server configuration on a" @echo " filesystem elsewhere on the network" @echo "NET_rawinstall: launch the rawinstall target on a filesystem" @@ -195,6 +243,9 @@ help_TARGETS: @echo " instructor data (NOT YET IMPLEMENTED)" @echo "restore: reseeds a LON-CAPA server with tarball backups " @echo " generated by \"make backup\" (NOT YET IMPLEMENTED)" + @echo "*** AUXILIARY TESTS ***" + @echo "localauth: tests to see if localauth exists or not and run" + @echo " appropriate tests" @echo "*** A HELPFUL DEPENDENCY ***" @echo "alwaysrun: blank target that is a dependency for targets" @echo " that should \"always run\"" @@ -227,6 +278,30 @@ TEST_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 + +TEST_domain_tab: + @echo "Testing domain.tab" + @if (test -e ../domain.tab); then \ + echo "there is a defined link or file; assume okay"; \ + 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_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 @@ -261,8 +336,9 @@ configinstall: Makefile.configinstall if (test "0" = $(NORESTORECONF)); then \ perl loncaparestoreconfigurations suffix .lpmlnew; fi -install: buildflag VERSION TEST_hosts_tab Makefile.install Makefile +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 @@ -271,11 +347,11 @@ install: buildflag VERSION TEST_hosts_ta NORESTORECONF="$(NORESTORECONF)" configinstall make postinstall make warningnote - echo "You can 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)" - echo -n "Please see http://install.lon-capa.org/ for more information" +# @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)" +# @echo -n "Please see http://install.lon-capa.org/ for more information" rawinstall: VERSION Makefile.install Makefile echo -n "" > WARNINGS @@ -286,35 +362,26 @@ rawinstall: VERSION Makefile.install Mak make SOURCE="$(SOURCE)" TARGET="$(TARGET)" \ NORESTORECONF="$(NORESTORECONF)" configinstall -hosts_tab: TEST_hosts_tab +hosts_and_domain_tab: TEST_hosts_tab TEST_domain_tab cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \ perl xfml_parse.pl $(SOURCE)/doc/loncapafiles/valid_hosts.xfml | \ perl lpml_parse.pl install $(CATEGORY) $(DIST) "$(SOURCE)" \ "$(TARGET)" > Makefile.install make -f Makefile.install directories make -f Makefile.install files - @echo "If hosts.tab has changed, restart httpd and loncontrol:" + @echo "If hosts.tab or domain.tab has changed, restart httpd and loncontrol:" @echo " /etc/rc.d/init.d/httpd restart" @echo " /etc/rc.d/init.d/loncontrol restart" webserverconf: cat $(SOURCE)/doc/loncapafiles/webserver.piml | \ - perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS # ---------------- Top-level files such as README, UPDATE, CHECKRPMS, and TEST vanillatar: # --------------------------- Point UPDATE to the internal make process - echo '#!/bin/sh' > $(SOURCE)/UPDATE - echo 'touch loncom/build/WARNINGS' >> $(SOURCE)/UPDATE; - echo 'ln -s loncom/build/WARNINGS WARNINGS' >> $(SOURCE)/UPDATE; - echo 'cd loncom/build; make build' >> $(SOURCE)/UPDATE - echo 'make rawinstall' >> $(SOURCE)/UPDATE - echo 'make configinstall' >> $(SOURCE)/UPDATE - echo 'make updatequery' >> $(SOURCE)/UPDATE - echo 'make hosts_tab' >> $(SOURCE)/UPDATE - echo 'make postinstall' >> $(SOURCE)/UPDATE - echo 'make aboutVERSION' >> $(SOURCE)/UPDATE - echo 'make warningnote' >> $(SOURCE)/UPDATE + cp $(SOURCE)/loncom/UPDATE $(SOURCE)/UPDATE # ----------------------------- Point TEST to the internal make process echo '#!/bin/sh' > $(SOURCE)/TEST echo 'cd loncom/build; make test' >> $(SOURCE)/TEST @@ -326,7 +393,7 @@ vanillatar: chmod a+rx $(SOURCE)/TEST chmod a+rx $(SOURCE)/CHECKRPMS # -------------------------------- Copy README to the vanilla top-level - cp -v $(SOURCE)/doc/shortest_path_redhat7.2.txt $(SOURCE)/README + #cp -v $(SOURCE)/doc/shortest_path_redhat7.2.txt $(SOURCE)/README tardist: make MANIFEST_all @@ -338,55 +405,234 @@ tardist: else \ ln -s . $(DIRTARGET); \ fi - cp -v $(SOURCE)/loncom/license/about.html \ - $(SOURCE)/loncom/license/about.html.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 + make postaboutVERSION cat $(SOURCE)/tar_WARNINGS | \ xargs --replace=XXX echo '**** WARNING **** XXX' > WARNINGS 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) | \ + tee -a WARNINGS + +html_parser_check: + cat $(SOURCE)/doc/loncapafiles/html_parser_check.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + +math_random_check: + cat $(SOURCE)/doc/loncapafiles/math_random_check.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + +cron_lpmlcheck: + cat $(SOURCE)/doc/loncapafiles/cron_lpmlcheck.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + +chkconfig: + cat $(SOURCE)/doc/loncapafiles/chkconfig.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + +rpmcheck: + cat $(SOURCE)/doc/loncapafiles/rpmcheck.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + sanitycheck: cat $(SOURCE)/doc/loncapafiles/sanitycheck.piml | \ perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ tee -a WARNINGS +logcleanup: + cat $(SOURCE)/doc/loncapafiles/logcleanup.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + updatequery: cat $(SOURCE)/doc/loncapafiles/updatequery.piml | \ perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(QUERYLAUNCH) +run_searchcat: + cat $(SOURCE)/doc/loncapafiles/run_searchcat.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(QUERYLAUNCH) + +clean_file_permissions: + cat $(SOURCE)/doc/loncapafiles/clean_file_permissions.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + +accesscount_seed: + cat $(SOURCE)/doc/loncapafiles/accesscount_seed.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + +modify_config_files: + cat $(SOURCE)/doc/loncapafiles/modify_config_files.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + reseval_fixup: cat $(SOURCE)/doc/loncapafiles/reseval_fixup.piml | \ perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ tee -a WARNINGS +update_queue_slots: + cat $(SOURCE)/doc/loncapafiles/update_queue_slots.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + +clearoutoldspreadsheetcache: + cat $(SOURCE)/doc/loncapafiles/clearoutoldspreadsheetcache.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + sendmail_fix: cat $(SOURCE)/doc/loncapafiles/sendmail_fix.piml | \ perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ tee -a WARNINGS +ownership_fix: + cat $(SOURCE)/doc/loncapafiles/ownership_fix.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + +wrap_setuid: + cat $(SOURCE)/doc/loncapafiles/wrap_setuid.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + +latex_fixup: + cat $(SOURCE)/doc/loncapafiles/latex_fixup.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + +picins_check: + cat $(SOURCE)/doc/loncapafiles/picins_check.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + +mimetex_version_check: + cat $(SOURCE)/doc/loncapafiles/mimetex_version_check.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + +verify_domconfiguser: + cat $(SOURCE)/doc/loncapafiles/verify_domconfiguser.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + +latex_fmtutil: + cat $(SOURCE)/doc/loncapafiles/latex_fmtutil.piml | \ + 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 make reseval_fixup + make clean_file_permissions + make accesscount_seed + make update_queue_slots + make modify_config_files + make clearoutoldspreadsheetcache + make langcheck + make chkconfig + make rpmcheck + make ntpcheck + make html_parser_check + make cron_lpmlcheck make sanitycheck + make logcleanup make sendmail_fix - + make wrap_setuid + make latex_fixup + make picins_check + make mimetex_version_check + make verify_domconfiguser + 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 + echo -n "$(VERSION)-" > $(TARGET)/home/httpd/html/lon-status/version.txt + 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 cat $(SOURCE)/loncom/license/about.html | \ - perl -e '$$d=`date +"%Y%m%d"`;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 + 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.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.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/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/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 *** @@ -399,7 +645,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 | \ @@ -438,9 +684,9 @@ lpmladm: echo "**** ERROR **** Incorrect METAMTARGET"; \ fi -NET_hosts_tab: +NET_hosts_and_domain_tab: make TIMESTAMP=`date +"%s"` METAMTARGET="TRANSPORT" \ - MTARGET="hosts_tab" HOSTNAME="$(HOSTNAME)" lpmladm + MTARGET="hosts_and_domain_tab" HOSTNAME="$(HOSTNAME)" lpmladm NET_webserverconf: make TIMESTAMP=`date +"%s"` METAMTARGET="LAUNCH" \ @@ -464,6 +710,12 @@ MANIFEST_all: echo 'loncom/rawhide_hosts.tab' >> $(SOURCE)/MANIFEST echo 'loncom/production_hosts.tab' >> $(SOURCE)/MANIFEST echo 'loncom/development_hosts.tab' >> $(SOURCE)/MANIFEST + echo 'loncom/production_domain.tab' >> $(SOURCE)/MANIFEST + echo 'loncom/development_domain.tab' >> $(SOURCE)/MANIFEST + echo 'loncom/production_dns_hosts.tab' >> $(SOURCE)/MANIFEST + echo 'loncom/development_dns_hosts.tab' >> $(SOURCE)/MANIFEST + echo 'loncom/production_dns_domain.tab' >> $(SOURCE)/MANIFEST + echo 'loncom/development_dns_domain.tab' >> $(SOURCE)/MANIFEST # ------------------ Files needed for dynamically generated directories echo 'doc/man' >> $(SOURCE)/MANIFEST echo 'doc/lib' >> $(SOURCE)/MANIFEST @@ -489,13 +741,16 @@ MANIFEST_cvs: # ------------------- MANIFEST the building, testing and standard loncapa files MANIFEST_lpml: cat $(SOURCE)/doc/loncapafiles/buildfiles.lpml | \ - perl lpml_parse.pl MANIFEST development default \ + perl lpml_parse.pl MANIFEST development $(DIST) \ '$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST cat $(SOURCE)/doc/loncapafiles/testfiles.lpml | \ - perl lpml_parse.pl MANIFEST development default \ + perl lpml_parse.pl MANIFEST development $(DIST) \ + '$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST + cat $(SOURCE)/doc/loncapafiles/installfiles.lpml | \ + perl lpml_parse.pl MANIFEST development $(DIST) \ '$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \ - perl lpml_parse.pl MANIFEST development default \ + perl lpml_parse.pl MANIFEST development $(DIST) \ '$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST # ------------ Files for top-level (the vanilla layer that the user first sees) @@ -562,8 +817,8 @@ RPM: BinaryRoot base_rpm_file_list cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \ perl lpml_parse.pl make_rpm $(CATEGORY) $(DIST) $(SOURCE) $(TARGET) \ > base_customizerpm.xml - cat base_rpm_file_list.txt | perl make_rpm.pl base 3.2 '' '' \ - BinaryRoot base_customizerpm.xml + cat base_rpm_file_list.txt | perl make_rpm.pl base $(VERSION) \ + $(RELEASE) '' '' BinaryRoot base_customizerpm.xml DPKG: make TARGET='lon-capa-$(VERSION)' NORESTORECONF='1' install @@ -593,6 +848,10 @@ BinaryRoot: base_rpm_file_list # ======================================== *** MASTER DOCUMENTATION TARGETS *** +buildwebsite: + cd ../../doc/build; perl ./generate_web_pages.pl + + # Generates CVS:loncom/build/docs; root location of install.lon-capa.org doc: install -d docs @@ -776,5 +1035,20 @@ backup: restore: @echo "Not yet implemented" +# ===================================================== *** AUXILIARY TESTS *** +localauth: + @if (test -e $(LOCALAUTHPATH)/localauth.pm) && \ + !(diff $(LOCALAUTHPATH)/localauth-std.pm \ + $(LOCALAUTHPATH)/localauth.pm > /dev/null); then \ + echo "**** WARNING **** $(LOCALAUTHPATH)/localauth.pm is different than the $(LOCALAUTHPATH)/localauth-std.pm; if you have not customized localauth.pm, then please manually overwrite localauth.pm (rm $(LOCALAUTHPATH)/localauth.pm; ln -s $(LOCALAUTHPATH)/localauth-std.pm $(LOCALAUTHPATH)/localauth.pm); if you have customized localauth.pm, then please double-check to see that your customized localauth.pm is compatible with any localauth-std.pm changes for this version of LON-CAPA"| tee -a WARNINGS; \ + elif (test -e $(LOCALAUTHPATH)/localauth.pm) && \ + (diff $(LOCALAUTHPATH)/localauth-std.pm \ + $(LOCALAUTHPATH)/localauth.pm > /dev/null); then \ + echo "**** NOTE **** LOCAL AUTH IS IDENTICAL WITH STANDARD TEMPLATE"| tee -a WARNINGS; \ + elif !(test -e $(LOCALAUTHPATH)/localauth.pm) && \ + (test -e $(LOCALAUTHPATH)/localauth-std.pm); then \ + ln -s $(LOCALAUTHPATH)/localauth-std.pm $(LOCALAUTHPATH)/localauth.pm; \ + fi + # ================================================ *** A HELPFUL DEPENDENCY *** alwaysrun: 500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.