Sebastian Kuschel reports that pfd_closing can be called for a socket
[u/mdw/putty] / mkunxarc.sh
index fa91dc2..b15e2f4 100755 (executable)
@@ -1,39 +1,67 @@
-#!/bin/sh 
+#!/bin/bash 
 
 # Build a Unix source distribution from the PuTTY CVS area.
 #
 # Pass an argument of the form `2004-02-08' to have the archive
 # tagged as a development snapshot; of the form `0.54' to have it
-# tagged as a release.
+# tagged as a release; of the form `r1234' to have it tagged as a
+# custom build. Otherwise it'll be tagged as unidentified.
 
 case "$1" in
   ????-??-??)
     case "$1" in *[!-0-9]*) echo "Malformed snapshot ID '$1'" >&2;exit 1;;esac
-    arcsuffix="-`cat LATEST.VER`-$1"
+    autoconfver="`cat LATEST.VER`-$1"
+    arcsuffix="-$autoconfver"
     ver="-DSNAPSHOT=$1"
+    docver=
+    ;;
+  r*)
+    autoconfver="$1"
+    arcsuffix="-$autoconfver"
+    ver="-DSVN_REV=${1#r}"
+    docver=
     ;;
   '')
+    autoconfver="X.XX" # got to put something in here!
     arcsuffix=
     ver=
+    docver=
+    ;;
+  *pre)
+    set -- "${1%pre}" "$2"
+    case "$1" in *[!.0-9a-z~]*) echo "Malformed prerelease ID '$1'">&2;exit 1;;esac
+    case "$2" in *[!.0-9a-z~]*) echo "Malformed prerelease revision '$1'">&2;exit 1;;esac
+    autoconfver="$1~pre$2"
+    arcsuffix="-$autoconfver"
+    ver="-DPRERELEASE=$1 -DSVN_REV=$2"
+    docver="VERSION=\"PuTTY prerelease $1:r$2\""
     ;;
   *)
-    case "$1" in *[!.0-9a-z]*) echo "Malformed release ID '$1'">&2;exit 1;;esac
-    arcsuffix="-$1"
+    case "$1" in *[!.0-9a-z~]*) echo "Malformed release ID '$1'">&2;exit 1;;esac
+    autoconfver="$1"
+    arcsuffix="-$autoconfver"
     ver="-DRELEASE=$1"
+    docver="VERSION=\"PuTTY release $1\""
     ;;
 esac
 
 perl mkfiles.pl
+(cd doc && make -s ${docver:+"$docver"})
 
 relver=`cat LATEST.VER`
 arcname="putty$arcsuffix"
 mkdir uxarc
 mkdir uxarc/$arcname
-find . -name uxarc -prune -o -name . -o \
+find . -name uxarc -prune -o \
+       -name CVS -prune -o \
+       -name .svn -prune -o \
+       -name . -o \
        -type d -exec mkdir uxarc/$arcname/{} \;
 find . -name uxarc -prune -o \
        -name CVS -prune -o \
        -name .cvsignore -prune -o \
+       -name .svn -prune -o \
+       -name configure.ac -prune -o \
        -name '*.zip' -prune -o \
        -name '*.tar.gz' -prune -o \
        -type f -exec ln -s $PWD/{} uxarc/$arcname/{} \;
@@ -42,5 +70,8 @@ if test "x$ver" != "x"; then
    md5sum `find . -name '*.[ch]' -print` > manifest;
    echo "$ver" > version.def)
 fi
-tar -C uxarc -chzf - $arcname > $arcname.tar.gz
+sed "s/^AC_INIT(putty,.*/AC_INIT(putty, $autoconfver)/" unix/configure.ac > uxarc/$arcname/unix/configure.ac
+(cd uxarc/$arcname && sh mkauto.sh) 2>errors || { cat errors >&2; exit 1; }
+
+tar -C uxarc -chzof $arcname.tar.gz $arcname
 rm -rf uxarc