hets_script revision dfcf19ace3059f0e6c3d82110973f03200e31c7e
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync# this script is part of Hets
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync# - Heterogenous Tool Set -
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync# Handling switches
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsyncimport fcntl, os, sys;
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsyncf = open("/var/lib/dpkg/lock", 'w')
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync fcntl.lockf(f, fcntl.LOCK_EX|fcntl.LOCK_NB)
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync print "Retrieving latest Hets library...",
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync sys.stdout.flush()
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync os.system("svn export --force -q https://svn-agbkb.informatik.uni-bremen.de/Hets-lib/trunk \
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync /usr/lib/hets/hets-lib")
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync print "Done"
50e5e7a2b25a463c312cf741832fcc34d36557bdvboxsync print "Retrieving latest Hets binary...",
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync sys.stdout.flush()
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync os.system("rm -f /tmp/hets-$HETS_DAILY_VERSION*");
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync if os.uname()[4] == "x86_64":
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync os.system("curl -sG http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/hets/linux64/daily/hets.bz2 \
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync > /tmp/hets-$HETS_DAILY_VERSION.bz2")
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync os.system("curl -sG http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/hets/linux/daily/hets.bz2 \
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync > /tmp/hets-$HETS_DAILY_VERSION.bz2")
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync os.system("bunzip2 /tmp/hets-$HETS_DAILY_VERSION.bz2")
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync os.system("mv /usr/lib/hets/hets \
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync /usr/lib/hets/hets.backup")
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync os.system("install -m 755 /tmp/hets-$HETS_DAILY_VERSION \
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync /usr/lib/hets/hets")
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync os.system("rm /tmp/hets-$HETS_DAILY_VERSION")
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync print "Done"
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsyncexcept IOError:
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync print "Could not acquire lock \"/var/lib/dpkg/lock\""
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync sys.exit(0)
c8cc094f51df8a2b86a8137eaf65c3a9eb39b858vboxsync echo "Root access required for \"hets -update\""
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsyncimport fcntl, os, sys;
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsyncf = open("/var/lib/dpkg/lock", 'w')
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync fcntl.lockf(f, fcntl.LOCK_EX|fcntl.LOCK_NB)
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync print "Reverting to previous Hets binary... ",
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync os.system("mv /usr/lib/hets/hets.backup \
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync /usr/lib/hets/hets");
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync print "Done"
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsyncexcept IOError:
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync print "Could not acquire lock \"/var/lib/dpkg/lock\""
396f76437ff8f66e088cea96fc7474554ea3fb7bvboxsync sys.exit(0)
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync echo "No hets.backup found to revert."
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync echo "Root access required for \"hets -revert\""
50e5e7a2b25a463c312cf741832fcc34d36557bdvboxsync# Detecting Isabelle version
50e5e7a2b25a463c312cf741832fcc34d36557bdvboxsyncISABELLE_VERSION=`isabelle version | awk '{ print $1 }' | sed "s/Isabelle//g" | sed "s/://g"`
50e5e7a2b25a463c312cf741832fcc34d36557bdvboxsync HETS_ISABELLE_DIR=/usr/lib/hets/hets-lib/Isabelle/2011
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync# Setting environment variables
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsync# and starting Hets
320484435d67c1fb90dca3e8836d81bf939c8ba2vboxsyncexport HETS_HOLLIGHT_TOOLS=/usr/lib/hets/hets-hollight-tools