Building source archives for previous releases has always been a
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sat, 17 Jan 2004 14:17:21 +0000 (14:17 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sat, 17 Jan 2004 14:17:21 +0000 (14:17 +0000)
fiddly process. Let's have a magic script designed to do it right.

git-svn-id: svn://svn.tartarus.org/sgt/putty@3722 cda61777-01e9-0310-a592-d414129be87e

CHECKLST.txt
mksrcarc.sh [new file with mode: 0755]

index fa7be89..164e825 100644 (file)
@@ -111,9 +111,11 @@ of the tag.
  - Build the .zip files.
     + The binary archive putty.zip just contains all the .exe files
       except PuTTYtel, and the .hlp and .cnt files.
-    + The source archive putty-src.zip is built by puttysnap.sh (my
-      cron script that also builds the nightly snapshot source
-      archive).
+    + The source archive putty-src.zip is fiddly to build, so it's
+      done by the shell script mksrcarc.sh. First check out the
+      release sources in a pristine directory (to avoid cluttering
+      the zip file with irrelevant stuff), then run mksrcarc.sh in
+      that directory.
     + The docs archive puttydoc.zip contains all the HTML files
       output from Halibut.
 
@@ -127,12 +129,6 @@ of the tag.
       snapshot keys. Having checked that, sign the Alpha binary
       zipfile with the snapshot keys too.
     + The source archive should be signed with the release keys.
-      This was the most fiddly bit of the last release I did: the
-      script that built the source archive was on ixion, so I had to
-      bring the archive back to my local machine, check everything
-      in it was untampered-with, and _then_ sign it. Perhaps next
-      time I should arrange that puttysnap.sh can run on my local
-      box; it'd be a lot easier.
     + Don't forget to sign with both DSA and RSA keys for absolutely
       everything.
 
diff --git a/mksrcarc.sh b/mksrcarc.sh
new file mode 100755 (executable)
index 0000000..9ab51ce
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+perl mkfiles.pl
+relver=`cat LATEST.VER`
+unixarc="putty-$relver$datesuffix"
+text=`{ find . -name CVS -prune -o \
+               -name .cvsignore -prune -o \
+               -name LATEST.VER -prune -o \
+               -name CHECKLST.txt -prune -o \
+               -name mksrcarc.sh -prune -o \
+               -name '*.dsp' -prune -o \
+               -name '*.dsw' -prune -o \
+               -type f -print | sed 's/^\.\///'; } | \
+      grep -ivE MODULE\|putty.iss\|website.url | grep -vF .ico`
+bin=`{ ls -1 *.ico putty.iss website.url; \
+       find . -name '*.dsp' -print -o -name '*.dsw' -print; }`
+zip -k -l putty-src.zip $text > /dev/null
+zip -k putty-src.zip $bin > /dev/null