1.1 --- a/docs/tools/make_pages.sh Fri Apr 08 21:24:17 2016 +0200
1.2 +++ b/docs/tools/make_pages.sh Sat Apr 09 19:29:29 2016 +0200
1.3 @@ -3,11 +3,10 @@
1.4 DIRNAME=`dirname $0`
1.5 PROGNAME=`basename $0`
1.6 OUTDIR=$1
1.7 -PREFIX=$2
1.8
1.9 if [ ! "$OUTDIR" ]; then
1.10 cat 1>&2 <<EOF
1.11 -Usage: $PROGNAME <output directory> [ <page prefix> ]
1.12 +Usage: $PROGNAME <output directory> [ <page prefix> ] [ --releases [ --sign ] ]
1.13 EOF
1.14 exit 1
1.15 fi
1.16 @@ -17,6 +16,29 @@
1.17 exit 1
1.18 fi
1.19
1.20 +if [ "$2" = '--releases' ]; then
1.21 + PREFIX=
1.22 + RELEASES=$2
1.23 + SIGN=$3
1.24 +else
1.25 + PREFIX=$2
1.26 + RELEASES=$3
1.27 + SIGN=$4
1.28 +fi
1.29 +
1.30 +# Generate release archives. These are held in a separate, semi-permanent
1.31 +# place so that archives and signatures are not regenerated unnecessarily.
1.32 +
1.33 +if [ "$RELEASES" ]; then
1.34 + "$DIRNAME/make_releases.sh" releases
1.35 +fi
1.36 +
1.37 +if [ "$SIGN" ]; then
1.38 + "$DIRNAME/sign_releases.sh" releases
1.39 +fi
1.40 +
1.41 +# Generate a manifest for the page package.
1.42 +
1.43 MANIFEST="$OUTDIR/MOIN_PACKAGE"
1.44
1.45 mkdir "$OUTDIR"
1.46 @@ -24,8 +46,12 @@
1.47 MoinMoinPackage|1
1.48 EOF
1.49
1.50 +# Add the pages to the manifest.
1.51 +
1.52 DOCS="$DIRNAME/../wiki"
1.53
1.54 +cp "$DOCS/"* "$OUTDIR"
1.55 +
1.56 for FILENAME in "$DOCS/"* ; do
1.57 BASENAME=`basename "$FILENAME"`
1.58 PAGENAME=`echo "$BASENAME" | sed 's/--/\//g'`
1.59 @@ -39,5 +65,24 @@
1.60 echo "AddRevision|$BASENAME|$PAGENAME" >> "$MANIFEST"
1.61 done
1.62
1.63 -cp "$DOCS/"* "$OUTDIR"
1.64 +# Combine the releases with the pages.
1.65 +
1.66 +ATTACHMENT="attachment_"
1.67 +
1.68 +for FILENAME in releases/* ; do
1.69 + BASENAME=`basename "$FILENAME"`
1.70 + cp "$FILENAME" "$OUTDIR/$ATTACHMENT$BASENAME"
1.71 +done
1.72 +
1.73 +# Add the releases to the manifest.
1.74 +
1.75 +for FILENAME in releases/* ; do
1.76 + BASENAME=`basename "$FILENAME"`
1.77 + PAGENAME="Downloads"
1.78 + if [ "$PREFIX" ]; then
1.79 + PAGENAME="$PREFIX/$PAGENAME"
1.80 + fi
1.81 + echo "AddAttachment|$ATTACHMENT$BASENAME|$BASENAME|$PAGENAME" >> "$MANIFEST"
1.82 +done
1.83 +
1.84 zip -j "$OUTDIR" "$OUTDIR/"*
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/docs/tools/make_releases.sh Sat Apr 09 19:29:29 2016 +0200
2.3 @@ -0,0 +1,30 @@
2.4 +#!/bin/sh
2.5 +
2.6 +DIRNAME=`dirname $0`
2.7 +PROGNAME=`basename $0`
2.8 +OUTDIR=$1
2.9 +FORCE=$2
2.10 +
2.11 +if [ ! "$OUTDIR" ]; then
2.12 + cat 1>&2 <<EOF
2.13 +Usage: $PROGNAME <output directory> [ -f ]
2.14 +EOF
2.15 + exit 1
2.16 +fi
2.17 +
2.18 +if [ "$FORCE" != '-f' ]; then
2.19 + FORCE=
2.20 +fi
2.21 +
2.22 +if [ ! -e "$OUTDIR" ]; then
2.23 + mkdir -p "$OUTDIR"
2.24 +fi
2.25 +
2.26 +for TAG in `hg tags | grep ^rel- | cut -f 1 -d ' '` ; do
2.27 + NUM=`echo "$TAG" | sed 's/rel-//;s/-/./g'`
2.28 + OUTFILE="$OUTDIR/imip-agent-$NUM.tar.bz2"
2.29 + if [ ! -e "$OUTFILE" ] || [ "$FORCE" ]; then
2.30 + hg archive -t tbz2 -r "$TAG" "$OUTFILE"
2.31 + fi
2.32 + echo "$OUTFILE"
2.33 +done
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/docs/tools/sign_releases.sh Sat Apr 09 19:29:29 2016 +0200
3.3 @@ -0,0 +1,32 @@
3.4 +#!/bin/sh
3.5 +
3.6 +DIRNAME=`dirname $0`
3.7 +PROGNAME=`basename $0`
3.8 +OUTDIR=$1
3.9 +FORCE=$2
3.10 +
3.11 +if [ ! "$OUTDIR" ]; then
3.12 + cat 1>&2 <<EOF
3.13 +Usage: $PROGNAME <archive directory>
3.14 +EOF
3.15 + exit 1
3.16 +fi
3.17 +
3.18 +if [ "$FORCE" != '-f' ]; then
3.19 + FORCE=
3.20 +fi
3.21 +
3.22 +if [ ! -e "$OUTDIR" ]; then
3.23 + cat 1>&2 <<EOF
3.24 +No archive directory to process.
3.25 +EOF
3.26 + exit 1
3.27 +fi
3.28 +
3.29 +for FILENAME in "$OUTDIR/"*".tar.bz2" ; do
3.30 + OUTFILE="$FILENAME.asc"
3.31 + if [ ! -e "$OUTFILE" ] || [ "$FORCE" ]; then
3.32 + gpg --sign -a -b "$FILENAME"
3.33 + fi
3.34 + echo "$OUTFILE"
3.35 +done
4.1 --- a/docs/wiki/Downloads Fri Apr 08 21:24:17 2016 +0200
4.2 +++ b/docs/wiki/Downloads Sat Apr 09 19:29:29 2016 +0200
4.3 @@ -42,14 +42,42 @@
4.4
4.5 == Releases ==
4.6
4.7 +See below for downloadable archives.
4.8 +
4.9 Releases are tagged in the repository. The currently-supported releases are
4.10 listed here for convenience:
4.11
4.12 {{{#!table
4.13 -'''Release''' || '''Archives'''
4.14 +'''Release''' || '''Details'''
4.15 ==
4.16 0.1
4.17 -|| [[http://hgweb.boddie.org.uk/imip-agent/archive/rel-0-1.tar.bz2|tar.bz2]]
4.18 -.. [[http://hgweb.boddie.org.uk/imip-agent/archive/rel-0-1.tar.gz|tar.gz]]
4.19 -.. [[http://hgweb.boddie.org.uk/imip-agent/archive/rel-0-1.zip|zip]]
4.20 +|| [[http://hgweb.boddie.org.uk/imip-agent/rev/rel-0-1|changeset]]
4.21 +.. [[http://hgweb.boddie.org.uk/imip-agent/file/rel-0-1|files]]
4.22 }}}
4.23 +
4.24 +=== Archives ===
4.25 +
4.26 +Downloadable archives are provided below. Choose "get" to download the
4.27 +appropriate file.
4.28 +
4.29 +<<AttachList(,application/x-tar)>>
4.30 +
4.31 +=== Signatures ===
4.32 +
4.33 +Downloadable archive signatures are provided below. Choose "get" to download
4.34 +the appropriate file.
4.35 +
4.36 +<<AttachList(,text/plain)>>
4.37 +
4.38 +To verify an archive, download the archive and accompanying signature file to
4.39 +the same location and then run a command of the following form:
4.40 +
4.41 +{{{
4.42 +gpg --verify <signature file> <archive file>
4.43 +}}}
4.44 +
4.45 +For example:
4.46 +
4.47 +{{{
4.48 +gpg --verify imip-agent-0.1.tar.bz2.asc imip-agent-0.1.tar.bz2
4.49 +}}}