#! /bin/sh
#
# chroot package cannot be updated automatically, because it is
# system-dependent.
whome=`pwd`
eraselink="public_html/modules/template
public_html/modules/adm
public_html/modules/home
public_html/modules/classes
public_html/html
"
if [ -z "$loadversion" ]; then
echo Please execute this via an appropriate update script.
exit
fi
if [ ! -f public_html/wims ]; then
echo Wrong execution directory.
exit
fi
if [ ! -f download/wims-$loadversion.tgz ]; then
echo Wrong updating procedure: no tgz file found.
fi
rm -Rf update 2>/dev/null
mkdir -p update
cd update
echo Expanding system package wims-$loadversion.tgz.
tar -xzf ../download/wims-$loadversion.tgz
echo `date '+%H:%M:%S'`: Compilation starts.
cd src
./configure >>../../log/update2.log 2>&1
make all >>../../log/update2.log 2>&1
cd ..
if [ ! -f public_html/wims ]; then
echo Compilation failed. Sorry.
exit
fi
echo `date '+%H:%M:%S'`: Compilation finished.
rm -f log/unsecure log/update-version
if [ -d ../testing ]; then
load=$whome/testing
else
load=$whome
for d in $eraselink
do
find $load/$d -type l -exec rm '{}' \;
done
if [ -d $load/public_html/w/adm/local ]; then
ln -s ../../w/adm/local $load/public_html/modules/adm
fi
if [ -f $load/public_html/bin/ch..root ]; then
cmp -s src/Misc/chroot.c $load/src/Misc/chroot.c 2>/dev/null && rm -f public_html/bin/ch..root
fi
if [ -f $load/public_html/bin/wrap..exec ]; then
cmp -s src/Misc/wrap.c $load/src/Misc/wrap.c 2>/dev/null && rm -f public_html/bin/wrap..exec
fi
if [ -f $load/bin/wimsd ]; then
cmp -s src/Wimsd/wimsd.c $load/src/Wimsd/wimsd.c 2>/dev/null && rm -f bin/wimsd
fi
if [ -f public_html/bin/ch..root ] || [ -f public_html/bin/wrap..exec ] || [ -f bin/wimsd ]; then
echo yes >$load/log/unsecure
for f in bin/wimsd public_html/bin/ch..root public_html/bin/wrap..exec; do
[ -f $f ] && rm -f $load/$f
done
fi
mkdir -p $load/tmp/log
mv -f tmp/log/wimslogd.new $load/tmp/log
fi
echo WIMS server shut down.
echo `date '+%H:%M:%S'`: update system files.
$load/bin/server-interrupt >>../log/update2.log
cp -upR * $load
echo `date '+%H:%M:%S'`: System update finished.
#$load/bin/server-resume
#cd $load/public_html/modules
#for f in $whome/download/wims_modules*
#do
# echo Expanding $f
# tar -xzf $f
#done
cd $load
echo `date '+%H:%M:%S'`: Update system indexes.
bin/update
bin/mkindex
for m in H3/algebra/spuzzle U2/algebra/qpuzzle; do
if [ -x public_html/modules/$m/makepieces ]; then
public_html/modules/$m/makepieces
fi
done
bin/server-resume
echo `date '+%H:%M:%S'`: Clean up.
rm -Rf $whome/update
rm -f tmp/log/wimslogd.pid
echo `date '+%H:%M:%S'`: End of update.