Redo a mis-fix of a memory leak in r9919: I added sfree(data)
[sgt/putty] / mkunxarc.sh
1 #!/bin/bash
2
3 # Build a Unix source distribution from the PuTTY CVS area.
4 #
5 # Pass an argument of the form `2004-02-08' to have the archive
6 # tagged as a development snapshot; of the form `0.54' to have it
7 # tagged as a release; of the form `r1234' to have it tagged as a
8 # custom build. Otherwise it'll be tagged as unidentified.
9
10 case "$1" in
11 ????-??-??)
12 case "$1" in *[!-0-9]*) echo "Malformed snapshot ID '$1'" >&2;exit 1;;esac
13 autoconfver="`cat LATEST.VER`-$1"
14 arcsuffix="-$autoconfver"
15 ver="-DSNAPSHOT=$1"
16 docver=
17 ;;
18 r*)
19 autoconfver="$1"
20 arcsuffix="-$autoconfver"
21 ver="-DSVN_REV=${1#r}"
22 docver=
23 ;;
24 '')
25 autoconfver="X.XX" # got to put something in here!
26 arcsuffix=
27 ver=
28 docver=
29 ;;
30 *pre)
31 set -- "${1%pre}" "$2"
32 case "$1" in *[!.0-9a-z~]*) echo "Malformed prerelease ID '$1'">&2;exit 1;;esac
33 case "$2" in *[!.0-9a-z~]*) echo "Malformed prerelease revision '$1'">&2;exit 1;;esac
34 autoconfver="$1~pre$2"
35 arcsuffix="-$autoconfver"
36 ver="-DPRERELEASE=$1 -DSVN_REV=$2"
37 docver="VERSION=\"PuTTY prerelease $1:r$2\""
38 ;;
39 *)
40 case "$1" in *[!.0-9a-z~]*) echo "Malformed release ID '$1'">&2;exit 1;;esac
41 autoconfver="$1"
42 arcsuffix="-$autoconfver"
43 ver="-DRELEASE=$1"
44 docver="VERSION=\"PuTTY release $1\""
45 ;;
46 esac
47
48 perl mkfiles.pl
49 (cd doc && make -s ${docver:+"$docver"})
50
51 relver=`cat LATEST.VER`
52 arcname="putty$arcsuffix"
53 mkdir uxarc
54 mkdir uxarc/$arcname
55 find . -name uxarc -prune -o \
56 -name CVS -prune -o \
57 -name .svn -prune -o \
58 -name . -o \
59 -type d -exec mkdir uxarc/$arcname/{} \;
60 find . -name uxarc -prune -o \
61 -name CVS -prune -o \
62 -name .cvsignore -prune -o \
63 -name .svn -prune -o \
64 -name configure.ac -prune -o \
65 -name '*.zip' -prune -o \
66 -name '*.tar.gz' -prune -o \
67 -type f -exec ln -s $PWD/{} uxarc/$arcname/{} \;
68 if test "x$ver" != "x"; then
69 (cd uxarc/$arcname;
70 md5sum `find . -name '*.[ch]' -print` > manifest;
71 echo "$ver" > version.def)
72 fi
73 sed "s/^AC_INIT(putty,.*/AC_INIT(putty, $autoconfver)/" unix/configure.ac > uxarc/$arcname/unix/configure.ac
74 (cd uxarc/$arcname && sh mkauto.sh) 2>errors || { cat errors >&2; exit 1; }
75
76 tar -C uxarc -chzof $arcname.tar.gz $arcname
77 rm -rf uxarc