mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 02:15:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			128 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #! /bin/sh
 | |
| 
 | |
| #  Script to push docs from my development area to SourceForge, where the
 | |
| #  update-docs.sh script unpacks them into their final destination.
 | |
| 
 | |
| TARGETHOST=www.python.org
 | |
| TARGETDIR=/usr/home/fdrake/tmp
 | |
| 
 | |
| PKGTYPE="bzip"  # must be one of: bzip, tar, zip  ("tar" implies gzip)
 | |
| 
 | |
| TARGET="$TARGETHOST:$TARGETDIR"
 | |
| 
 | |
| ADDRESSES='python-dev@python.org doc-sig@python.org python-list@python.org'
 | |
| 
 | |
| TOOLDIR="`dirname $0`"
 | |
| VERSION=`$TOOLDIR/getversioninfo`
 | |
| 
 | |
| # Set $EXTRA to something non-empty if this is a non-trunk version:
 | |
| EXTRA=`echo "$VERSION" | sed 's/^[0-9][0-9]*\.[0-9][0-9]*//'`
 | |
| 
 | |
| if echo "$EXTRA" | grep -q '[.]' ; then
 | |
|     DOCLABEL="maintenance"
 | |
|     DOCTYPE="maint"
 | |
| else
 | |
|     DOCLABEL="development"
 | |
|     DOCTYPE="devel"
 | |
| fi
 | |
| 
 | |
| EXPLANATION=''
 | |
| ANNOUNCE=true
 | |
| 
 | |
| getopt -T >/dev/null
 | |
| if [ $? -eq 4 ] ; then
 | |
|     # We have a sufficiently useful getopt(1) implementation.
 | |
|     set -- `getopt -ssh m:p:qt:F: "$@"`
 | |
| else
 | |
|     # This version of getopt doesn't support quoting of long options
 | |
|     # with spaces, so let's not rely on it at all.
 | |
|     :
 | |
| fi
 | |
| 
 | |
| while [ "$#" -gt 0 ] ; do
 | |
|   case "$1" in
 | |
|       -m)
 | |
|           EXPLANATION="$2"
 | |
|           shift 2
 | |
|           ;;
 | |
|       -p)
 | |
|           PKGTYPE="$2"
 | |
|           shift 1
 | |
|           ;;
 | |
|       -q)
 | |
|           ANNOUNCE=false
 | |
|           shift 1
 | |
|           ;;
 | |
|       -t)
 | |
|           DOCTYPE="$2"
 | |
|           shift 2
 | |
|           ;;
 | |
|       -F)
 | |
|           EXPLANATION="`cat $2`"
 | |
|           shift 2
 | |
|           ;;
 | |
|       --)
 | |
|           shift 1
 | |
|           break
 | |
|           ;;
 | |
|       -*)
 | |
|           echo "Unknown option: $1" >&2
 | |
|           exit 2
 | |
|           ;;
 | |
|       *)
 | |
|           break
 | |
|           ;;
 | |
|   esac
 | |
| done
 | |
| if [ "$1" ] ; then
 | |
|     if [ "$EXPLANATION" ] ; then
 | |
|         echo "Explanation may only be given once!" >&2
 | |
|         exit 2
 | |
|     fi
 | |
|     EXPLANATION="$1"
 | |
|     shift
 | |
| fi
 | |
| 
 | |
| START="`pwd`"
 | |
| MYDIR="`dirname $0`"
 | |
| cd "$MYDIR"
 | |
| MYDIR="`pwd`"
 | |
| 
 | |
| if [ "$PKGTYPE" = bzip ] ; then
 | |
|     PKGEXT=tar.bz2
 | |
| elif [ "$PKGTYPE" = tar ] ; then
 | |
|     PKGEXT=tgz
 | |
| elif [ "$PKGTYPE" = zip ] ; then
 | |
|     PKGEXT=zip
 | |
| else
 | |
|     echo 1>&2 "unsupported package type: $PKGTYPE"
 | |
|     exit 2
 | |
| fi
 | |
| 
 | |
| cd ..
 | |
| 
 | |
| # now in .../Doc/
 | |
| make --no-print-directory ${PKGTYPE}html || exit $?
 | |
| PACKAGE="html-$VERSION.$PKGEXT"
 | |
| scp "$PACKAGE" tools/update-docs.sh $TARGET/ || exit $?
 | |
| ssh "$TARGETHOST" tmp/update-docs.sh $DOCTYPE $PACKAGE '&&' rm tmp/update-docs.sh || exit $?
 | |
| 
 | |
| if $ANNOUNCE ; then
 | |
|     sendmail $ADDRESSES <<EOF
 | |
| To: $ADDRESSES
 | |
| From: "Fred L. Drake" <fdrake@acm.org>
 | |
| Subject: [$DOCLABEL doc updates]
 | |
| X-No-Archive: yes
 | |
| 
 | |
| The $DOCLABEL version of the documentation has been updated:
 | |
| 
 | |
|     http://$TARGETHOST/dev/doc/$DOCTYPE/
 | |
| 
 | |
| $EXPLANATION
 | |
| 
 | |
| A downloadable package containing the HTML is also available:
 | |
| 
 | |
|     http://$TARGETHOST/dev/doc/python-docs-$DOCTYPE.$PKGEXT
 | |
| EOF
 | |
|     exit $?
 | |
| fi
 | 
