1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/docs/tools/make_pages.sh Tue Apr 11 21:41:22 2017 +0200
1.3 @@ -0,0 +1,92 @@
1.4 +#!/bin/sh
1.5 +
1.6 +DIRNAME=`dirname $0`
1.7 +PROGNAME=`basename $0`
1.8 +OUTDIR=$1
1.9 +
1.10 +if [ ! "$OUTDIR" ] || [ "$1" = '--help' ] ; then
1.11 + cat 1>&2 <<EOF
1.12 +Usage: $PROGNAME <output directory> [ <page prefix> ] [ --releases [ --sign ] ]
1.13 +EOF
1.14 + exit 1
1.15 +fi
1.16 +
1.17 +if [ -e "$OUTDIR" ]; then
1.18 + echo "Please remove $OUTDIR before generating a new package." 1>&2
1.19 + exit 1
1.20 +fi
1.21 +
1.22 +if [ "$2" = '--releases' ]; then
1.23 + PREFIX=
1.24 + RELEASES=$2
1.25 + SIGN=$3
1.26 +else
1.27 + PREFIX=$2
1.28 + RELEASES=$3
1.29 + SIGN=$4
1.30 +fi
1.31 +
1.32 +# Generate release archives. These are held in a separate, semi-permanent
1.33 +# place so that archives and signatures are not regenerated unnecessarily.
1.34 +
1.35 +if [ "$RELEASES" ]; then
1.36 + "$DIRNAME/make_releases.sh" releases
1.37 +fi
1.38 +
1.39 +if [ "$SIGN" ]; then
1.40 + "$DIRNAME/sign_releases.sh" releases
1.41 +fi
1.42 +
1.43 +# Generate a manifest for the page package.
1.44 +
1.45 +MANIFEST="$OUTDIR/MOIN_PACKAGE"
1.46 +
1.47 +mkdir "$OUTDIR"
1.48 +cat > "$MANIFEST" <<EOF
1.49 +MoinMoinPackage|1
1.50 +EOF
1.51 +
1.52 +# Add the pages to the manifest.
1.53 +
1.54 +DOCS="$DIRNAME/../wiki"
1.55 +
1.56 +cp "$DOCS/"* "$OUTDIR"
1.57 +
1.58 +for FILENAME in "$DOCS/"* ; do
1.59 + BASENAME=`basename "$FILENAME"`
1.60 + PAGENAME=`echo "$BASENAME" | sed 's/--/\//g'`
1.61 + if [ "$PREFIX" ]; then
1.62 + if [ "$PAGENAME" = "FrontPage" ]; then
1.63 + PAGENAME="$PREFIX"
1.64 + else
1.65 + PAGENAME="$PREFIX/$PAGENAME"
1.66 + fi
1.67 + fi
1.68 + echo "AddRevision|$BASENAME|$PAGENAME" >> "$MANIFEST"
1.69 +done
1.70 +
1.71 +if [ ! -e "releases" ]; then
1.72 + echo "No releases to add to the page package!" 1>&2
1.73 +else
1.74 + # Combine the releases with the pages.
1.75 +
1.76 + ATTACHMENT="attachment_"
1.77 +
1.78 + for FILENAME in releases/* ; do
1.79 + BASENAME=`basename "$FILENAME"`
1.80 + cp "$FILENAME" "$OUTDIR/$ATTACHMENT$BASENAME"
1.81 + done
1.82 +
1.83 + # Add the releases to the manifest.
1.84 +
1.85 + for FILENAME in releases/* ; do
1.86 + BASENAME=`basename "$FILENAME"`
1.87 + PAGENAME="Downloads"
1.88 + if [ "$PREFIX" ]; then
1.89 + PAGENAME="$PREFIX/$PAGENAME"
1.90 + fi
1.91 + echo "AddAttachment|$ATTACHMENT$BASENAME|$BASENAME|$PAGENAME" >> "$MANIFEST"
1.92 + done
1.93 +fi
1.94 +
1.95 +zip -j "$OUTDIR" "$OUTDIR/"*