Diff for /loncom/build/Makefile between versions 1.135 and 1.223

version 1.135, 2002/08/21 20:40:08 version 1.223, 2021/12/21 13:57:47
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 14  DIST=$(DISTPROBE) Line 13  DIST=$(DISTPROBE)
 CATEGORY="development"  CATEGORY="development"
 SOURCE=../..  SOURCE=../..
 TARGET=""  TARGET=""
   CURRSHELL=`echo $(SHELL)`
   ifneq ('/bin/bash',${CURRSHELL})
   CURRSHELL=/bin/bash
   endif
 NORESTORECONF="0"  NORESTORECONF="0"
 HOSTNAME=""  HOSTNAME=""
 LAUNCH=| perl  LAUNCH=| perl
Line 23  SAVE=program.pl.$(TIMESTAMP) Line 26  SAVE=program.pl.$(TIMESTAMP)
 LAUNCHSAVE=$(OUTSTREAM) $(SAVE)  LAUNCHSAVE=$(OUTSTREAM) $(SAVE)
 METAMTARGET=""  METAMTARGET=""
 MTARGET=""  MTARGET=""
 VERSION=0.5  VERSION=CVS_HEAD
   SHOWVERSION=$(VERSION)
   NEXTVERSION=2.12
   ifeq (CVS_HEAD,${VERSION})
   SHOWVERSION=$(NEXTVERSION).$(VERSION)
   endif
   #
   # 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 42  help: Line 56  help:
   
 help_OPTIONS:  help_OPTIONS:
  @echo "* ADJUSTABLE OPTIONS *"   @echo "* ADJUSTABLE OPTIONS *"
  @echo "(option) DIST can be redhat7, debian, redhat6.2, or default"   @echo "(option) DIST can be centosN (N = 5, 6, 7 or 8), rhesN (N = 4, 5, 6, 7 or 8),"
  @echo "         You probably do not need to specify this; it is"   @echo "         scientificN (N = 5, 6 or 7), oracleN (N = 6, 7 or 8), rockyN (N = 8),"
  @echo "         automatically probed for."   @echo "         almaN (N = 8), centosN-stream (N = 8 or 9)," 
    @echo "         or slesN (N = 9, 10, 11, 12 or 15), or debianN (N = 5 or 6),"
    @echo "         or ubuntuN (N= 6, 8, 10, 12, 14, 16, 18 or 20), or fedoraN (N = 1 .. 35),"
    @echo "         or suseN.M (N.M: 9.2 .. 13.2), or default."
    @echo "         It is unlikely you would ever need to specify this,"
    @echo "         as it is automatically probed for."
  @echo "(option) CATEGORY can be 'runtime' or 'development'; currently"   @echo "(option) CATEGORY can be 'runtime' or 'development'; currently"
  @echo "         the 'development' setting is the most reliable;"   @echo "         the 'development' setting is the most reliable;"
  @echo "         eventually, production machines should be using the"   @echo "         eventually, production machines should be using the"
Line 87  help_TARGETS: Line 106  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 123  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 113  help_TARGETS: Line 134  help_TARGETS:
  @echo "         system"   @echo "         system"
  @echo "sanitycheck: probe for common errors and recommend fixes to"   @echo "sanitycheck: probe for common errors and recommend fixes to"
  @echo "             the user"   @echo "             the user"
    @echo "logcleanup: clean spurious logfile entries"
    @echo "clean_file_permissions: Remove erroneous keys from the  "
    @echo "    file_permissions.db"
    @echo "accesscount_seed: Migrate the access counting mechanism from "
    @echo "    nohist_reseval.db to nohist_accesscount.db."
    @echo "modify_config_files: Perform automatic update of the "
    @echo "    configuration files for yum and MySQL."
    @echo "langcheck: test to see if root bash and OS are using English."
    @echo "ntpcheck: test to see if ntp is installed and running."
    @echo "html_parser_check: test functionality of HTML::Parser."
    @echo "math_random_check: test functionality of Math::Random."
    @echo "cron_lpmlcheck: remove cron file /etc/cron.d/loncapa.lpml."
    @echo "chkconfig: test runlevels of httpd and loncontrol."
    @echo "rpmcheck: test to see if rpms known to confict are installed."
    @echo "wrap_setuid: put a C wrapper around setuid scripts."
           @echo "latex_fixup: regenerate ls-R database for the latex base."
    @echo "picins_check: check for picins.sty, retrieve and rebuild"
    @echo "             filename databases used by LaTeX"
    @echo "mimetex_version_check: check if mimetex.cgi version has changed,"
    @echo "                      if so remove files from mimetexcache."
    @echo "latex_fmtutil: run utility to maintain TeX format files system-wide."
    @echo "lcmathcomplex: set nvsize in LCMathComplex, if different from default."
    @echo "removenolongerused: check if there are files from previous
    @echo "                    LON-CAPA version; if so, prompt for removal."
  @echo "updatequery: solicit the user for machine configuration"   @echo "updatequery: solicit the user for machine configuration"
  @echo "             information; to be incorporated during an update"   @echo "             information; to be incorporated during an update"
  @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 "postaboutVERSION: restore default version <!-- VERSION --> to"
    @echo "                  about.html 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 134  help_TARGETS: Line 183  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 184  help_TARGETS: Line 234  help_TARGETS:
  @echo "       interfere with rebuilding/recompiling software"   @echo "       interfere with rebuilding/recompiling software"
  @echo "reallyclean: remove all files that were generated during"   @echo "reallyclean: remove all files that were generated during"
  @echo "             building or compilation of the software"   @echo "             building or compilation of the software"
    @echo "uninstall: remove all directories that do not contain files"
    @echo "           from other software packages and that do not contain"
    @echo "           student and instructor data; NOTE THAT THIS IS"
    @echo "           INTERACTIVE--you will be given a final chance"
    @echo "           to look at what will and will not be deleted."
    @echo "           Still, be careful.  This is a very new target and is"
    @echo "           an alpha-level software feature for now."
    @echo "backup: rolls a tarball backup of all important student and "
    @echo "        instructor data (NOT YET IMPLEMENTED)"
    @echo "restore: reseeds a LON-CAPA server with tarball backups "
    @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 216  TEST_hosts_tab: Line 280  TEST_hosts_tab:
      echo "   2) ln -s development_hosts.tab hosts.tab" && \       echo "   2) ln -s development_hosts.tab hosts.tab" && \
      echo "or 3) ln -s rawhide_hosts.tab hosts.tab" && \       echo "or 3) ln -s rawhide_hosts.tab hosts.tab" && \
      echo "(you most likely want option #1, production_hosts.tab)" && \       echo "(you most likely want option #1, production_hosts.tab)" && \
        echo " and also one of the following within your " && \
        echo "CVS repository (cd loncapa/loncom)" && \
        echo "   1) ln -s production_dns_hosts.tab dns_hosts.tab" && \
        echo "   2) ln -s development_dns_hosts.tab dns_hosts.tab" && \
        echo "(you most likely want option #1, production_dns_hosts.tab)" && \
        exit 1; \
    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)" && \
        echo " and also one of the following within your " && \
        echo "CVS repository (cd loncapa/loncom)" && \
        echo "   1) ln -s production_dns_domain.tab dns_domain.tab" && \
        echo "   2) ln -s development_dns_domain.tab dns_domain.tab" && \
        echo "(you most likely want option #1, production_dns_domain.tab)" && \
      exit 1; \       exit 1; \
  fi   fi
   
Line 250  configinstall: Makefile.configinstall Line 338  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 aboutVERSION
  make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" \   make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" \
  directories   directories
  make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" files   make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" files
Line 260  install: buildflag VERSION TEST_hosts_ta Line 349  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 275  rawinstall: VERSION Makefile.install Mak Line 364  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"
   
 webserverconf:  webserverconf:
  cat $(SOURCE)/doc/loncapafiles/webserver.piml | \   cat $(SOURCE)/doc/loncapafiles/webserver.piml | \
  perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH)   perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
 # ---------------- Top-level files such as README, UPDATE, CHECKRPMS, and TEST  # ---------------- Top-level files such as README, UPDATE, CHECKRPMS, and TEST
 vanillatar:  vanillatar:
  # --------------------------- Point UPDATE to the internal make process   # --------------------------- Point UPDATE to the internal make process
  echo '#!/bin/sh' > $(SOURCE)/UPDATE   cp  $(SOURCE)/loncom/UPDATE $(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   # ----------------------------- Point TEST to the internal make process
  echo '#!/bin/sh' > $(SOURCE)/TEST   echo '#!/bin/sh' > $(SOURCE)/TEST
  echo 'cd loncom/build; make test' >> $(SOURCE)/TEST   echo 'cd loncom/build; make test' >> $(SOURCE)/TEST
Line 315  vanillatar: Line 395  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 327  tardist: Line 407  tardist:
  else \   else \
  ln -s . $(DIRTARGET); \   ln -s . $(DIRTARGET); \
  fi   fi
  cp -v $(SOURCE)/loncom/license/about.html \  
  $(SOURCE)/loncom/license/about.html.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 \   make postaboutVERSION
  $(SOURCE)/loncom/license/about.html  
  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
  make warningnote   make warningnote
   
   langcheck:
    cat $(SOURCE)/doc/loncapafiles/langcheck.piml | \
    perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
   ntpcheck:
    cat $(SOURCE)/doc/loncapafiles/ntpcheck.piml | \
    perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
   html_parser_check:
    cat $(SOURCE)/doc/loncapafiles/html_parser_check.piml | \
    perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
   math_random_check:
    cat $(SOURCE)/doc/loncapafiles/math_random_check.piml | \
    perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
   cron_lpmlcheck:
    cat $(SOURCE)/doc/loncapafiles/cron_lpmlcheck.piml | \
    perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
   chkconfig:
    cat $(SOURCE)/doc/loncapafiles/chkconfig.piml | \
    perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
   rpmcheck:
    cat $(SOURCE)/doc/loncapafiles/rpmcheck.piml | \
    perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
 sanitycheck:  sanitycheck:
  cat $(SOURCE)/doc/loncapafiles/sanitycheck.piml | \   cat $(SOURCE)/doc/loncapafiles/sanitycheck.piml | \
  perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \   perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
  tee -a WARNINGS   tee -a WARNINGS
   
   logcleanup:
    cat $(SOURCE)/doc/loncapafiles/logcleanup.piml | \
    perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
 updatequery:  updatequery:
  cat $(SOURCE)/doc/loncapafiles/updatequery.piml | \   cat $(SOURCE)/doc/loncapafiles/updatequery.piml | \
  perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(QUERYLAUNCH)   perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(QUERYLAUNCH)
   
   run_searchcat:
    cat $(SOURCE)/doc/loncapafiles/run_searchcat.piml | \
    perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(QUERYLAUNCH)
   
   clean_file_permissions:
    cat $(SOURCE)/doc/loncapafiles/clean_file_permissions.piml | \
    perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
   accesscount_seed:
    cat $(SOURCE)/doc/loncapafiles/accesscount_seed.piml | \
    perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
   modify_config_files:
    cat $(SOURCE)/doc/loncapafiles/modify_config_files.piml | \
    perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
 reseval_fixup:  reseval_fixup:
  cat $(SOURCE)/doc/loncapafiles/reseval_fixup.piml | \   cat $(SOURCE)/doc/loncapafiles/reseval_fixup.piml | \
  perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \   perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
  tee -a WARNINGS   tee -a WARNINGS
   
   update_queue_slots:
    cat $(SOURCE)/doc/loncapafiles/update_queue_slots.piml | \
    perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
   clearoutoldspreadsheetcache:
    cat $(SOURCE)/doc/loncapafiles/clearoutoldspreadsheetcache.piml | \
    perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
 sendmail_fix:  sendmail_fix:
  cat $(SOURCE)/doc/loncapafiles/sendmail_fix.piml | \   cat $(SOURCE)/doc/loncapafiles/sendmail_fix.piml | \
  perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \   perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
  tee -a WARNINGS   tee -a WARNINGS
   
   ownership_fix:
    cat $(SOURCE)/doc/loncapafiles/ownership_fix.piml | \
    perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
   wrap_setuid:
    cat $(SOURCE)/doc/loncapafiles/wrap_setuid.piml | \
    perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
   latex_fixup:
    cat $(SOURCE)/doc/loncapafiles/latex_fixup.piml | \
           perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
           tee -a WARNINGS
   
   picins_check:
    cat $(SOURCE)/doc/loncapafiles/picins_check.piml | \
    perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
   mimetex_version_check:
    cat $(SOURCE)/doc/loncapafiles/mimetex_version_check.piml | \
    perl piml_parse.pl  $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
   verify_domconfiguser:
    cat $(SOURCE)/doc/loncapafiles/verify_domconfiguser.piml | \
    perl piml_parse.pl  $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
   latex_fmtutil:
    cat $(SOURCE)/doc/loncapafiles/latex_fmtutil.piml | \
    perl piml_parse.pl  $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
   lcmathcomplex:
    cat $(SOURCE)/doc/loncapafiles/lcmathcomplex.piml | \
    perl piml_parse.pl  $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
    tee -a WARNINGS
   
   removenolongerused:
    cat $(SOURCE)/doc/loncapafiles/removenolongerused.piml | \
    perl piml_parse.pl  $(CATEGORY) $(DIST) "$(TARGET)" $(QUERYLAUNCH)
   
 postinstall:  postinstall:
    make postaboutVERSION
  make webserverconf   make webserverconf
  make reseval_fixup   make reseval_fixup
    make clean_file_permissions
    make accesscount_seed
    make update_queue_slots
    make modify_config_files
    make clearoutoldspreadsheetcache
    make langcheck
    make chkconfig
    make rpmcheck
    make ntpcheck
    make html_parser_check
    make cron_lpmlcheck
  make sanitycheck   make sanitycheck
    make logcleanup
  make sendmail_fix   make sendmail_fix
    make wrap_setuid
    make latex_fixup
    make picins_check
    make mimetex_version_check
    make verify_domconfiguser
    make latex_fmtutil
    make lcmathcomplex
    sed -i "s/\x08\x08*/.../g" WARNINGS
 VERSION:  VERSION:
  install -d $(TARGET)/etc   install -d $(TARGET)/etc
    if (test -e /etc/loncapa-release); then \
    cp -p -v /etc/loncapa-release /etc/loncapa-release.prev; \
    fi
  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:
    cp -p -v $(SOURCE)/loncom/license/about.html \
    $(SOURCE)/loncom/license/about.html.orig
  cat $(SOURCE)/loncom/license/about.html | \   cat $(SOURCE)/loncom/license/about.html | \
  perl -e '$$d=`date +"%Y%m%d"`;chomp($$d);while(<>){s/\<\!\-\- VERSION \-\-\>/$(VERSION)-$$d/; print;}' > \   perl -e '$$d=`date +"%Y%m%d%H"`;chomp($$d);while(<>){s/(\<\!\-\- VERSION \-\-\>|\d+\.\d+\.CVS_HEAD\-\d{10})/$(SHOWVERSION)-$$d/; print;}' > \
  $(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
    touch --date="$(shell echo `perl getcvsdate.pl \
    $(SOURCE)/loncom/license/CVS/Entries about.html`)" \
    $(SOURCE)/loncom/license/about.html
    cp -p -v $(SOURCE)/loncom/loncapa_apache.conf \
    $(SOURCE)/loncom/loncapa_apache.conf.orig
    cat $(SOURCE)/loncom/loncapa_apache.conf | \
    perl -e '$$d=`date +"%Y%m%d%H"`;chomp($$d);while(<>){s/(\<\!\-\- VERSION \-\-\>|\d+\.\d+\.CVS_HEAD\-\d{10})/$(SHOWVERSION)-$$d/; print;}' > \
    $(SOURCE)/loncom/loncapa_apache.conf.new
    mv -v $(SOURCE)/loncom/loncapa_apache.conf.new \
    $(SOURCE)/loncom/loncapa_apache.conf
    touch --date="$(shell echo `perl getcvsdate.pl \
    $(SOURCE)/loncom/CVS/Entries loncapa_apache.conf`)" \
    $(SOURCE)/loncom/loncapa_apache.conf
   
   postaboutVERSION:
    if (test -e $(SOURCE)/loncom/license/about.html.orig) && \
    (diff $(SOURCE)/loncom/license/about.html.orig \
    $(SOURCE)/loncom/license/about.html > /dev/null); then \
    mv -v $(SOURCE)/loncom/license/about.html.orig \
    $(SOURCE)/loncom/license/about.html; \
    elif (test -e $(SOURCE)/loncom/license/about.html.orig) && \
    !(diff $(SOURCE)/loncom/license/about.html.orig \
    $(SOURCE)/loncom/license/about.html > /dev/null); then \
    rm -f $(SOURCE)/loncom/license/about.html.orig; \
    fi
    touch --date="$(shell echo `perl getcvsdate.pl \
    $(SOURCE)/loncom/license/CVS/Entries about.html`)" \
    $(SOURCE)/loncom/license/about.html
    if (test -e $(SOURCE)/loncom/loncapa_apache.conf.orig) && \
    (diff $(SOURCE)/loncom/loncapa_apache.conf.orig \
    $(SOURCE)/loncom/loncapa_apache.conf > /dev/null); then \
    mv -v $(SOURCE)/loncom/loncapa_apache.conf.orig \
    $(SOURCE)/loncom/loncapa_apache.conf; \
    elif (test -e $(SOURCE)/loncom/loncapa_apache.conf.orig) && \
    !(diff $(SOURCE)/loncom/loncapa_apache.conf.orig \
    $(SOURCE)/loncom/loncapa_apache.conf > /dev/null); then \
    rm -f $(SOURCE)/loncom/loncapa_apache.conf.orig; \
    fi
    touch --date="$(shell echo `perl getcvsdate.pl \
    $(SOURCE)/loncom/CVS/Entries loncapa_apache.conf`)" \
    $(SOURCE)/loncom/loncapa_apache.conf
   
 # ========= *** Makefile.* TARGETS BUILT DYNAMICALLY FROM loncapafiles.lpml ***  # ========= *** Makefile.* TARGETS BUILT DYNAMICALLY FROM loncapafiles.lpml ***
   
Line 388  Makefile.configinstall: $(SOURCE)/doc/lo Line 647  Makefile.configinstall: $(SOURCE)/doc/lo
 Makefile.build: $(SOURCE)/doc/loncapafiles/loncapafiles.lpml lpml_parse.pl  Makefile.build: $(SOURCE)/doc/loncapafiles/loncapafiles.lpml lpml_parse.pl
  cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \   cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \
  perl lpml_parse.pl build $(CATEGORY) $(DIST) "$(SOURCE)" "$(TARGET)" \   perl lpml_parse.pl build $(CATEGORY) $(DIST) "$(SOURCE)" "$(TARGET)" \
  > Makefile.build   "$(CURRSHELL)" > Makefile.build
   
 Makefile.install: alwaysrun  Makefile.install: alwaysrun
  cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \   cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \
Line 427  lpmladm: Line 686  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 453  MANIFEST_all: Line 712  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
    echo 'loncom/production_dns_hosts.tab' >> $(SOURCE)/MANIFEST
    echo 'loncom/development_dns_hosts.tab' >> $(SOURCE)/MANIFEST
    echo 'loncom/production_dns_domain.tab' >> $(SOURCE)/MANIFEST
    echo 'loncom/development_dns_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 478  MANIFEST_cvs: Line 743  MANIFEST_cvs:
 # ------------------- MANIFEST the building, testing and standard loncapa files  # ------------------- MANIFEST the building, testing and standard loncapa files
 MANIFEST_lpml:  MANIFEST_lpml:
  cat $(SOURCE)/doc/loncapafiles/buildfiles.lpml | \   cat $(SOURCE)/doc/loncapafiles/buildfiles.lpml | \
  perl lpml_parse.pl MANIFEST development default \   perl lpml_parse.pl MANIFEST development $(DIST) \
  '$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST   '$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST
  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 $(DIST) \
    '$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST
    cat $(SOURCE)/doc/loncapafiles/installfiles.lpml | \
    perl lpml_parse.pl MANIFEST development $(DIST) \
  '$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST   '$(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 $(DIST) \
  '$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST   '$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST
   
 # ------------ Files for top-level (the vanilla layer that the user first sees)  # ------------ Files for top-level (the vanilla layer that the user first sees)
Line 551  RPM: BinaryRoot base_rpm_file_list Line 819  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 582  BinaryRoot: base_rpm_file_list Line 850  BinaryRoot: base_rpm_file_list
   
 # ======================================== *** MASTER DOCUMENTATION TARGETS ***  # ======================================== *** MASTER DOCUMENTATION TARGETS ***
   
   buildwebsite:
    cd ../../doc/build; perl ./generate_web_pages.pl
   
   
 # Generates CVS:loncom/build/docs; root location of install.lon-capa.org  # Generates CVS:loncom/build/docs; root location of install.lon-capa.org
 doc:  doc:
  install -d docs   install -d docs
Line 747  reallyclean: Line 1019  reallyclean:
  make -f Makefile.cvs clean   make -f Makefile.cvs clean
  rm -f WARNINGS   rm -f WARNINGS
   
   uninstall:
    rm -f UNINSTALL_SHELL_COMMANDS
    cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \
    perl lpml_parse.pl uninstall_shell_commands $(CATEGORY) $(DIST) \
    "$(SOURCE)" "$(TARGET)" > UNINSTALL_SHELL_COMMANDS
    @echo -n "**** NOTE **** A file \"UNINSTALL_SHELL_COMMANDS\" has been "
    @echo "generated."
    @echo "First, you should view the contents of this file."
    @echo "If you are happy with the 'rm -Rf'! commands (or at least"
    @echo "have another job lined up in case of catastrophe), then you "
    @echo "can execute the following: sh ./UNINSTALL_SHELL_COMMANDS"
   
   backup:
    @echo "Not yet implemented"
   
   restore:
    @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.135  
changed lines
  Added in v.1.223


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