--- loncom/build/Makefile 2002/05/09 02:14:37 1.104 +++ loncom/build/Makefile 2002/07/19 18:54:41 1.128 @@ -1,28 +1,29 @@ # The LearningOnline Network with CAPA # Scott Harrison -# $Id: Makefile,v 1.104 2002/05/09 02:14:37 harris41 Exp $ +# $Id: Makefile,v 1.128 2002/07/19 18:54:41 harris41 Exp $ DISTPROBE=`perl ./distprobe` DIST=$(DISTPROBE) CATEGORY="development" SOURCE=../.. TARGET="" -DIRTARGET=loncapa NORESTORECONF="0" HOSTNAME="" LAUNCH=| perl +QUERYLAUNCH=> /tmp/loncapa_query.pl; perl /tmp/loncapa_query.pl OUTSTREAM=> SAVE=program.pl.$(TIMESTAMP) LAUNCHSAVE=$(OUTSTREAM) $(SAVE) METAMTARGET="" MTARGET="" -VERSION=0.1 +VERSION=0.4 +DIRTARGET=loncapa-$(VERSION) -help: +help: @echo "*** You need to specify a valid target ***" @echo "NOTE: You can specify options to your Makefile target." - @echo "(option) DIST can be redhat7.1, debian, redhat6.2, or default" + @echo "(option) DIST can be redhat7, debian, redhat6.2, or default" @echo "(option) CATEGORY can be runtime or development" @echo "(option) SOURCE is an absolute or relative directory path" @echo "(option) TARGET is an absolute or relative directory path" @@ -41,7 +42,7 @@ help: @echo "HTML: generate an HTML-formatted description of the LON-CAPA" @echo " CVS files" @echo "documentation_tree: compiles a documentation tree from the " - @echo " CVS:doc directory" + @echo " CVS:doc directory" @echo "status: compare the TARGET filesystem with a compiled CVS " @echo " source directory" @echo "statuspost: post the results of "make status" to " @@ -74,7 +75,7 @@ TEST_web_layer: TEST_hosts_tab: @echo "Testing hosts.tab" - @if (test -h ../hosts.tab); then \ + @if (test -e ../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 " && \ @@ -206,14 +207,29 @@ sanitycheck: updatequery: cat $(SOURCE)/doc/loncapafiles/updatequery.piml | \ - perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ - tee -a WARNINGS + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(QUERYLAUNCH) postinstall: make webserverconf make sanitycheck -install: TEST_hosts_tab Makefile.install Makefile +NET_rawinstall: + make TIMESTAMP=`date +"%s"` METAMTARGET="TRANSPORT" \ + MTARGET="rawinstall" HOSTNAME="$(HOSTNAME)" lpmladm + +VERSION: + install -d $(TARGET)/etc + echo -n "LON-CAPA release $(VERSION)-" > $(TARGET)/etc/loncapa-release + date +"%Y%m%d" >> $(TARGET)/etc/loncapa-release + +aboutVERSION: + cat $(SOURCE)/loncom/license/about.html | \ + perl -e '$$d=`date +"%Y%m%d"`;chomp($$d);while(<>){s/\<\!\-\- VERSION \-\-\>/$(VERSION)-$$d/; print;}' > \ + $(SOURCE)/loncom/license/about.html.new + mv -v $(SOURCE)/loncom/license/about.html.new \ + $(SOURCE)/loncom/license/about.html + +install: VERSION TEST_hosts_tab Makefile.install Makefile echo -n "" > WARNINGS make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" \ directories @@ -224,8 +240,21 @@ install: TEST_hosts_tab Makefile.install make postinstall make warningnote echo "You can run 'make test' to see if your system is ready to go!" + echo "NOTE THAT YOUR SYSTEM MUST HAVE MYSQL WITH A USER=\"www\" AND" + echo -n "PASSWORD=\"localhostkey\" FOR www\@localhost" + echo -n "(YOU MAY NEED TO REINITIALIZE YOUR MYSQL www\@localhost USER)" + echo -n "Please see http://install.lon-capa.org/ for more information" -Makefile.install: $(SOURCE)/doc/loncapafiles/loncapafiles.lpml lpml_parse.pl +rawinstall: VERSION Makefile.install Makefile + echo -n "" > WARNINGS + make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" \ + directories + make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" files + make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" links + make SOURCE="$(SOURCE)" TARGET="$(TARGET)" \ + NORESTORECONF="$(NORESTORECONF)" configinstall + +Makefile.install: alwaysrun cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \ perl lpml_parse.pl install $(CATEGORY) $(DIST) "$(SOURCE)" \ "$(TARGET)" > Makefile.install @@ -327,6 +356,10 @@ doc: cd docs/install; ln -fs ../installation_manual.pdf install.pdf perl doc_template.pl $(SOURCE)/doc/templates/template.html \ $(SOURCE)/doc/build/install.html > docs/install/index.html + cp -v $(SOURCE)/doc/install/redhat7.3/new_install_rh73.html \ + docs/install/rh73.html + cp -v $(SOURCE)/doc/install/redhat7.3/new_install_rh73.html \ + docs/downloads/rh73.html install -m 0755 -d docs/upgrade cd docs/upgrade; ln -fs ../installation_manual.pdf upgrade.pdf perl doc_template.pl $(SOURCE)/doc/templates/template.html \ @@ -358,7 +391,7 @@ pdfdoc: TEST_html2ps # mpage -P- -1 -H [^C]* > ../../../loncom/build/pdfdoc/confexamples.ps install -d pdfdoc/confexamples cd $(SOURCE)/doc/build/confexamples; \ - find . -type f | cut -b3- | grep -v '^C' | perl -nle \ + find . -type f | cut -b3- | grep -v '^C' | grep -v 'keyword' | perl -nle \ '`mpage -P- -1 -H $$_ > ../../../loncom/build/pdfdoc/confexamples/$$_.ps`;' echo '' > pdfdoc/contents.txt echo '' >> pdfdoc/contents.txt @@ -422,6 +455,7 @@ tardist: echo 'UPDATE' >> $(SOURCE)/MANIFEST echo 'TEST' >> $(SOURCE)/MANIFEST echo 'CHECKRPMS' >> $(SOURCE)/MANIFEST + # ---------------------------------- might as well include the MANIFEST echo 'MANIFEST' >> $(SOURCE)/MANIFEST # ------------------------------------------ hosts.tab are belong to us echo 'loncom/rawhide_hosts.tab' >> $(SOURCE)/MANIFEST @@ -435,7 +469,16 @@ tardist: echo 'doc/scripts' >> $(SOURCE)/MANIFEST # --------------------------- Point UPDATE to the internal make process echo '#!/bin/sh' > $(SOURCE)/UPDATE - echo 'cd loncom/build; make build; make install' >> $(SOURCE)/UPDATE + echo 'touch loncom/build/WARNINGS' >> $(SOURCE)/UPDATE; + echo 'ln -s loncom/build/WARNINGS WARNINGS' >> $(SOURCE)/UPDATE; + echo 'cd loncom/build; make build' >> $(SOURCE)/UPDATE + echo 'make rawinstall' >> $(SOURCE)/UPDATE + echo 'make configinstall' >> $(SOURCE)/UPDATE + echo 'make updatequery' >> $(SOURCE)/UPDATE + echo 'make hosts_tab' >> $(SOURCE)/UPDATE + echo 'make postinstall' >> $(SOURCE)/UPDATE + echo 'make aboutVERSION' >> $(SOURCE)/UPDATE + echo 'make warningnote' >> $(SOURCE)/UPDATE # ----------------------------- Point TEST to the internal make process echo '#!/bin/sh' > $(SOURCE)/TEST echo 'cd loncom/build; make test' >> $(SOURCE)/TEST @@ -462,17 +505,46 @@ tardist: else \ ln -s . $(DIRTARGET); \ fi + cp -v $(SOURCE)/loncom/license/about.html \ + $(SOURCE)/loncom/license/about.html.orig + make aboutVERSION + cd $(SOURCE); \ tar --no-recursion --numeric-owner --files-from MANIFEST_loncapa \ - -h -czf loncapa.tar.gz 2>WARNINGS || [ "0" == "0" ] + -h -czf $(DIRTARGET).tar.gz 2>WARNINGS || [ "0" == "0" ] + mv -v $(SOURCE)/loncom/license/about.html.orig \ + $(SOURCE)/loncom/license/about.html cat $(SOURCE)/WARNINGS | \ xargs --replace=XXX echo '**** WARNING **** XXX' > WARNINGS rm -f $(SOURCE)/WARNINGS make warningnote clean: + rm -Rf HTML + rm -f installation_manual.pdf + rm -f Makefile.build + rm -f Makefile.install + 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 -Rf pdfdoc + rm -f program.pl* + rm -Rf lpmladm.* + rm -f WARNINGS + rm -f $(SOURCE)/loncom/build/hosts.tab + +reallyclean: rm -f $(SOURCE)/README rm -f $(SOURCE)/UPDATE rm -f $(SOURCE)/TEST + rm -f $(SOURCE)/MANIFEST + rm -f $(SOURCE)/loncapa + rm -f $(SOURCE)/loncom/build/hosts.tab rm -f $(SOURCE)/loncapa.tar.gz rm -Rf HTML rm -f installation_manual.pdf @@ -492,3 +564,5 @@ clean: rm -Rf lpmladm.* make -f Makefile.cvs clean rm -f WARNINGS + +alwaysrun: