blob: 4a71b7a29ce5d83fdec20fe10d994a094644af6c [file] [log] [blame]
Fred Drake692565c2000-10-19 05:54:51 +00001#! /bin/sh
2
3# Script to push docs from my development area to SourceForge, where the
4# update-docs.sh script unpacks them into their final destination.
5
Fred Drakef54519d2002-04-01 20:15:05 +00006TARGETHOST=www.python.org
7TARGETDIR=/usr/home/fdrake/tmp
8
Fred Drake9e1ac242004-06-17 18:36:54 +00009PKGTYPE="bzip" # must be one of: bzip, tar, zip ("tar" implies gzip)
10
Fred Drakef54519d2002-04-01 20:15:05 +000011TARGET="$TARGETHOST:$TARGETDIR"
Fred Drake827bb9f2000-11-30 07:38:59 +000012
Fred Drake3f4e7172001-03-02 21:05:58 +000013ADDRESSES='python-dev@python.org doc-sig@python.org python-list@python.org'
Fred Drake303e30e2004-11-02 19:18:20 +000014ADDRESSES=fdrake01@comcast.net
Fred Drake3f4e7172001-03-02 21:05:58 +000015
Fred Drake69db2b92003-09-28 22:14:29 +000016TOOLDIR="`dirname $0`"
17VERSION=`$TOOLDIR/getversioninfo`
18
19# Set $EXTRA to something non-empty if this is a non-trunk version:
Fred Drake34b48e82001-04-22 06:20:31 +000020EXTRA=`echo "$VERSION" | sed 's/^[0-9][0-9]*\.[0-9][0-9]*//'`
Fred Drake69db2b92003-09-28 22:14:29 +000021
22if echo "$EXTRA" | grep -q '[.]' ; then
Fred Drake34b48e82001-04-22 06:20:31 +000023 DOCLABEL="maintenance"
24 DOCTYPE="maint"
25else
26 DOCLABEL="development"
27 DOCTYPE="devel"
28fi
29
Fred Drake3f4e7172001-03-02 21:05:58 +000030EXPLANATION=''
Fred Drakee54acfd2001-08-08 05:41:01 +000031ANNOUNCE=true
Fred Drake3f4e7172001-03-02 21:05:58 +000032
Fred Drake964c7982004-06-17 22:04:17 +000033getopt -T >/dev/null
34if [ $? -eq 4 ] ; then
35 # We have a sufficiently useful getopt(1) implementation.
Fred Drake303e30e2004-11-02 19:18:20 +000036 eval "set -- `getopt -ssh m:p:qt:F: \"$@\"`"
Fred Drake964c7982004-06-17 22:04:17 +000037else
38 # This version of getopt doesn't support quoting of long options
39 # with spaces, so let's not rely on it at all.
40 :
41fi
42
Fred Drake66a0a0a2001-06-12 13:31:37 +000043while [ "$#" -gt 0 ] ; do
44 case "$1" in
45 -m)
46 EXPLANATION="$2"
47 shift 2
48 ;;
Fred Drake9e1ac242004-06-17 18:36:54 +000049 -p)
50 PKGTYPE="$2"
51 shift 1
52 ;;
Fred Drakee54acfd2001-08-08 05:41:01 +000053 -q)
54 ANNOUNCE=false
55 shift 1
56 ;;
Fred Drake66a0a0a2001-06-12 13:31:37 +000057 -t)
58 DOCTYPE="$2"
59 shift 2
60 ;;
61 -F)
62 EXPLANATION="`cat $2`"
63 shift 2
64 ;;
Fred Drake96b935e2004-06-29 14:39:06 +000065 --)
66 shift 1
67 break
68 ;;
Fred Drake66a0a0a2001-06-12 13:31:37 +000069 -*)
70 echo "Unknown option: $1" >&2
71 exit 2
72 ;;
73 *)
74 break
75 ;;
76 esac
77done
78if [ "$1" ] ; then
79 if [ "$EXPLANATION" ] ; then
80 echo "Explanation may only be given once!" >&2
81 exit 2
82 fi
83 EXPLANATION="$1"
84 shift
Fred Drake827bb9f2000-11-30 07:38:59 +000085fi
86
Fred Drake692565c2000-10-19 05:54:51 +000087START="`pwd`"
88MYDIR="`dirname $0`"
89cd "$MYDIR"
90MYDIR="`pwd`"
Fred Drake692565c2000-10-19 05:54:51 +000091
Fred Drake9e1ac242004-06-17 18:36:54 +000092if [ "$PKGTYPE" = bzip ] ; then
93 PKGEXT=tar.bz2
94elif [ "$PKGTYPE" = tar ] ; then
95 PKGEXT=tgz
96elif [ "$PKGTYPE" = zip ] ; then
97 PKGEXT=zip
98else
99 echo 1>&2 "unsupported package type: $PKGTYPE"
100 exit 2
101fi
102
Fred Drake7ceab732000-10-24 19:59:55 +0000103cd ..
Fred Drake3f4e7172001-03-02 21:05:58 +0000104
105# now in .../Doc/
Fred Drake9e1ac242004-06-17 18:36:54 +0000106make --no-print-directory ${PKGTYPE}html || exit $?
107PACKAGE="html-$VERSION.$PKGEXT"
Fred Drakee1f3ed62001-04-13 05:13:55 +0000108scp "$PACKAGE" tools/update-docs.sh $TARGET/ || exit $?
Fred Drakef54519d2002-04-01 20:15:05 +0000109ssh "$TARGETHOST" tmp/update-docs.sh $DOCTYPE $PACKAGE '&&' rm tmp/update-docs.sh || exit $?
Fred Drake3f4e7172001-03-02 21:05:58 +0000110
Fred Drakee54acfd2001-08-08 05:41:01 +0000111if $ANNOUNCE ; then
112 sendmail $ADDRESSES <<EOF
Fred Drakede6dc1e2001-07-06 23:45:16 +0000113To: $ADDRESSES
114From: "Fred L. Drake" <fdrake@acm.org>
115Subject: [$DOCLABEL doc updates]
Fred Drakee13602e2002-04-04 18:06:06 +0000116X-No-Archive: yes
Fred Drakede6dc1e2001-07-06 23:45:16 +0000117
Fred Drake602cf582001-07-12 21:50:10 +0000118The $DOCLABEL version of the documentation has been updated:
Fred Drake3f4e7172001-03-02 21:05:58 +0000119
Fred Drakef54519d2002-04-01 20:15:05 +0000120 http://$TARGETHOST/dev/doc/$DOCTYPE/
Fred Drake3f4e7172001-03-02 21:05:58 +0000121
122$EXPLANATION
Fred Drake9e1ac242004-06-17 18:36:54 +0000123
124A downloadable package containing the HTML is also available:
125
126 http://$TARGETHOST/dev/doc/python-docs-$DOCTYPE.$PKGEXT
Fred Drake3f4e7172001-03-02 21:05:58 +0000127EOF
Fred Drakee54acfd2001-08-08 05:41:01 +0000128 exit $?
129fi