[LON-CAPA-cvs] cvs: loncom /build Makefile
harris41
lon-capa-cvs@mail.lon-capa.org
Wed, 06 Feb 2002 22:41:47 -0000
harris41 Thu Feb 7 03:41:47 2002 EDT
Modified files:
/loncom/build Makefile
Log:
supporting ssh-sudo-lpml-xfml-piml management of files and processes
across a network of computers; it's alpha but works surprisingly well
Index: loncom/build/Makefile
diff -u loncom/build/Makefile:1.65 loncom/build/Makefile:1.66
--- loncom/build/Makefile:1.65 Tue Feb 5 06:49:39 2002
+++ loncom/build/Makefile Thu Feb 7 03:41:47 2002
@@ -1,13 +1,20 @@
# The LearningOnline Network with CAPA
# Scott Harrison
-# $Id: Makefile,v 1.65 2002/02/05 01:49:39 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 ***"
@@ -73,6 +80,10 @@
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 | \
@@ -80,11 +91,42 @@
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
@@ -145,9 +187,13 @@
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)" | perl
+ perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH)
postinstall:
make webserverconf
@@ -301,3 +347,5 @@
rm -f setup_rpm_file_list.txt
rm -f docs.tar.gz
rm -Rf docs
+ rm -f program.pl*
+ rm -Rf lpmladm.*