blob: 294254a2bd959a69f2bf7d5b341b3a797a014d4a [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'
14
Fred Drake69db2b92003-09-28 22:14:29 +000015TOOLDIR="`dirname $0`"
16VERSION=`$TOOLDIR/getversioninfo`
17
18# Set $EXTRA to something non-empty if this is a non-trunk version:
Fred Drake34b48e82001-04-22 06:20:31 +000019EXTRA=`echo "$VERSION" | sed 's/^[0-9][0-9]*\.[0-9][0-9]*//'`
Fred Drake69db2b92003-09-28 22:14:29 +000020
21if echo "$EXTRA" | grep -q '[.]' ; then
Fred Drake34b48e82001-04-22 06:20:31 +000022 DOCLABEL="maintenance"
23 DOCTYPE="maint"
24else
25 DOCLABEL="development"
26 DOCTYPE="devel"
27fi
28
Fred Drake3f4e7172001-03-02 21:05:58 +000029EXPLANATION=''
Fred Drakee54acfd2001-08-08 05:41:01 +000030ANNOUNCE=true
Fred Drake3f4e7172001-03-02 21:05:58 +000031
Fred Drake9e1ac242004-06-17 18:36:54 +000032# XXX Should use getopt(1) here.
Fred Drake66a0a0a2001-06-12 13:31:37 +000033while [ "$#" -gt 0 ] ; do
34 case "$1" in
35 -m)
36 EXPLANATION="$2"
37 shift 2
38 ;;
Fred Drake9e1ac242004-06-17 18:36:54 +000039 -p)
40 PKGTYPE="$2"
41 shift 1
42 ;;
Fred Drakee54acfd2001-08-08 05:41:01 +000043 -q)
44 ANNOUNCE=false
45 shift 1
46 ;;
Fred Drake66a0a0a2001-06-12 13:31:37 +000047 -t)
48 DOCTYPE="$2"
49 shift 2
50 ;;
51 -F)
52 EXPLANATION="`cat $2`"
53 shift 2
54 ;;
55 -*)
56 echo "Unknown option: $1" >&2
57 exit 2
58 ;;
59 *)
60 break
61 ;;
62 esac
63done
64if [ "$1" ] ; then
65 if [ "$EXPLANATION" ] ; then
66 echo "Explanation may only be given once!" >&2
67 exit 2
68 fi
69 EXPLANATION="$1"
70 shift
Fred Drake827bb9f2000-11-30 07:38:59 +000071fi
72
Fred Drake692565c2000-10-19 05:54:51 +000073START="`pwd`"
74MYDIR="`dirname $0`"
75cd "$MYDIR"
76MYDIR="`pwd`"
Fred Drake692565c2000-10-19 05:54:51 +000077
Fred Drake9e1ac242004-06-17 18:36:54 +000078if [ "$PKGTYPE" = bzip ] ; then
79 PKGEXT=tar.bz2
80elif [ "$PKGTYPE" = tar ] ; then
81 PKGEXT=tgz
82elif [ "$PKGTYPE" = zip ] ; then
83 PKGEXT=zip
84else
85 echo 1>&2 "unsupported package type: $PKGTYPE"
86 exit 2
87fi
88
Fred Drake7ceab732000-10-24 19:59:55 +000089cd ..
Fred Drake3f4e7172001-03-02 21:05:58 +000090
91# now in .../Doc/
Fred Drake9e1ac242004-06-17 18:36:54 +000092make --no-print-directory ${PKGTYPE}html || exit $?
93PACKAGE="html-$VERSION.$PKGEXT"
Fred Drakee1f3ed62001-04-13 05:13:55 +000094scp "$PACKAGE" tools/update-docs.sh $TARGET/ || exit $?
Fred Drakef54519d2002-04-01 20:15:05 +000095ssh "$TARGETHOST" tmp/update-docs.sh $DOCTYPE $PACKAGE '&&' rm tmp/update-docs.sh || exit $?
Fred Drake3f4e7172001-03-02 21:05:58 +000096
Fred Drakee54acfd2001-08-08 05:41:01 +000097if $ANNOUNCE ; then
98 sendmail $ADDRESSES <<EOF
Fred Drakede6dc1e2001-07-06 23:45:16 +000099To: $ADDRESSES
100From: "Fred L. Drake" <fdrake@acm.org>
101Subject: [$DOCLABEL doc updates]
Fred Drakee13602e2002-04-04 18:06:06 +0000102X-No-Archive: yes
Fred Drakede6dc1e2001-07-06 23:45:16 +0000103
Fred Drake602cf582001-07-12 21:50:10 +0000104The $DOCLABEL version of the documentation has been updated:
Fred Drake3f4e7172001-03-02 21:05:58 +0000105
Fred Drakef54519d2002-04-01 20:15:05 +0000106 http://$TARGETHOST/dev/doc/$DOCTYPE/
Fred Drake3f4e7172001-03-02 21:05:58 +0000107
108$EXPLANATION
Fred Drake9e1ac242004-06-17 18:36:54 +0000109
110A downloadable package containing the HTML is also available:
111
112 http://$TARGETHOST/dev/doc/python-docs-$DOCTYPE.$PKGEXT
Fred Drake3f4e7172001-03-02 21:05:58 +0000113EOF
Fred Drakee54acfd2001-08-08 05:41:01 +0000114 exit $?
115fi