--- loncom/build/Makefile 2002/02/04 23:40:47 1.63 +++ loncom/build/Makefile 2002/04/21 16:44:56 1.79 @@ -1,13 +1,21 @@ # The LearningOnline Network with CAPA # Scott Harrison -# $Id: Makefile,v 1.63 2002/02/04 23:40:47 harris41 Exp $ +# $Id: Makefile,v 1.79 2002/04/21 16:44:56 harris41 Exp $ -DIST="default" +DISTPROBE=`perl ./distprobe` +DIST=$(DISTPROBE) CATEGORY="development" SOURCE="../.." TARGET="" NORESTORECONF="0" +HOSTNAME="" +LAUNCH=| perl +OUTSTREAM=> +SAVE=program.pl.$(TIMESTAMP) +LAUNCHSAVE=$(OUTSTREAM) $(SAVE) +METAMTARGET="" +MTARGET="" help: @echo "*** You need to specify a valid target ***" @@ -57,7 +65,8 @@ TEST_lpml_scripts: cd ../test; perl filecomparetest.pl TEST_web_layer: - @echo "Testing of web layers is not yet implemented." + @echo "TESTING WEB LAYER" + cd weblayer_test; make TEST_hosts_tab: @echo "Testing hosts.tab" @@ -72,6 +81,52 @@ TEST_hosts_tab: echo "(you most likely want option #1, production_hosts.tab)" && \ exit 1; \ fi + +NET_hosts_tab: + make TIMESTAMP=`date +"%s"` METAMTARGET="TRANSPORT" \ + MTARGET="hosts_tab" HOSTNAME="$(HOSTNAME)" lpmladm + +hosts_tab: TEST_hosts_tab + cat ../../doc/loncapafiles/loncapafiles.lpml | \ + perl xfml_parse.pl ../../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 " /etc/rc.d/init.d/httpd restart" + @echo " /etc/rc.d/init.d/loncontrol restart" + +lpmladm: + @if (test $(METAMTARGET) = "TRANSPORT"); then \ + echo "Transporting to $(HOSTNAME)"; \ + sudo make DIST=$(DIST) CATEGORY=$(CATEGORY) \ + SOURCE="$(SOURCE)" \ + TARGET="lpmladm.$(TIMESTAMP)" \ + NORESTORECONF="$(NORESTORECONF)" "$(MTARGET)"; \ + cd lpmladm.$(TIMESTAMP); \ + sudo tar czvf ../tarball$(TIMESTAMP).tar.gz .; \ + cd ..; scp tarball$(TIMESTAMP).tar.gz \ + lpmladm@$(HOSTNAME):~/tarball$(TIMESTAMP).tar.gz; \ + ssh lpmladm@$(HOSTNAME) sudo mv tarball$(TIMESTAMP).tar.gz /; \ + ssh lpmladm@$(HOSTNAME) sudo tar -x -z -v -C / \ + -p --same-owner -f \ + /tarball$(TIMESTAMP).tar.gz; \ + ssh lpmladm@$(HOSTNAME) sudo rm -f \ + /tarball$(TIMESTAMP).tar.gz; \ + elif (test $(METAMTARGET) = "LAUNCH"); then \ + echo "Launching process on $(HOSTNAME)"; \ + LAUNCHSAVE=$(OUTSTREAM) $(SAVE); \ + make DIST=$(DIST) CATEGORY=$(CATEGORY) SOURCE="$(SOURCE)" \ + TARGET="$(TARGET)" NORESTORECONF="$(NORESTORECONF)" \ + LAUNCH="$(LAUNCHSAVE)" "$(MTARGET)"; \ + scp $(SAVE) lpmladm@$(HOSTNAME):~/$(SAVE); \ + ssh lpmladm@$(HOSTNAME) sudo perl $(SAVE); \ + ssh lpmladm@$(HOSTNAME) sudo rm -f $(SAVE); \ + else \ + echo "**** ERROR **** Incorrect METAMTARGET"; \ + fi + HTML: install -d HTML cp ../../doc/loncapafiles/*.gif HTML @@ -127,11 +182,26 @@ warningnote: echo "!!!! Please read the WARNINGS file !!!!"; \ echo "!!!! to make sure everything is !!!!"; \ echo "!!!! correct and taken care of !!!!"; \ - echo "!!!! (it is output below here) !!!!"; \ echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; \ - cat WARNINGS; \ fi +NET_webserverconf: + make TIMESTAMP=`date +"%s"` METAMTARGET="LAUNCH" \ + MTARGET="webserverconf" HOSTNAME="$(HOSTNAME)" lpmladm + +webserverconf: + cat ../../doc/loncapafiles/webserver.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) + +sanitycheck: + cat ../../doc/loncapafiles/sanitycheck.piml | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + tee -a WARNINGS + +postinstall: + make webserverconf + make sanitycheck + install: TEST_hosts_tab Makefile.install Makefile echo -n "" > WARNINGS make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" \ @@ -140,7 +210,9 @@ install: TEST_hosts_tab Makefile.install make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" links make SOURCE="$(SOURCE)" TARGET="$(TARGET)" \ NORESTORECONF="$(NORESTORECONF)" configinstall + make postinstall make warningnote + echo "You can run 'make test' to see if your system is ready to go!" Makefile.install: ../../doc/loncapafiles/loncapafiles.lpml lpml_parse.pl cat ../../doc/loncapafiles/loncapafiles.lpml | \ @@ -154,8 +226,8 @@ build: Makefile.build pod2html.sh pod2ma Makefile.build: ../../doc/loncapafiles/loncapafiles.lpml lpml_parse.pl cat ../../doc/loncapafiles/loncapafiles.lpml | \ - perl lpml_parse.pl build $(CATEGORY) $(DIST) "../.." "" > \ - Makefile.build + perl lpml_parse.pl build $(CATEGORY) $(DIST) "$(SOURCE)" "$(TARGET)" \ + > Makefile.build RPM: BinaryRoot base_rpm_file_list cat ../../doc/loncapafiles/loncapafiles.lpml | \ @@ -190,30 +262,6 @@ base_rpm_file_list: BinaryRoot: base_rpm_file_list make TARGET='BinaryRoot' NORESTORECONF='1' install -loncapaconfig: - rm -Rf LoncapaconfigRoot - install -d LoncapaconfigRoot/usr/src/ - install -d LoncapaconfigRoot/usr/lib/python1.5/site-packages - install /usr/lib/python1.5/site-packages/kudzumodule.so \ - LoncapaconfigRoot/usr/lib/python1.5/site-packages/kudzumodule.so - cd LoncapaconfigRoot/usr/src; cp -pR /mnt/drive/loncapaconfig . - install -d LoncapaconfigRoot/usr/sbin - @echo -e "#!/bin/sh\ncd /usr/src/loncapaconfig/usr/bin; \ - ./loncapaconfig\n" > LoncapaconfigRoot/usr/sbin/loncapaconfig - chmod u+x LoncapaconfigRoot/usr/sbin/loncapaconfig - find LoncapaconfigRoot -type d | xargs chmod o-wxr - find LoncapaconfigRoot -type f | xargs chmod o-wxr - find LoncapaconfigRoot/ -type d | grep 'src/lon' > \ - loncapaconfig_file_list.txt - find LoncapaconfigRoot/ -type d | grep \ - '^LoncapaconfigRoot/usr/lib/python1.5/site-packages' >> \ - loncapaconfig_file_list.txt - find LoncapaconfigRoot/ -type f >> loncapaconfig_file_list.txt - cat loncapaconfig_file_list.txt | perl make_rpm.pl loncapaconfig 3.1 \ - '' '' LoncapaconfigRoot - cp LON-CAPA-loncapaconfig-3.1-1.i386.rpm \ - /mnt/drive/install.lon-capa.org/3.1/currentcdsource/RedHat/RPMS/. - # Generates CVS:loncom/build/docs; root location of install.lon-capa.org doc: install -d docs @@ -225,6 +273,26 @@ doc: install -m 0755 -d docs/reconfig/confexamples install -m 0644 ../../doc/build/confexamples/[^C][^V]* \ docs/reconfig/confexamples + perl doc_template.pl ../../doc/templates/template.html \ + ../../doc/build/installindex.html > docs/index.html + install -m 0755 -d docs/license + perl doc_template.pl ../../doc/templates/template.html \ + ../../doc/build/license.html > docs/license/index.html + install -m 0755 -d docs/contact + perl doc_template.pl ../../doc/templates/template.html \ + ../../doc/build/contact.html > docs/contact/index.html + install -m 0755 -d docs/faq + perl doc_template.pl ../../doc/templates/template.html \ + ../../doc/build/faq.html > docs/faq/index.html + install -m 0755 -d docs/downloads + perl doc_template.pl ../../doc/templates/template.html \ + ../../doc/build/download.html > docs/downloads/index.html + install -m 0755 -d docs/install + perl doc_template.pl ../../doc/templates/template.html \ + ../../doc/build/install.html > docs/install/index.html + install -m 0755 -d docs/upgrade + perl doc_template.pl ../../doc/templates/template.html \ + ../../doc/build/upgrade.html > docs/upgrade/index.html cd docs; tar czvpf ../docs.tar.gz . documentation_tree: cvsreport @@ -281,3 +349,6 @@ clean: rm -f setup_rpm_file_list.txt rm -f docs.tar.gz rm -Rf docs + rm -f program.pl* + rm -Rf lpmladm.* + make -f Makefile.cvs clean