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

version 1.135, 2002/08/21 20:40:08 version 1.150.2.1, 2003/07/24 22:23:28
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 184  help_TARGETS: Line 191  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 219  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 250  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 275  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 300  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 315  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 354  reseval_fixup: Line 389  reseval_fixup:
  perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \   perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
  tee -a WARNINGS   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) | \
Line 362  sendmail_fix: Line 402  sendmail_fix:
 postinstall:  postinstall:
  make webserverconf   make webserverconf
  make reseval_fixup   make reseval_fixup
    make clearoutoldspreadsheetcache
  make sanitycheck   make sanitycheck
  make sendmail_fix   make sendmail_fix
   
Line 427  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 453  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 483  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 551  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 747  reallyclean: Line 793  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.150.2.1


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