#!/usr/bin/perl =pod =head1 NAME install_web_site_cronjob - maintain install.lon-capa.org web-site every day =head1 DESCRIPTION This is a file that runs periodically on B. This file should be run by the 'loninst' user and be part of the 'loninst' crontab entries (to view loninst crontab, login as loninst and crontab C<-l>; to edit loninst crontab, login as loninst and crontab C<-e>). This file should be on the B filesystem as F. The current 'loninst' crontab entry is: 13 16 * * * /home/loninst/auto/install_web_site_cronjob The main goal of B is to periodically produce the unstable tarball needed for LON-CAPA installation. A secondary yet important function of B is that it also refreshes the documentation present on the install.lon-capa.org web site. This documentation is refreshed based on a file located inside F. This file is named F, where I is the latest stable release of loncapa (e.g. 0.4 or 0.6.1). The F file contains a string that is used to date the release of the current stable version. The coding of this script is a strange brew of shell commands with perl. =head1 AUTHOR Scott Harrison 2002-07-19 =cut # --------------------------------------------- Making the tarball distribution # In an ideal world, this tarball distribution would be always generated with # the "make tardist" command. But instead, unstable is now defined as # "all the gunk we have been working on", whereas the # "make tardist" command means a "carefully inventoried selection of gunk". #`cd /home/loninst/auto; export CVS_PASSFILE=/home/loninst/.cvspass; export CVSROOT=:pserver:scott\@localhost:/home/cvs; rm -Rf loncapa/[C][^V]*; rm -Rf loncapa/[^C]*; cvs -Q co loncapa; cd loncapa/loncom/build; make build 2>/dev/null; make tardist;`; # The real world. Just give them all the gunk for the unstable distribution. `cd /home/loninst/auto; export CVS_PASSFILE=/home/loninst/.cvspass; export CVSROOT=:pserver:scott\@localhost:/home/cvs; rm -Rf loncapa-unstable; rm -Rf loncapa; cvs -Q export -r HEAD loncapa;`; # Generate a README file that advises them about dealing with the gunk. open(OUT,'>/home/loninst/auto/loncapa/README'); print(OUT <; close(IN); # ------------------ Updating the download page with the date of the last build open(IN,"; close(IN); my $date = `date -I`; chomp($date); my $text = join('',@lines); $text =~ s/loncapa-unstable\.tar\.gz\<\/a\>.*?\./loncapa-unstable\.tar\.gz\<\/a\> (generated $date)\./; $text =~ s/LATESTVERSION/$version/g; $text =~ s/LATESTDATE/$releasedate/g; open(OUT,">/home/loninst/public_html/docs/downloads/index.html"); print(OUT $text); close(OUT);