File:  [LON-CAPA] / loncom / build / install_web_site_cronjob
Revision 1.3: download - view: text, annotated - select for diffs
Thu Sep 12 20:40:30 2002 UTC (21 years, 7 months ago) by albertel
Branches: MAIN
CVS tags: version_0_6_2, version_0_6, HEAD
- changing how and where it gets the current version number
- changing what is in the unstable tarball, It is now more inclusive of files

#!/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<install.lon-capa.org>.

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<install.lon-capa.org> filesystem as
F</home/loninst/auto/install_web_site_cronjob>.

The current 'loninst' crontab entry is:

13 16 * * *    /home/loninst/auto/install_web_site_cronjob

The main goal of B<install_web_site_cronjob> is to periodically produce the
unstable tarball needed for LON-CAPA installation.

A secondary yet important function of B<install_web_site_cronjob> is that it
also refreshes the documentation present on the install.lon-capa.org
web site.

It does depend on a file name LATEST-IS-something, where something is
the latest release of loncapa, that file should also contain a string
that will be used to date the release.

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;`;
`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; ln -s loncapa loncapa-unstable; tar cvvf loncapa-unstable.tar loncapa-unstable/* ;gzip -9 -f loncapa-unstable.tar`;
# ---------------------------------------- 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-unstable.tar.gz ../public_html/versions/loncapa-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`;

#get latest version
my $filename=`cd /home/loninst/public_html/versions; find . -type f -name LATEST-IS-* -maxdepth 1`;
chomp($filename);
$filename=~/LATEST-IS-(.*)/;
my $version=$1;
open(IN,"</home/loninst/public_html/versions/$filename");
my $releasedate=<IN>;
close(IN);
# ------------------ Updating the download page with the date of the last build
open(IN,"</home/loninst/public_html/docs/downloads/index.html");
my @lines=<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);

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