From 27a750c61db033286ce23da6abc5883a6824d7fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Thu, 21 Feb 2008 12:00:38 +0000 Subject: [PATCH] Document welease. --- pep-0101.txt | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/pep-0101.txt b/pep-0101.txt index 4f6131a61..dfcc7e883 100644 --- a/pep-0101.txt +++ b/pep-0101.txt @@ -57,6 +57,15 @@ How to Make A Release streamlined procedures used to release Python 2.6 (including the alphas and betas). + We recommend that you use the welease tool, from + + http://svn.python.org/projects/sandbox/trunk/welease/ + + It helps verifying that certain (not yet all) mechanic editing + has not been forgotten, and invokes svn and tar commands + automatically. This guide will indicate which steps are supported + by welease. + ___ Impose a check-in freeze. Send a message to python-dev@python.org telling people not to make any check-ins on the tree until further notice. @@ -104,14 +113,14 @@ How to Make A Release Lib/idlelib/NEWS.txt has been similarly updated. ___ Make sure the release date is fully spelled out in - Doc/commontex/boilerplate.tex. + Doc/commontex/boilerplate.tex (welease). - ___ Tag and/or branch the tree for release X.YaZ + ___ Tag and/or branch the tree for release X.YaZ (welease does tagging) If you're releasing an alpha/beta/release candidate, you will - just tag the tree. If you are releasing a final release, you - will both tag the trunk and create the long-lived maintenance - branch. + just tag the tree, AFTER you made the edits below. If you are + releasing a final release, you will both tag the trunk and + create the long-lived maintenance branch. All Python development happens on the trunk. While it's sometimes challenging to keep people from checking things in @@ -148,12 +157,13 @@ How to Make A Release reflect the new version number you've just created. You'll want to change the PY_VERSION macro, and one or several of the version subpart macros just above PY_VERSION, as appropriate. + (checked by welease) ___ IDLE maintains its own versioning and NEWS file (Lib/idlelib/NEWS.txt). There should be a number of entries reflecting new development, under a temporary header. Update that header to reflect IDLE's new version and release date. Then update Lib/idlelib/idlever.py to show a matching - version. + version. (checked by welease) ___ distutils also maintains its own versioning file (Lib/distutils/__init__.py). Update this file with the Python version. @@ -365,12 +375,14 @@ How to Make A Release ___ Time to build the source tarball. If you created a branch, be sure to cd to your working directory for the branch. E.g. % cd .../python-26a3 + (supported by welease) ___ Do a "svn update ; svn status" in this directory. You should not see any files. I.e. you better not have any uncommitted changes in your working directory, but you may pick up some of the expert's last minute changes. + (checked by welease) ___ If you've seen updates to existing files, update the svn tag: @@ -387,6 +399,7 @@ How to Make A Release svn+ssh://pythondev@svn.python.org/python/tags/r26 This is the tag you will use below. + (supported by welease) ___ Change to a neutral directory, i.e. one in which you can do a fresh, virgin, svn export of the branch. You will be creating a @@ -395,6 +408,7 @@ How to Make A Release % cd ~ % svn export -rr26c2 -d Python-2.6c2 python + (supported by welease) ___ Generate the tarballs. Note that we're not using the `z' option on the tar command because 1) that's only supported by GNU tar @@ -403,6 +417,7 @@ How to Make A Release % tar cf - Python-2.6c2 | gzip -9 > Python-2.6c2.tgz % tar cf - Python-2.6c2 | bzip2 -9 > Python-2.6c2.tar.bz2 + (supported by welease) ___ Calculate the MD5 checksums of the files you just created