--- loncom/build/Makefile 2002/01/09 23:10:46 1.59 +++ loncom/build/Makefile 2002/02/11 06:29:04 1.67 @@ -1,13 +1,20 @@ # The LearningOnline Network with CAPA # Scott Harrison -# $Id: Makefile,v 1.59 2002/01/09 23:10:46 harris41 Exp $ +# $Id: Makefile,v 1.67 2002/02/11 06:29:04 harris41 Exp $ DIST="default" 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 ***" @@ -59,6 +66,67 @@ TEST_lpml_scripts: TEST_web_layer: @echo "Testing of web layers is not yet implemented." +TEST_hosts_tab: + @echo "Testing hosts.tab" + @if (test -h ../hosts.tab); then \ + echo "there is a defined link; assume okay"; \ + else echo "**** ERROR **** hosts.tab not defined!" && \ + echo -n "You need to do one of the following within your " && \ + echo "CVS repository" && \ + echo " 1) cd ../; ln -s production_hosts.tab hosts.tab" && \ + echo " 2) cd ../; ln -s development_hosts.tab hosts.tab" && \ + echo "or 3) cd ../; ln -s rawhide_hosts.tab 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 xfml_parse.pl ../../doc/loncapafiles/no_globs.xfml | \ + perl xfml_parse.pl ../../doc/loncapafiles/no_links.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 @@ -119,7 +187,18 @@ warningnote: cat WARNINGS; \ fi -install: Makefile.install Makefile +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) + +postinstall: + make webserverconf + +install: TEST_hosts_tab Makefile.install Makefile echo -n "" > WARNINGS make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" \ directories @@ -145,7 +224,9 @@ Makefile.build: ../../doc/loncapafiles/l Makefile.build RPM: BinaryRoot base_rpm_file_list - cat ../../doc/loncapafiles/loncapafiles.lpml | perl lpml_parse.pl make_rpm $(CATEGORY) $(DIST) $(SOURCE) $(TARGET) > base_customizerpm.xml + cat ../../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 @@ -160,6 +241,12 @@ setup_RPM: cat setup_rpm_file_list.txt | perl make_rpm.pl setup 3.2 '' '' \ SetupBinaryRoot customizerpm.xml +DPKG: + make TARGET='LON-CAPA-base' NORESTORECONF='1' install + @echo "You will next need to follow instructions at:" + @echo "http://people.debian.org/~jaldhar/make_package1.html" + @echo "A directory with a snapshot of the debian package files" + @echo "is LON-CAPA-base." base_rpm_file_list: cat ../../doc/loncapafiles/loncapafiles.lpml | \ @@ -193,6 +280,27 @@ loncapaconfig: 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 + install -m 0755 -d docs/icons + install -m 0644 ../../doc/icons/[^C][^V]* docs/icons + install -m 0755 -d docs/reconfig + perl doc_template.pl ../../doc/templates/template.html \ + ../../doc/build/reconfig.html > docs/reconfig/index.html + 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 + cd docs; tar czvpf ../docs.tar.gz . + documentation_tree: cvsreport install -d docs install ../../doc/build/cvsreport.html docs/cvsreport.html @@ -241,6 +349,12 @@ clean: rm -f Makefile.configinstall rm -Rf BinaryRoot rm -Rf SetupBinaryRoot + rm -Rf LON-CAPA-base rm -f base_rpm_file_list.txt rm -f base_customizerpm.xml 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