Fred Drake | 692565c | 2000-10-19 05:54:51 +0000 | [diff] [blame] | 1 | #! /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 Drake | f54519d | 2002-04-01 20:15:05 +0000 | [diff] [blame] | 6 | TARGETHOST=www.python.org |
| 7 | TARGETDIR=/usr/home/fdrake/tmp |
| 8 | |
Fred Drake | 9e1ac24 | 2004-06-17 18:36:54 +0000 | [diff] [blame] | 9 | PKGTYPE="bzip" # must be one of: bzip, tar, zip ("tar" implies gzip) |
| 10 | |
Fred Drake | f54519d | 2002-04-01 20:15:05 +0000 | [diff] [blame] | 11 | TARGET="$TARGETHOST:$TARGETDIR" |
Fred Drake | 827bb9f | 2000-11-30 07:38:59 +0000 | [diff] [blame] | 12 | |
Fred Drake | 3f4e717 | 2001-03-02 21:05:58 +0000 | [diff] [blame] | 13 | ADDRESSES='python-dev@python.org doc-sig@python.org python-list@python.org' |
| 14 | |
Fred Drake | 69db2b9 | 2003-09-28 22:14:29 +0000 | [diff] [blame] | 15 | TOOLDIR="`dirname $0`" |
| 16 | VERSION=`$TOOLDIR/getversioninfo` |
| 17 | |
| 18 | # Set $EXTRA to something non-empty if this is a non-trunk version: |
Fred Drake | 34b48e8 | 2001-04-22 06:20:31 +0000 | [diff] [blame] | 19 | EXTRA=`echo "$VERSION" | sed 's/^[0-9][0-9]*\.[0-9][0-9]*//'` |
Fred Drake | 69db2b9 | 2003-09-28 22:14:29 +0000 | [diff] [blame] | 20 | |
| 21 | if echo "$EXTRA" | grep -q '[.]' ; then |
Fred Drake | 34b48e8 | 2001-04-22 06:20:31 +0000 | [diff] [blame] | 22 | DOCLABEL="maintenance" |
| 23 | DOCTYPE="maint" |
| 24 | else |
| 25 | DOCLABEL="development" |
| 26 | DOCTYPE="devel" |
| 27 | fi |
| 28 | |
Fred Drake | 3f4e717 | 2001-03-02 21:05:58 +0000 | [diff] [blame] | 29 | EXPLANATION='' |
Fred Drake | e54acfd | 2001-08-08 05:41:01 +0000 | [diff] [blame] | 30 | ANNOUNCE=true |
Fred Drake | 3f4e717 | 2001-03-02 21:05:58 +0000 | [diff] [blame] | 31 | |
Fred Drake | 964c798 | 2004-06-17 22:04:17 +0000 | [diff] [blame] | 32 | getopt -T >/dev/null |
| 33 | if [ $? -eq 4 ] ; then |
| 34 | # We have a sufficiently useful getopt(1) implementation. |
| 35 | set -- `getopt -ssh m:p:qt:F: "$@"` |
| 36 | else |
| 37 | # This version of getopt doesn't support quoting of long options |
| 38 | # with spaces, so let's not rely on it at all. |
| 39 | : |
| 40 | fi |
| 41 | |
Fred Drake | 66a0a0a | 2001-06-12 13:31:37 +0000 | [diff] [blame] | 42 | while [ "$#" -gt 0 ] ; do |
| 43 | case "$1" in |
| 44 | -m) |
| 45 | EXPLANATION="$2" |
| 46 | shift 2 |
| 47 | ;; |
Fred Drake | 9e1ac24 | 2004-06-17 18:36:54 +0000 | [diff] [blame] | 48 | -p) |
| 49 | PKGTYPE="$2" |
| 50 | shift 1 |
| 51 | ;; |
Fred Drake | e54acfd | 2001-08-08 05:41:01 +0000 | [diff] [blame] | 52 | -q) |
| 53 | ANNOUNCE=false |
| 54 | shift 1 |
| 55 | ;; |
Fred Drake | 66a0a0a | 2001-06-12 13:31:37 +0000 | [diff] [blame] | 56 | -t) |
| 57 | DOCTYPE="$2" |
| 58 | shift 2 |
| 59 | ;; |
| 60 | -F) |
| 61 | EXPLANATION="`cat $2`" |
| 62 | shift 2 |
| 63 | ;; |
Fred Drake | 96b935e | 2004-06-29 14:39:06 +0000 | [diff] [blame^] | 64 | --) |
| 65 | shift 1 |
| 66 | break |
| 67 | ;; |
Fred Drake | 66a0a0a | 2001-06-12 13:31:37 +0000 | [diff] [blame] | 68 | -*) |
| 69 | echo "Unknown option: $1" >&2 |
| 70 | exit 2 |
| 71 | ;; |
| 72 | *) |
| 73 | break |
| 74 | ;; |
| 75 | esac |
| 76 | done |
| 77 | if [ "$1" ] ; then |
| 78 | if [ "$EXPLANATION" ] ; then |
| 79 | echo "Explanation may only be given once!" >&2 |
| 80 | exit 2 |
| 81 | fi |
| 82 | EXPLANATION="$1" |
| 83 | shift |
Fred Drake | 827bb9f | 2000-11-30 07:38:59 +0000 | [diff] [blame] | 84 | fi |
| 85 | |
Fred Drake | 692565c | 2000-10-19 05:54:51 +0000 | [diff] [blame] | 86 | START="`pwd`" |
| 87 | MYDIR="`dirname $0`" |
| 88 | cd "$MYDIR" |
| 89 | MYDIR="`pwd`" |
Fred Drake | 692565c | 2000-10-19 05:54:51 +0000 | [diff] [blame] | 90 | |
Fred Drake | 9e1ac24 | 2004-06-17 18:36:54 +0000 | [diff] [blame] | 91 | if [ "$PKGTYPE" = bzip ] ; then |
| 92 | PKGEXT=tar.bz2 |
| 93 | elif [ "$PKGTYPE" = tar ] ; then |
| 94 | PKGEXT=tgz |
| 95 | elif [ "$PKGTYPE" = zip ] ; then |
| 96 | PKGEXT=zip |
| 97 | else |
| 98 | echo 1>&2 "unsupported package type: $PKGTYPE" |
| 99 | exit 2 |
| 100 | fi |
| 101 | |
Fred Drake | 7ceab73 | 2000-10-24 19:59:55 +0000 | [diff] [blame] | 102 | cd .. |
Fred Drake | 3f4e717 | 2001-03-02 21:05:58 +0000 | [diff] [blame] | 103 | |
| 104 | # now in .../Doc/ |
Fred Drake | 9e1ac24 | 2004-06-17 18:36:54 +0000 | [diff] [blame] | 105 | make --no-print-directory ${PKGTYPE}html || exit $? |
| 106 | PACKAGE="html-$VERSION.$PKGEXT" |
Fred Drake | e1f3ed6 | 2001-04-13 05:13:55 +0000 | [diff] [blame] | 107 | scp "$PACKAGE" tools/update-docs.sh $TARGET/ || exit $? |
Fred Drake | f54519d | 2002-04-01 20:15:05 +0000 | [diff] [blame] | 108 | ssh "$TARGETHOST" tmp/update-docs.sh $DOCTYPE $PACKAGE '&&' rm tmp/update-docs.sh || exit $? |
Fred Drake | 3f4e717 | 2001-03-02 21:05:58 +0000 | [diff] [blame] | 109 | |
Fred Drake | e54acfd | 2001-08-08 05:41:01 +0000 | [diff] [blame] | 110 | if $ANNOUNCE ; then |
| 111 | sendmail $ADDRESSES <<EOF |
Fred Drake | de6dc1e | 2001-07-06 23:45:16 +0000 | [diff] [blame] | 112 | To: $ADDRESSES |
| 113 | From: "Fred L. Drake" <fdrake@acm.org> |
| 114 | Subject: [$DOCLABEL doc updates] |
Fred Drake | e13602e | 2002-04-04 18:06:06 +0000 | [diff] [blame] | 115 | X-No-Archive: yes |
Fred Drake | de6dc1e | 2001-07-06 23:45:16 +0000 | [diff] [blame] | 116 | |
Fred Drake | 602cf58 | 2001-07-12 21:50:10 +0000 | [diff] [blame] | 117 | The $DOCLABEL version of the documentation has been updated: |
Fred Drake | 3f4e717 | 2001-03-02 21:05:58 +0000 | [diff] [blame] | 118 | |
Fred Drake | f54519d | 2002-04-01 20:15:05 +0000 | [diff] [blame] | 119 | http://$TARGETHOST/dev/doc/$DOCTYPE/ |
Fred Drake | 3f4e717 | 2001-03-02 21:05:58 +0000 | [diff] [blame] | 120 | |
| 121 | $EXPLANATION |
Fred Drake | 9e1ac24 | 2004-06-17 18:36:54 +0000 | [diff] [blame] | 122 | |
| 123 | A downloadable package containing the HTML is also available: |
| 124 | |
| 125 | http://$TARGETHOST/dev/doc/python-docs-$DOCTYPE.$PKGEXT |
Fred Drake | 3f4e717 | 2001-03-02 21:05:58 +0000 | [diff] [blame] | 126 | EOF |
Fred Drake | e54acfd | 2001-08-08 05:41:01 +0000 | [diff] [blame] | 127 | exit $? |
| 128 | fi |