5 # makedist -- make Isabelle distribution.
10 LOGICS="CCL CTT Cube FOL FOLP HOL HOLCF LCF Provers Pure Sequents TFL Tools ZF"
12 CVSROOT=/isabelle/archive
13 DISTBASE=~/tmp/isadist
23 echo "Usage: $PRG VERSION"
26 Make Isabelle distribution from the master sources at TUM.
28 VERSION may be either a tag like "Isabelle94-XX" that specifies the
29 release to be exported from the repository, or "-" to checkout the
30 current sources as an unofficial release.
32 Checklist for official releases (before running this script):
34 * Check that README files are up to date (should have Id: lines).
35 * Check that Pure/ROOT.ML/version is up to date!
36 * Check release name and date in NEWS!
37 * Make sure that encoding info is consistent (fixencoding)!
38 * Make sure that the repository version of Doc is consistent
39 (watch out for *.bbl, *.rao, *.ind)!
40 * Check ML_SYSTEM defaults!
42 #Wicked! We just won't tell other users ...
43 if [ $LOGNAME = paulson -o $LOGNAME = nipkow -o $LOGNAME = wenzelm ]; then
45 * Tag the current repository version, e.g.:
46 cvs rtag Isabelle94-XX isabelle
47 PLEASE DON'T DO THIS UNLESS YOU KNOW WHAT YOU'RE DOING!
52 After the distribution has been created succesfully, you might want
53 to run some makeall tests using different ML systems.
66 ## process command line
78 DATE=$(date "+%d-%b-%Y")
80 if [ "$VERSION" = "-" ]; then
81 DISTNAME=Isabelle_$DATE
86 EXPORT="export -r $VERSION"
90 mkdir -p $DISTBASE || fail "Unable to create distribution base dir $DISTBASE!"
91 [ -e $DISTBASE/$DISTNAME ] && fail "$DISTBASE/$DISTNAME already exists!"
94 # export from repository
97 echo "Exporting $DISTNAME from repository. Please be patient ..."
103 cvs -f -q $EXPORT -P -d $DISTNAME isabelle
108 cd $DISTBASE/$DISTNAME/Doc
110 for DOC in $(cat Contents)
118 # prepare dist dir for release
120 cd $DISTBASE/$DISTNAME
122 find . -name CVS -exec rm -rf {} \;
124 mkdir -p Tools/8bit/bin #FIXME tmp
125 find Doc -name \*.dvi -o -name \*.eps -o -name \*.ps -exec mv {} Distribution/doc \;
135 if [ -n "$UNOFFICIAL" ]; then
138 echo "IMPORTANT NOTE"
139 echo "=============="
141 echo "This is an unofficial release of Isabelle, created by $LOGNAME $DATE."
146 lynx -dump README.html >README
153 #FIXME sometimes doesn't work!?
154 chown -R $LOGNAME:isabelle $DISTNAME
155 chmod -R u+w $DISTNAME
156 chmod -R g+w $DISTNAME
158 tar cf - $DISTNAME | gzip >$DISTNAME.tar.gz
164 echo "That's it. You'll find the distribution in $DISTBASE."