version 1.137, 2002/12/11 22:20:11
|
version 1.152, 2003/07/29 01:06:36
|
Line 1
|
Line 1
|
# The LearningOnline Network with CAPA |
# The LearningOnline Network with CAPA |
|
|
# Scott Harrison, your friendly neighborhood volunteer |
|
# $Id$ |
# $Id$ |
|
|
# TYPICAL USAGE of this Makefile is primarily for two targets: |
# TYPICAL USAGE of this Makefile is primarily for two targets: |
Line 23 SAVE=program.pl.$(TIMESTAMP)
|
Line 22 SAVE=program.pl.$(TIMESTAMP)
|
LAUNCHSAVE=$(OUTSTREAM) $(SAVE) |
LAUNCHSAVE=$(OUTSTREAM) $(SAVE) |
METAMTARGET="" |
METAMTARGET="" |
MTARGET="" |
MTARGET="" |
VERSION=0.5 |
VERSION=0.99.4 |
|
# The current working definition for "RELEASE" is: changes not in the software, |
|
# but in the operating system dependent packaging of the software. Thus, the |
|
# generic tarball releases do not need to have a release number specified. |
|
RELEASE=1 # As a general rule for now, this is always being set to "1". |
DIRTARGET=loncapa-$(VERSION) |
DIRTARGET=loncapa-$(VERSION) |
|
LOCALAUTHPATH=/home/httpd/lib/perl |
|
|
# =============================================== Help targets for the Makefile |
# =============================================== Help targets for the Makefile |
# If 'make' is run without any arguments, the 'help' target is called since |
# If 'make' is run without any arguments, the 'help' target is called since |
Line 87 help_TARGETS:
|
Line 91 help_TARGETS:
|
@echo " (horizontal testing)" |
@echo " (horizontal testing)" |
@echo "TEST_web_layer: mimic a login and various vertical actions on " |
@echo "TEST_web_layer: mimic a login and various vertical actions on " |
@echo " a LON-CAPA system" |
@echo " a LON-CAPA system" |
@echo "TEST_hosts_tab: make sure that a loncapa/loncom/hosts.tab" |
@echo "TEST_hosts_and_domain_tab: make sure that a " |
@echo " file is specified for installation" |
@echo " loncapa/loncom/hosts.tab and loncapa/loncom/domain.tab" |
|
@echo " file is specified for installation" |
@echo "TEST_html2ps: test for the presence of html2ps which is needed" |
@echo "TEST_html2ps: test for the presence of html2ps which is needed" |
@echo " for making a PDF compilation for pdfdoc" |
@echo " for making a PDF compilation for pdfdoc" |
@echo "*** GENERAL TARGETS SUCH AS 'build' AND 'install' ***" |
@echo "*** GENERAL TARGETS SUCH AS 'build' AND 'install' ***" |
Line 103 help_TARGETS:
|
Line 108 help_TARGETS:
|
@echo "rawinstall: just install files, links and directories without" |
@echo "rawinstall: just install files, links and directories without" |
@echo " any bells or whistles (e.g. double-checking" |
@echo " any bells or whistles (e.g. double-checking" |
@echo " configurations, fine-tuning webserver, etc.)" |
@echo " configurations, fine-tuning webserver, etc.)" |
@echo "hosts_tab: install the hosts.tab to the filesystem" |
@echo "hosts_and_domain_tab: install the hosts.tab and domain.tab" |
|
@echo " to the filesystem" |
@echo "webserverconf: fine-tune the web server configuration;" |
@echo "webserverconf: fine-tune the web server configuration;" |
@echo " make sure the proper 'Include' statements" |
@echo " make sure the proper 'Include' statements" |
@echo " are appended to httpd.conf" |
@echo " are appended to httpd.conf" |
Line 134 help_TARGETS:
|
Line 140 help_TARGETS:
|
@echo "*** TARGETS FOR OPERATING ON FILESYSTEMS ACROSS THE NETWORK ***" |
@echo "*** TARGETS FOR OPERATING ON FILESYSTEMS ACROSS THE NETWORK ***" |
@echo "lpmladm: coordinates username=lpmladm mediated secure shell" |
@echo "lpmladm: coordinates username=lpmladm mediated secure shell" |
@echo " processes; needed for the NET_* targets" |
@echo " processes; needed for the NET_* targets" |
@echo "NET_hosts_tab: install the hosts.tab to a filesystem elsewhere" |
@echo "NET_hosts_and_domain_tab: install the hosts.tab and domain.tab" |
@echo " on the network" |
@echo " to a filesystem elsewhere" |
|
@echo " on the network" |
@echo "NET_webserverconf: fine-tune the web server configuration on a" |
@echo "NET_webserverconf: fine-tune the web server configuration on a" |
@echo " filesystem elsewhere on the network" |
@echo " filesystem elsewhere on the network" |
@echo "NET_rawinstall: launch the rawinstall target on a filesystem" |
@echo "NET_rawinstall: launch the rawinstall target on a filesystem" |
Line 195 help_TARGETS:
|
Line 202 help_TARGETS:
|
@echo " instructor data (NOT YET IMPLEMENTED)" |
@echo " instructor data (NOT YET IMPLEMENTED)" |
@echo "restore: reseeds a LON-CAPA server with tarball backups " |
@echo "restore: reseeds a LON-CAPA server with tarball backups " |
@echo " generated by \"make backup\" (NOT YET IMPLEMENTED)" |
@echo " generated by \"make backup\" (NOT YET IMPLEMENTED)" |
|
@echo "*** AUXILIARY TESTS ***" |
|
@echo "localauth: tests to see if localauth exists or not and run" |
|
@echo " appropriate tests" |
@echo "*** A HELPFUL DEPENDENCY ***" |
@echo "*** A HELPFUL DEPENDENCY ***" |
@echo "alwaysrun: blank target that is a dependency for targets" |
@echo "alwaysrun: blank target that is a dependency for targets" |
@echo " that should \"always run\"" |
@echo " that should \"always run\"" |
Line 230 TEST_hosts_tab:
|
Line 240 TEST_hosts_tab:
|
exit 1; \ |
exit 1; \ |
fi |
fi |
|
|
|
TEST_domain_tab: |
|
@echo "Testing domain.tab" |
|
@if (test -e ../domain.tab); then \ |
|
echo "there is a defined link or file; assume okay"; \ |
|
else echo "**** ERROR **** domain.tab not defined!" && \ |
|
echo -n "You need to do one of the following within your " && \ |
|
echo "CVS repository (cd loncapa/loncom)" && \ |
|
echo " 1) ln -s production_domain.tab domain.tab" && \ |
|
echo " 2) ln -s development_domain.tab domain.tab" && \ |
|
echo "or 3) ln -s rawhide_domain.tab domain.tab" && \ |
|
echo "(you most likely want option #1, production_domain.tab)" && \ |
|
exit 1; \ |
|
fi |
|
|
TEST_html2ps: |
TEST_html2ps: |
@if (test -e /usr/local/html2ps/bin/html2ps); then \ |
@if (test -e /usr/local/html2ps/bin/html2ps); then \ |
echo "I can find html2ps; assume okay"; \ |
echo "I can find html2ps; assume okay"; \ |
Line 261 configinstall: Makefile.configinstall
|
Line 285 configinstall: Makefile.configinstall
|
if (test "0" = $(NORESTORECONF)); then \ |
if (test "0" = $(NORESTORECONF)); then \ |
perl loncaparestoreconfigurations suffix .lpmlnew; fi |
perl loncaparestoreconfigurations suffix .lpmlnew; fi |
|
|
install: buildflag VERSION TEST_hosts_tab Makefile.install Makefile |
install: buildflag VERSION TEST_hosts_tab TEST_domain_tab Makefile.install Makefile |
echo -n "" > WARNINGS |
echo -n "" > WARNINGS |
make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" \ |
make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" \ |
directories |
directories |
Line 271 install: buildflag VERSION TEST_hosts_ta
|
Line 295 install: buildflag VERSION TEST_hosts_ta
|
NORESTORECONF="$(NORESTORECONF)" configinstall |
NORESTORECONF="$(NORESTORECONF)" configinstall |
make postinstall |
make postinstall |
make warningnote |
make warningnote |
echo "You can run 'make test' to see if your system is ready to go!" |
@echo "You can now 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 "NOTE THAT YOUR SYSTEM MUST HAVE MYSQL WITH A USER=\"www\" AND" |
echo -n "PASSWORD=\"localhostkey\" FOR www\@localhost" |
# @echo -n "PASSWORD=\"localhostkey\" FOR www\@localhost" |
echo -n "(YOU MAY NEED TO REINITIALIZE YOUR MYSQL www\@localhost USER)" |
# @echo -n "(YOU MAY NEED TO REINITIALIZE YOUR MYSQL www\@localhost USER)" |
echo -n "Please see http://install.lon-capa.org/ for more information" |
# @echo -n "Please see http://install.lon-capa.org/ for more information" |
|
|
rawinstall: VERSION Makefile.install Makefile |
rawinstall: VERSION Makefile.install Makefile |
echo -n "" > WARNINGS |
echo -n "" > WARNINGS |
Line 286 rawinstall: VERSION Makefile.install Mak
|
Line 310 rawinstall: VERSION Makefile.install Mak
|
make SOURCE="$(SOURCE)" TARGET="$(TARGET)" \ |
make SOURCE="$(SOURCE)" TARGET="$(TARGET)" \ |
NORESTORECONF="$(NORESTORECONF)" configinstall |
NORESTORECONF="$(NORESTORECONF)" configinstall |
|
|
hosts_tab: TEST_hosts_tab |
hosts_and_domain_tab: TEST_hosts_tab TEST_domain_tab |
cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \ |
cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \ |
perl xfml_parse.pl $(SOURCE)/doc/loncapafiles/valid_hosts.xfml | \ |
perl xfml_parse.pl $(SOURCE)/doc/loncapafiles/valid_hosts.xfml | \ |
perl lpml_parse.pl install $(CATEGORY) $(DIST) "$(SOURCE)" \ |
perl lpml_parse.pl install $(CATEGORY) $(DIST) "$(SOURCE)" \ |
"$(TARGET)" > Makefile.install |
"$(TARGET)" > Makefile.install |
make -f Makefile.install directories |
make -f Makefile.install directories |
make -f Makefile.install files |
make -f Makefile.install files |
@echo "If hosts.tab has changed, restart httpd and loncontrol:" |
@echo "If hosts.tab or domain.tab has changed, restart httpd and loncontrol:" |
@echo " /etc/rc.d/init.d/httpd restart" |
@echo " /etc/rc.d/init.d/httpd restart" |
@echo " /etc/rc.d/init.d/loncontrol restart" |
@echo " /etc/rc.d/init.d/loncontrol restart" |
|
|
Line 311 vanillatar:
|
Line 335 vanillatar:
|
echo 'make rawinstall' >> $(SOURCE)/UPDATE |
echo 'make rawinstall' >> $(SOURCE)/UPDATE |
echo 'make configinstall' >> $(SOURCE)/UPDATE |
echo 'make configinstall' >> $(SOURCE)/UPDATE |
echo 'make updatequery' >> $(SOURCE)/UPDATE |
echo 'make updatequery' >> $(SOURCE)/UPDATE |
echo 'make hosts_tab' >> $(SOURCE)/UPDATE |
echo 'make hosts_and_domain_tab' >> $(SOURCE)/UPDATE |
echo 'make postinstall' >> $(SOURCE)/UPDATE |
echo 'make postinstall' >> $(SOURCE)/UPDATE |
echo 'make aboutVERSION' >> $(SOURCE)/UPDATE |
echo 'make aboutVERSION' >> $(SOURCE)/UPDATE |
echo 'make warningnote' >> $(SOURCE)/UPDATE |
echo 'make warningnote' >> $(SOURCE)/UPDATE |
Line 326 vanillatar:
|
Line 350 vanillatar:
|
chmod a+rx $(SOURCE)/TEST |
chmod a+rx $(SOURCE)/TEST |
chmod a+rx $(SOURCE)/CHECKRPMS |
chmod a+rx $(SOURCE)/CHECKRPMS |
# -------------------------------- Copy README to the vanilla top-level |
# -------------------------------- Copy README to the vanilla top-level |
cp -v $(SOURCE)/doc/shortest_path_redhat7.2.txt $(SOURCE)/README |
#cp -v $(SOURCE)/doc/shortest_path_redhat7.2.txt $(SOURCE)/README |
|
|
tardist: |
tardist: |
make MANIFEST_all |
make MANIFEST_all |
Line 444 lpmladm:
|
Line 468 lpmladm:
|
echo "**** ERROR **** Incorrect METAMTARGET"; \ |
echo "**** ERROR **** Incorrect METAMTARGET"; \ |
fi |
fi |
|
|
NET_hosts_tab: |
NET_hosts_and_domain_tab: |
make TIMESTAMP=`date +"%s"` METAMTARGET="TRANSPORT" \ |
make TIMESTAMP=`date +"%s"` METAMTARGET="TRANSPORT" \ |
MTARGET="hosts_tab" HOSTNAME="$(HOSTNAME)" lpmladm |
MTARGET="hosts_and_domain_tab" HOSTNAME="$(HOSTNAME)" lpmladm |
|
|
NET_webserverconf: |
NET_webserverconf: |
make TIMESTAMP=`date +"%s"` METAMTARGET="LAUNCH" \ |
make TIMESTAMP=`date +"%s"` METAMTARGET="LAUNCH" \ |
Line 470 MANIFEST_all:
|
Line 494 MANIFEST_all:
|
echo 'loncom/rawhide_hosts.tab' >> $(SOURCE)/MANIFEST |
echo 'loncom/rawhide_hosts.tab' >> $(SOURCE)/MANIFEST |
echo 'loncom/production_hosts.tab' >> $(SOURCE)/MANIFEST |
echo 'loncom/production_hosts.tab' >> $(SOURCE)/MANIFEST |
echo 'loncom/development_hosts.tab' >> $(SOURCE)/MANIFEST |
echo 'loncom/development_hosts.tab' >> $(SOURCE)/MANIFEST |
|
echo 'loncom/production_domain.tab' >> $(SOURCE)/MANIFEST |
|
echo 'loncom/development_domain.tab' >> $(SOURCE)/MANIFEST |
# ------------------ Files needed for dynamically generated directories |
# ------------------ Files needed for dynamically generated directories |
echo 'doc/man' >> $(SOURCE)/MANIFEST |
echo 'doc/man' >> $(SOURCE)/MANIFEST |
echo 'doc/lib' >> $(SOURCE)/MANIFEST |
echo 'doc/lib' >> $(SOURCE)/MANIFEST |
Line 500 MANIFEST_lpml:
|
Line 526 MANIFEST_lpml:
|
cat $(SOURCE)/doc/loncapafiles/testfiles.lpml | \ |
cat $(SOURCE)/doc/loncapafiles/testfiles.lpml | \ |
perl lpml_parse.pl MANIFEST development default \ |
perl lpml_parse.pl MANIFEST development default \ |
'$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST |
'$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST |
|
cat $(SOURCE)/doc/loncapafiles/installfiles.lpml | \ |
|
perl lpml_parse.pl MANIFEST development default \ |
|
'$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST |
cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \ |
cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \ |
perl lpml_parse.pl MANIFEST development default \ |
perl lpml_parse.pl MANIFEST development default \ |
'$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST |
'$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST |
Line 568 RPM: BinaryRoot base_rpm_file_list
|
Line 597 RPM: BinaryRoot base_rpm_file_list
|
cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \ |
cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \ |
perl lpml_parse.pl make_rpm $(CATEGORY) $(DIST) $(SOURCE) $(TARGET) \ |
perl lpml_parse.pl make_rpm $(CATEGORY) $(DIST) $(SOURCE) $(TARGET) \ |
> base_customizerpm.xml |
> base_customizerpm.xml |
cat base_rpm_file_list.txt | perl make_rpm.pl base 3.2 '' '' \ |
cat base_rpm_file_list.txt | perl make_rpm.pl base $(VERSION) \ |
BinaryRoot base_customizerpm.xml |
$(RELEASE) '' '' BinaryRoot base_customizerpm.xml |
|
|
DPKG: |
DPKG: |
make TARGET='lon-capa-$(VERSION)' NORESTORECONF='1' install |
make TARGET='lon-capa-$(VERSION)' NORESTORECONF='1' install |
Line 782 backup:
|
Line 811 backup:
|
restore: |
restore: |
@echo "Not yet implemented" |
@echo "Not yet implemented" |
|
|
|
# ===================================================== *** AUXILIARY TESTS *** |
|
localauth: |
|
@if (test -e $(LOCALAUTHPATH)/localauth.pm) && \ |
|
!(diff $(LOCALAUTHPATH)/localauth-std.pm \ |
|
$(LOCALAUTHPATH)/localauth.pm > /dev/null); then \ |
|
echo "**** WARNING **** $(LOCALAUTHPATH)/localauth.pm is different than the $(LOCALAUTHPATH)/localauth-std.pm; if you have not customized localauth.pm, then please manually overwrite localauth.pm (rm $(LOCALAUTHPATH)/localauth.pm; ln -s $(LOCALAUTHPATH)/localauth-std.pm $(LOCALAUTHPATH)/localauth.pm); if you have customized localauth.pm, then please double-check to see that your customized localauth.pm is compatible with any localauth-std.pm changes for this version of LON-CAPA"| tee -a WARNINGS; \ |
|
elif (test -e $(LOCALAUTHPATH)/localauth.pm) && \ |
|
(diff $(LOCALAUTHPATH)/localauth-std.pm \ |
|
$(LOCALAUTHPATH)/localauth.pm > /dev/null); then \ |
|
echo "**** NOTE **** LOCAL AUTH IS IDENTICAL WITH STANDARD TEMPLATE"| tee -a WARNINGS; \ |
|
elif !(test -e $(LOCALAUTHPATH)/localauth.pm) && \ |
|
(test -e $(LOCALAUTHPATH)/localauth-std.pm); then \ |
|
ln -s $(LOCALAUTHPATH)/localauth-std.pm $(LOCALAUTHPATH)/localauth.pm; \ |
|
fi |
|
|
# ================================================ *** A HELPFUL DEPENDENCY *** |
# ================================================ *** A HELPFUL DEPENDENCY *** |
alwaysrun: |
alwaysrun: |