#!/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/autotardist The main goal of B is to periodically produce the 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. 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 `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;`; # ---------------------------------------- Dynamically generating documentation `cd /home/loninst/auto/loncapa/loncom/build; make pdfdoc`; `cd /home/loninst/auto/loncapa/loncom/build; make doc`; `cd /home/loninst/auto/loncapa/loncom/build; cp docs.tar.gz /home/loninst/public_html/docs/.`; `cd /home/loninst/public_html/docs; tar xzf docs.tar.gz`; # ------------------------------------ Copying over the latest unstable tarball my $filename=`cd /home/loninst/auto; find loncapa -type f -name *.tar.gz -maxdepth 1`; chomp($filename); $filename=~/loncapa\/loncapa\-(.*?)\.tar\.gz/; my $version=$1; `cd /home/loninst/auto; cp -f loncapa/loncapa-$version.tar.gz ../public_html/versions/loncapa-$version-unstable.tar.gz`; `cd /home/loninst/public_html/versions; rm -f loncapa-unstable.tar.gz; ln -s loncapa-$version-unstable.tar.gz loncapa-unstable.tar.gz`; # ------------------ 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/loncapa-current\.tar\.gz\<\/a\>.*?\./loncapa-current\.tar\.gz\<\/a\> (version $version)\./; open(OUT,">/home/loninst/public_html/docs/downloads/index.html"); print(OUT $text); close(OUT);