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 | 1681b62 | 2004-11-13 17:45:39 +0000 | [diff] [blame] | 29 | DOCTYPE_SPECIFIED=false |
Fred Drake | 3f4e717 | 2001-03-02 21:05:58 +0000 | [diff] [blame] | 30 | EXPLANATION='' |
Fred Drake | e54acfd | 2001-08-08 05:41:01 +0000 | [diff] [blame] | 31 | ANNOUNCE=true |
Fred Drake | 3f4e717 | 2001-03-02 21:05:58 +0000 | [diff] [blame] | 32 | |
Fred Drake | 964c798 | 2004-06-17 22:04:17 +0000 | [diff] [blame] | 33 | getopt -T >/dev/null |
| 34 | if [ $? -eq 4 ] ; then |
| 35 | # We have a sufficiently useful getopt(1) implementation. |
Fred Drake | 303e30e | 2004-11-02 19:18:20 +0000 | [diff] [blame] | 36 | eval "set -- `getopt -ssh m:p:qt:F: \"$@\"`" |
Fred Drake | 964c798 | 2004-06-17 22:04:17 +0000 | [diff] [blame] | 37 | else |
| 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 | : |
| 41 | fi |
| 42 | |
Fred Drake | 66a0a0a | 2001-06-12 13:31:37 +0000 | [diff] [blame] | 43 | while [ "$#" -gt 0 ] ; do |
| 44 | case "$1" in |
| 45 | -m) |
| 46 | EXPLANATION="$2" |
| 47 | shift 2 |
| 48 | ;; |
Fred Drake | 9e1ac24 | 2004-06-17 18:36:54 +0000 | [diff] [blame] | 49 | -p) |
| 50 | PKGTYPE="$2" |
| 51 | shift 1 |
| 52 | ;; |
Fred Drake | e54acfd | 2001-08-08 05:41:01 +0000 | [diff] [blame] | 53 | -q) |
| 54 | ANNOUNCE=false |
| 55 | shift 1 |
| 56 | ;; |
Fred Drake | 66a0a0a | 2001-06-12 13:31:37 +0000 | [diff] [blame] | 57 | -t) |
| 58 | DOCTYPE="$2" |
Fred Drake | 1681b62 | 2004-11-13 17:45:39 +0000 | [diff] [blame] | 59 | DOCTYPE_SPECIFIED=true |
Fred Drake | 66a0a0a | 2001-06-12 13:31:37 +0000 | [diff] [blame] | 60 | shift 2 |
| 61 | ;; |
| 62 | -F) |
| 63 | EXPLANATION="`cat $2`" |
| 64 | shift 2 |
| 65 | ;; |
Fred Drake | 96b935e | 2004-06-29 14:39:06 +0000 | [diff] [blame] | 66 | --) |
| 67 | shift 1 |
| 68 | break |
| 69 | ;; |
Fred Drake | 66a0a0a | 2001-06-12 13:31:37 +0000 | [diff] [blame] | 70 | -*) |
| 71 | echo "Unknown option: $1" >&2 |
| 72 | exit 2 |
| 73 | ;; |
| 74 | *) |
| 75 | break |
| 76 | ;; |
| 77 | esac |
| 78 | done |
| 79 | if [ "$1" ] ; then |
| 80 | if [ "$EXPLANATION" ] ; then |
| 81 | echo "Explanation may only be given once!" >&2 |
| 82 | exit 2 |
| 83 | fi |
| 84 | EXPLANATION="$1" |
| 85 | shift |
Fred Drake | 827bb9f | 2000-11-30 07:38:59 +0000 | [diff] [blame] | 86 | fi |
| 87 | |
Fred Drake | 692565c | 2000-10-19 05:54:51 +0000 | [diff] [blame] | 88 | START="`pwd`" |
| 89 | MYDIR="`dirname $0`" |
| 90 | cd "$MYDIR" |
| 91 | MYDIR="`pwd`" |
Fred Drake | 692565c | 2000-10-19 05:54:51 +0000 | [diff] [blame] | 92 | |
Fred Drake | 9e1ac24 | 2004-06-17 18:36:54 +0000 | [diff] [blame] | 93 | if [ "$PKGTYPE" = bzip ] ; then |
| 94 | PKGEXT=tar.bz2 |
| 95 | elif [ "$PKGTYPE" = tar ] ; then |
| 96 | PKGEXT=tgz |
| 97 | elif [ "$PKGTYPE" = zip ] ; then |
| 98 | PKGEXT=zip |
| 99 | else |
| 100 | echo 1>&2 "unsupported package type: $PKGTYPE" |
| 101 | exit 2 |
| 102 | fi |
| 103 | |
Fred Drake | 1681b62 | 2004-11-13 17:45:39 +0000 | [diff] [blame] | 104 | # switch to .../Doc/ |
Fred Drake | 7ceab73 | 2000-10-24 19:59:55 +0000 | [diff] [blame] | 105 | cd .. |
Fred Drake | 3f4e717 | 2001-03-02 21:05:58 +0000 | [diff] [blame] | 106 | |
Fred Drake | 1681b62 | 2004-11-13 17:45:39 +0000 | [diff] [blame] | 107 | # If $DOCTYPE was not specified explicitly, look for .doctype in |
| 108 | # .../Doc/ and use the content of that file if present. |
| 109 | if $DOCTYPE_SPECIFIED ; then |
| 110 | : |
| 111 | elif [ -f .doctype ] ; then |
| 112 | DOCTYPE="`cat .doctype`" |
| 113 | fi |
| 114 | |
Fred Drake | 9e1ac24 | 2004-06-17 18:36:54 +0000 | [diff] [blame] | 115 | make --no-print-directory ${PKGTYPE}html || exit $? |
| 116 | PACKAGE="html-$VERSION.$PKGEXT" |
Fred Drake | e1f3ed6 | 2001-04-13 05:13:55 +0000 | [diff] [blame] | 117 | scp "$PACKAGE" tools/update-docs.sh $TARGET/ || exit $? |
Fred Drake | f54519d | 2002-04-01 20:15:05 +0000 | [diff] [blame] | 118 | 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] | 119 | |
Fred Drake | e54acfd | 2001-08-08 05:41:01 +0000 | [diff] [blame] | 120 | if $ANNOUNCE ; then |
| 121 | sendmail $ADDRESSES <<EOF |
Fred Drake | de6dc1e | 2001-07-06 23:45:16 +0000 | [diff] [blame] | 122 | To: $ADDRESSES |
| 123 | From: "Fred L. Drake" <fdrake@acm.org> |
| 124 | Subject: [$DOCLABEL doc updates] |
Fred Drake | e13602e | 2002-04-04 18:06:06 +0000 | [diff] [blame] | 125 | X-No-Archive: yes |
Fred Drake | de6dc1e | 2001-07-06 23:45:16 +0000 | [diff] [blame] | 126 | |
Fred Drake | 602cf58 | 2001-07-12 21:50:10 +0000 | [diff] [blame] | 127 | The $DOCLABEL version of the documentation has been updated: |
Fred Drake | 3f4e717 | 2001-03-02 21:05:58 +0000 | [diff] [blame] | 128 | |
Fred Drake | f54519d | 2002-04-01 20:15:05 +0000 | [diff] [blame] | 129 | http://$TARGETHOST/dev/doc/$DOCTYPE/ |
Fred Drake | 3f4e717 | 2001-03-02 21:05:58 +0000 | [diff] [blame] | 130 | |
| 131 | $EXPLANATION |
Fred Drake | 9e1ac24 | 2004-06-17 18:36:54 +0000 | [diff] [blame] | 132 | |
| 133 | A downloadable package containing the HTML is also available: |
| 134 | |
| 135 | http://$TARGETHOST/dev/doc/python-docs-$DOCTYPE.$PKGEXT |
Fred Drake | 3f4e717 | 2001-03-02 21:05:58 +0000 | [diff] [blame] | 136 | EOF |
Fred Drake | e54acfd | 2001-08-08 05:41:01 +0000 | [diff] [blame] | 137 | exit $? |
| 138 | fi |