--- loncom/build/Makefile 2002/02/04 23:40:47 1.63 +++ loncom/build/Makefile 2002/02/06 22:41:47 1.66 @@ -1,13 +1,20 @@ # The LearningOnline Network with CAPA # Scott Harrison -# $Id: Makefile,v 1.63 2002/02/04 23:40:47 harris41 Exp $ +# $Id: Makefile,v 1.66 2002/02/06 22:41:47 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 ***" @@ -72,6 +79,54 @@ 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 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 @@ -132,6 +187,17 @@ warningnote: 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) + +postinstall: + make webserverconf + install: TEST_hosts_tab Makefile.install Makefile echo -n "" > WARNINGS make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" \ @@ -281,3 +347,5 @@ clean: rm -f setup_rpm_file_list.txt rm -f docs.tar.gz rm -Rf docs + rm -f program.pl* + rm -Rf lpmladm.*