cgal/Packages/Maintenance/package_handling/create_packages_page

195 lines
4.6 KiB
Bash
Executable File

#!/bin/sh
#
CURRENT_DIR=`pwd`
DATE=`date "+Last modified: %d %b %Y"`
WWWDIR="/users/www/CGAL/Members/Develop/updates"
TEMPPAGE="$WWWDIR/temp.html"
LOCKFILE="$WWWDIR/create_packages_html.lock"
NEW_PACKAGES_NAME="packages.html"
OLD_PACKAGES_NAME="old_packages.html"
NEW_PACKAGES_PAGE="$WWWDIR/$NEW_PACKAGES_NAME"
OLD_PACKAGES_PAGE="$WWWDIR/$OLD_PACKAGES_NAME"
SCRIPTDIR="/projects/CGAL/admin_scripts"
RESULTDIR=/users/www/CGAL/Members/Develop/updates/testsuite
list_compressed_files()
{
/bin/ls -l | awk '/(.*\.tar\.gz$)|(.*\.zip$)/ { print $9 }'
}
print_new_header()
{
echo "<H1>CGAL Packages Page</H1>"
echo "This page contains the most recent submissions for CGAL"
echo "<HR>"
}
print_old_header()
{
echo "<H1>CGAL Packages Page</H1>"
echo "This page contains old submissions for CGAL"
echo "<HR>"
}
#print_table <directory> <header>
print_table()
{
DIRNAME=`basename $1`
cd $1
echo "<CENTER>"
echo "<TABLE BORDER=2 CELLSPACING=0 CELLPADDING=5>"
echo "<TR ALIGN=CENTER>"
echo "<TD COLSPAN=6><FONT SIZE=\"+1\">"$2"</FONT></TD>"
echo "</TR>"
echo "<TR ALIGN=CENTER>"
echo "<TD><B>Package</B></TD>"
echo "<TD><B>Version</B></TD>"
echo "<TD><B>Documentation</B></TD>"
echo "<TD><B>L</B></TD>"
echo "<TD><B>C</B></TD>"
echo "<TD><B>Description</B></TD>"
echo "</TR>"
for PACKAGE_DIR in `ls`; do
if [ -d $PACKAGE_DIR ] ; then
cd $PACKAGE_DIR
echo "<TR>"
echo "<TD>"
for FILE in `list_compressed_files` ; do
echo "<A HREF=\"$DIRNAME/$PACKAGE_DIR/$FILE\">`basename $FILE .zip`</A>"
done
echo "</TD>"
echo "<TD NOWRAP>"
if [ -f version ] ; then
${SCRIPTDIR}/format_cgal_version version
else
echo "version not available"
fi
echo "</TD>"
echo "<TD>"
if [ -d "doc_ps" ] ; then
PSFILES=`find doc_ps \( -name *.ps -o -name *.ps.gz \) -type f -print`
if [ ! -z "$PSFILES" ] ; then
for FILE in $PSFILES ; do
echo "<A HREF=\"$DIRNAME/$PACKAGE_DIR/$FILE\">`basename $FILE`</A><BR>"
done
else
echo "not available"
fi
else
echo "not available"
fi
echo "</TD>"
echo "<TD>"
if [ -f long_description.txt ] ; then
echo "<A HREF=\"$DIRNAME/$PACKAGE_DIR/long_description.txt\">L</A>"
else
echo "-"
fi
echo "</TD>"
echo "<TD>"
if [ -f changes.txt ] ; then
echo "<A HREF=\"$DIRNAME/$PACKAGE_DIR/changes.txt\">C</A>"
else
echo "-"
fi
echo "</TD>"
echo "<TD>"
if [ -f description.txt ] ; then
cat description.txt
else
echo "description not available"
fi
echo "</TD>"
echo "</TR>"
cd ..
fi
done
echo "</TABLE>"
echo "</CENTER>"
echo "<HR>"
}
print_recent_submissions()
{
cat << EOF
<H2><A NAME="recentsubmissions">Recent submissions</A></H2>
<P>
The table below contains all packages that have been submitted to cgal-submit@cs.ruu.nl.
The format of these packages is described on the
<A HREF="../submissionrules/">CGAL Submission Rules Page</A>.
The test results can be found on the
<A HREF="../testsuite/results.html">CGAL Test Suite Result Page</A>.
</P>
EOF
print_table "$WWWDIR/packages" "Recent submissions for CGAL"
}
print_old_submissions()
{
echo "<H2><A NAME="oldsubmissions">Old submissions</A></H2>"
print_table "$WWWDIR/old_packages" "Old submissions"
}
print_new_index()
{
cat << EOF
<OL>
<LI><A HREF="#recentsubmissions">Recent submissions</A> </LI>
<LI><A HREF="index.html">The latest internal release</A> </LI>
</OL>
<HR>
EOF
#<LI><A HREF="$OLD_PACKAGES_NAME">Old submissions</A> </LI>
}
print_old_index()
{
cat << EOF
<OL>
<LI><A HREF="#oldsubmissions">Old submissions</A> </LI>
<LI><A HREF="$NEW_PACKAGES_NAME">Recent submissions</A> </LI>
</OL>
<HR>
EOF
}
if /sw/bin/lockfile -r 10 -l 200 $LOCKFILE; then
/bin/rm -f $TEMPPAGE
echo "creating file $NEW_PACKAGES_PAGE ..."
$SCRIPTDIR/print_cgal_header "CGAL Internal Release Page" > $TEMPPAGE
print_new_header >> $TEMPPAGE
print_new_index >> $TEMPPAGE
print_recent_submissions >> $TEMPPAGE
$SCRIPTDIR/print_cgal_trailer >> $TEMPPAGE
/bin/mv $TEMPPAGE $NEW_PACKAGES_PAGE
chmod 664 $NEW_PACKAGES_PAGE
chgrp cgal $NEW_PACKAGES_PAGE
#/bin/rm -f $TEMPPAGE
#echo "creating file $OLD_PACKAGES_PAGE ..."
$SCRIPTDIR/print_cgal_header "CGAL Internal Release Page" > $TEMPPAGE
#print_old_header >> $TEMPPAGE
#print_old_index >> $TEMPPAGE
#print_old_submissions >> $TEMPPAGE
#$SCRIPTDIR/print_cgal_trailer >> $TEMPPAGE
#/bin/mv $TEMPPAGE $OLD_PACKAGES_PAGE
#chmod 664 $OLD_PACKAGES_PAGE
#chgrp cgal $OLD_PACKAGES_PAGE
rm -f $LOCKFILE
fi