Diff for /loncom/build/Makefile between versions 1.142 and 1.153

version 1.142, 2003/01/20 17:39:00 version 1.153, 2003/08/05 12:52:23
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.6.1  VERSION=0.99.4
 # The current working definition for "RELEASE" is: changes not in the software,  # The current working definition for "RELEASE" is: changes not in the software,
 # but in the operating system dependent packaging of the software.  Thus, the  # but in the operating system dependent packaging of the software.  Thus, the
 # generic tarball releases do not need to have a release number specified.  # 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".  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 91  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 107  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 122  help_TARGETS: Line 124  help_TARGETS:
  @echo "             procedure (via the UPDATE command)"   @echo "             procedure (via the UPDATE command)"
  @echo "postinstall: double-check things after installation"   @echo "postinstall: double-check things after installation"
  @echo "VERSION: tag the filesystem with version information inside"   @echo "VERSION: tag the filesystem with version information inside"
  @echo "         /etc/loncapa-release"   @echo "         /etc/loncapa-release and"
    @echo "         /home/httpd/html/lon-status/version.txt"
  @echo "aboutVERSION: place version information inside about.html"   @echo "aboutVERSION: place version information inside about.html"
    @echo "              and loncapa_apache.conf"
  @echo "*** Makefile.* TARGETS BUILT DYNAMICALLY FROM loncapafiles.lpml ***"   @echo "*** Makefile.* TARGETS BUILT DYNAMICALLY FROM loncapafiles.lpml ***"
  @echo "Makefile.configinstall: generate a Makefile for configuration"   @echo "Makefile.configinstall: generate a Makefile for configuration"
  @echo "                        files; built dynamically from"   @echo "                        files; built dynamically from"
Line 138  help_TARGETS: Line 142  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 199  help_TARGETS: Line 204  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 234  TEST_hosts_tab: Line 242  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 265  configinstall: Makefile.configinstall Line 287  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 275  install: buildflag VERSION TEST_hosts_ta Line 297  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 290  rawinstall: VERSION Makefile.install Mak Line 312  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 315  vanillatar: Line 337  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 330  vanillatar: Line 352  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 344  tardist: Line 366  tardist:
  fi   fi
  cp -v $(SOURCE)/loncom/license/about.html \   cp -v $(SOURCE)/loncom/license/about.html \
  $(SOURCE)/loncom/license/about.html.orig   $(SOURCE)/loncom/license/about.html.orig
    cp -v $(SOURCE)/loncom/loncapa_apache.conf \
    $(SOURCE)/loncom/loncapa_apache.conf.orig
  make aboutVERSION   make aboutVERSION
  cd $(SOURCE); \   cd $(SOURCE); \
  tar --no-recursion --numeric-owner --files-from MANIFEST \   tar --no-recursion --numeric-owner --files-from MANIFEST \
  -h -czf $(DIRTARGET).tar.gz 2>tar_WARNINGS || [ "0" == "0" ]   -h -czf $(DIRTARGET).tar.gz 2>tar_WARNINGS || [ "0" == "0" ]
  mv -v $(SOURCE)/loncom/license/about.html.orig \   mv -v $(SOURCE)/loncom/license/about.html.orig \
  $(SOURCE)/loncom/license/about.html   $(SOURCE)/loncom/license/about.html
    mv -v $(SOURCE)/loncom/loncapa_apache.conf.orig \
    $(SOURCE)/loncom/loncapa_apache.conf
  cat $(SOURCE)/tar_WARNINGS | \   cat $(SOURCE)/tar_WARNINGS | \
  xargs --replace=XXX echo '**** WARNING **** XXX' > WARNINGS   xargs --replace=XXX echo '**** WARNING **** XXX' > WARNINGS
  rm -f $(SOURCE)/tar_WARNINGS   rm -f $(SOURCE)/tar_WARNINGS
Line 390  VERSION: Line 416  VERSION:
  install -d $(TARGET)/etc   install -d $(TARGET)/etc
  echo -n "LON-CAPA release $(VERSION)-" > $(TARGET)/etc/loncapa-release   echo -n "LON-CAPA release $(VERSION)-" > $(TARGET)/etc/loncapa-release
  date +"%Y%m%d" >> $(TARGET)/etc/loncapa-release   date +"%Y%m%d" >> $(TARGET)/etc/loncapa-release
    install -d $(TARGET)/home/httpd/html/lon-status
    echo -n "$(VERSION)-" > $(TARGET)/home/httpd/html/lon-status/version.txt
    date +"%Y%m%d" >> $(TARGET)/home/httpd/html/lon-status/version.txt
   
 aboutVERSION:  aboutVERSION:
  cat $(SOURCE)/loncom/license/about.html | \   cat $(SOURCE)/loncom/license/about.html | \
Line 397  aboutVERSION: Line 426  aboutVERSION:
  $(SOURCE)/loncom/license/about.html.new   $(SOURCE)/loncom/license/about.html.new
  mv -v $(SOURCE)/loncom/license/about.html.new \   mv -v $(SOURCE)/loncom/license/about.html.new \
  $(SOURCE)/loncom/license/about.html   $(SOURCE)/loncom/license/about.html
    cat $(SOURCE)/loncom/loncapa_apache.conf | \
    perl -e '$$d=`date +"%Y%m%d"`;chomp($$d);while(<>){s/\<\!\-\- VERSION \-\-\>/$(VERSION)-$$d/; print;}' > \
    $(SOURCE)/loncom/loncapa_apache.conf.new
    mv -v $(SOURCE)/loncom/loncapa_apache.conf.new \
    $(SOURCE)/loncom/loncapa_apache.conf
   
 # ========= *** Makefile.* TARGETS BUILT DYNAMICALLY FROM loncapafiles.lpml ***  # ========= *** Makefile.* TARGETS BUILT DYNAMICALLY FROM loncapafiles.lpml ***
   
Line 448  lpmladm: Line 482  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 474  MANIFEST_all: Line 508  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 789  backup: Line 825  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:

Removed from v.1.142  
changed lines
  Added in v.1.153


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>