--- loncom/build/Makefile 2003/01/20 17:39:00 1.142 +++ loncom/build/Makefile 2003/07/24 22:23:28 1.150.2.1 @@ -1,7 +1,6 @@ # The LearningOnline Network with CAPA -# Scott Harrison, your friendly neighborhood volunteer -# $Id: Makefile,v 1.142 2003/01/20 17:39:00 harris41 Exp $ +# $Id: Makefile,v 1.150.2.1 2003/07/24 22:23:28 albertel Exp $ # TYPICAL USAGE of this Makefile is primarily for two targets: # "make build" and "make install". @@ -23,12 +22,13 @@ SAVE=program.pl.$(TIMESTAMP) LAUNCHSAVE=$(OUTSTREAM) $(SAVE) METAMTARGET="" MTARGET="" -VERSION=0.6.1 +VERSION=0.99.4 # 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 @@ -91,8 +91,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' ***" @@ -107,7 +108,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" @@ -138,8 +140,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" @@ -199,6 +202,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\"" @@ -234,6 +240,20 @@ TEST_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)" && \ + exit 1; \ + fi + TEST_html2ps: @if (test -e /usr/local/html2ps/bin/html2ps); then \ echo "I can find html2ps; assume okay"; \ @@ -265,7 +285,7 @@ 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 -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" \ directories @@ -290,14 +310,14 @@ 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" @@ -315,7 +335,7 @@ vanillatar: echo 'make rawinstall' >> $(SOURCE)/UPDATE echo 'make configinstall' >> $(SOURCE)/UPDATE echo 'make updatequery' >> $(SOURCE)/UPDATE - echo 'make hosts_tab' >> $(SOURCE)/UPDATE + echo 'make hosts_and_domain_tab' >> $(SOURCE)/UPDATE echo 'make postinstall' >> $(SOURCE)/UPDATE echo 'make aboutVERSION' >> $(SOURCE)/UPDATE echo 'make warningnote' >> $(SOURCE)/UPDATE @@ -330,7 +350,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 @@ -448,9 +468,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" \ @@ -474,6 +494,8 @@ 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 # ------------------ Files needed for dynamically generated directories echo 'doc/man' >> $(SOURCE)/MANIFEST echo 'doc/lib' >> $(SOURCE)/MANIFEST @@ -789,5 +811,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: