--- nsdl/build/Makefile 2002/05/05 03:16:00 1.1 +++ nsdl/build/Makefile 2002/07/14 00:27:56 1.5 @@ -1,12 +1,12 @@ # The NSDL to LON-CAPA Gateway Server # Scott Harrison -# $Id: Makefile,v 1.1 2002/05/05 03:16:00 harris41 Exp $ +# $Id: Makefile,v 1.5 2002/07/14 00:27:56 harris41 Exp $ DISTPROBE=`perl ./distprobe` DIST=$(DISTPROBE) CATEGORY="development" -SOURCE=../.. +SOURCE=.. TARGET="" NORESTORECONF="0" HOSTNAME="" @@ -54,11 +54,34 @@ help: @echo "tardist: build a tarball that will upgrade the software on a " @echo " system" -build: - @echo "Not yet implemented" +build: Makefile.build + echo -n "" > WARNINGS + make -f Makefile.build all + make warningnote + +Makefile.build: Makefile alwaysrun + cat gatewayfiles.lpml | \ + perl lpml_parse.pl build $(CATEGORY) $(DIST) "$(SOURCE)" \ + "$(TARGET)" > Makefile.build + +NET_install: + make TIMESTAMP=`date +"%s"` METAMTARGET="TRANSPORT" \ + MTARGET="install" HOSTNAME="$(HOSTNAME)" lpmladm + make warningnote + +install: Makefile.install + @echo -n "" > WARNINGS + make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" \ + directories + make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" files + make warningnote + +Makefile.install: Makefile alwaysrun + cat gatewayfiles.lpml | \ + perl lpml_parse.pl install $(CATEGORY) $(DIST) "$(SOURCE)" \ + "$(TARGET)" > Makefile.install -install: - @echo "Not yet implemented" +alwaysrun: test: @echo "Not yet implemented" @@ -87,4 +110,54 @@ statuspost: tardist: @echo "Not yet implemented" +warningnote: + @if (test -s WARNINGS); then \ + W=`grep -c '\*\*\*\* WARNING' WARNINGS`; \ + E=`grep -c '\*\*\*\* ERROR' WARNINGS`; \ + N=`grep -c '\*\*\*\* NOTE' WARNINGS`; \ + echo "---> $$W WARNINGS ENCOUNTERED! "; \ + echo "---> $$E ERRORS ENCOUNTERED! "; \ + echo "---> $$N NOTES ENCOUNTERED! "; \ + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; \ + echo "!!!! Please read the WARNINGS file !!!!"; \ + echo "!!!! to make sure everything is !!!!"; \ + echo "!!!! correct and taken care of !!!!"; \ + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; \ + fi + +lpmladm: + @if (test $(METAMTARGET) = "TRANSPORT"); then \ + echo "Transporting to $(HOSTNAME)"; \ + sudo mkdir lpmladm.$(TIMESTAMP); \ + sudo make DIST=$(DIST) CATEGORY=$(CATEGORY) \ + SOURCE="$(SOURCE)" \ + TARGET="lpmladm.$(TIMESTAMP)" \ + NORESTORECONF="$(NORESTORECONF)" "$(MTARGET)"; \ + cd lpmladm.$(TIMESTAMP); \ + sudo tar czf ../tarball$(TIMESTAMP).tar.gz .; \ + cd ..; scp tarball$(TIMESTAMP).tar.gz \ + lpmladm@$(HOSTNAME):~/tarball$(TIMESTAMP).tar.gz; \ + sudo rm -Rf lpmladm.$(TIMESTAMP); \ + sudo rm -f tarball$(TIMESTAMP).tar.gz; \ + ssh lpmladm@$(HOSTNAME) sudo mv tarball$(TIMESTAMP).tar.gz /; \ + ssh lpmladm@$(HOSTNAME) sudo tar -x -z -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 -u $(LAUNCHUSER) perl $(SAVE); \ + else \ + echo "**** ERROR **** Incorrect METAMTARGET"; \ + fi +# ssh lpmladm@$(HOSTNAME) sudo rm -f $(SAVE); \ + +clean: + @echo "Not yet implemented"