Document some things to be done on windows, from the 2.3.1 release experience.

Replace Tim with Thomas everywhere ;-).
This commit is contained in:
Thomas Heller 2003-09-24 10:55:43 +00:00
parent 0876789232
commit c884456428
1 changed files with 51 additions and 27 deletions

View File

@ -57,9 +57,9 @@ How to Make A Release
___ Put a freeze on check ins into the maintenance branch. At this ___ Put a freeze on check ins into the maintenance branch. At this
point, nobody except the RM should make any commits to the branch point, nobody except the RM should make any commits to the branch
(or his duly assigned agents, i.e. Guido the BDFL, Fred Drake for (or his duly assigned agents, i.e. Guido the BDFL, Fred Drake for
documentation, or Tim Peters for Windows). If the RM screwed up documentation, or Thomas Heller for Windows). If the RM screwed up
and some desperate last minute change to the branch is and some desperate last minute change to the branch is
necessary, it can mean extra work for Fred and Tim. So try to necessary, it can mean extra work for Fred and Thomas. So try to
avoid this! avoid this!
___ On the branch, change Include/patchlevel.h in two places, to ___ On the branch, change Include/patchlevel.h in two places, to
@ -91,8 +91,24 @@ How to Make A Release
___ When the year changes, copyright legends need to be updated in ___ When the year changes, copyright legends need to be updated in
many places, including the README and LICENSE files. many places, including the README and LICENSE files.
___ For the Windows build, additional files have to be updated.
PC/python_nt.rc sets up the DLL version resource for Windows
(displayed when you right-click on the DLL and select
Properties).
PCBuild/BUILDno.txt contains the Windows build number, see the
instructions in this file how to change it. Saving the project
file PCBuild/pythoncore.dsp results in a change to
PCBuild/pythoncore.dsp as well.
PCbuild/python20.wse sets up the Windows installer version
resource (displayed when you right-click on the installer .exe
and select Properties), and also contains the Python version
number.
___ After starting the process, the most important thing to do next ___ After starting the process, the most important thing to do next
is to update the Misc/NEWS file. Tim will need this in order to is to update the Misc/NEWS file. Thomas will need this in order to
do the Windows release and he likes to stay up late. This step do the Windows release and he likes to stay up late. This step
can be pretty tedious, so it's best to get to it immediately can be pretty tedious, so it's best to get to it immediately
after making the branch, or even before you've made the branch. after making the branch, or even before you've made the branch.
@ -107,7 +123,7 @@ How to Make A Release
Note that you /hope/ that as developers add new features to the Note that you /hope/ that as developers add new features to the
trunk, they've updated the NEWS file accordingly. You can't be trunk, they've updated the NEWS file accordingly. You can't be
positive, so double check. If you're a Unix weenie, it helps to positive, so double check. If you're a Unix weenie, it helps to
verify with Tim Peters about changes on Windows, and Jack Jansen verify with Thomas about changes on Windows, and Jack Jansen
about changes on the Mac. about changes on the Mac.
This command should help you (but substitute the correct -r tag!): This command should help you (but substitute the correct -r tag!):
@ -122,9 +138,10 @@ How to Make A Release
to forget to update the release date in this file! to forget to update the release date in this file!
___ Once the release is underway, Fred Drake needs to create the ___ Once the release is underway, Fred Drake needs to create the
HTML from the documentation. He does this and uploads the file to HTML from the documentation. He does this and uploads the file
www.python.org. Then he tells Tim Peters and Sean Reifschneider to www.python.org. Then he tells Thomas and Sean Reifschneider
where this file is. where this file is.
This may generate some last minute changes on the branch. Once This may generate some last minute changes on the branch. Once
Fred is done, there can be no further checkins on the branch in Fred is done, there can be no further checkins on the branch in
the Doc/ directory -- not even by the RM. For final releases, the Doc/ directory -- not even by the RM. For final releases,
@ -136,17 +153,26 @@ How to Make A Release
the branch to the trunk during the cleaning up phase. the branch to the trunk during the cleaning up phase.
Basically, if it's in Doc/ Fred will take care of it. Basically, if it's in Doc/ Fred will take care of it.
___ Tim Peters grabs the HTML and uses this to build the Windows ___ Thomas grabs the HTML to build the Windows helpfile.
installer, Sean Reifschneider grabs the HTML and uses this to The HTML files are unpacked into a new src/html directory, and
build the Linux RPMs. runs this command to create the project files for MS HTML
Workshop:
___ Tim performs his Windows magic, generating an installer % python ..\Doc\tools\prechm.py -v 2.3 python23
executable. He uploads this file to python.org. He then sends
the RM a notice which includes the location and MD5 checksum of
the Windows executable.
Note that Tim's creation of the Windows executable may generate HTML Workshop is then fired up on the created python23.hhp file,
a few more commits on the branch. Tim will be responsible for finally resulting in an python23.chm file.
___ Thomas compiles everything with MSVC 6.0, and moves the
python23.chm file into the src/chm directory. The installer
executable is then generated with Wise Installation System.
He uploads this file to the starship. He then sends the RM a
notice which includes the location and MD5 checksum of the
Windows executable.
Note that Thomas's creation of the Windows executable may generate
a few more commits on the branch. Thomas will be responsible for
merging Windows-specific changes from trunk to branch, and from merging Windows-specific changes from trunk to branch, and from
branch to trunk. branch to trunk.
@ -165,7 +191,7 @@ How to Make A Release
You should not see any "M" files, but you may see several "P" You should not see any "M" files, but you may see several "P"
and/or "U" files. I.e. you better not have any uncommitted and/or "U" files. I.e. you better not have any uncommitted
changes in your working directory, but you may pick up some of changes in your working directory, but you may pick up some of
Fred's or Tim's last minute changes. Fred's or Thomas's last minute changes.
___ Now tag the branch using a symbolic name like "rXYMaZ", ___ Now tag the branch using a symbolic name like "rXYMaZ",
e.g. r212 e.g. r212
@ -215,11 +241,9 @@ How to Make A Release
freshly unpacked directory looks weird, you better stop now and freshly unpacked directory looks weird, you better stop now and
figure out what the problem is. figure out what the problem is.
___ You need to upload the tgz file to creosote.python.org. Tim ___ You need to upload the tgz and the exe file to creosote.python.org.
will have already uploaded the exe file to creosote, but if not, This step can take a long time depending on your network
you'll need to do that too. These steps can take a long time bandwidth. scp both files from your own machine to creosote.
depending on your network bandwidth. scp both files from your
own machine to creosote.
___ While you're waiting, you can start twiddling the web pages to ___ While you're waiting, you can start twiddling the web pages to
include the announcement. include the announcement.
@ -406,8 +430,8 @@ Windows Notes
precompiled "foreign" binaries (Tcl/Tk, expat, etc). So Windows precompiled "foreign" binaries (Tcl/Tk, expat, etc). So Windows
testing is tiresome but very necessary. testing is tiresome but very necessary.
Concurrent with uploading the installer, Tim installs Python from Concurrent with uploading the installer, Thomas installs Python
it twice: once into the default directory suggested by the from it twice: once into the default directory suggested by the
installer, and later into a directory with embedded spaces in its installer, and later into a directory with embedded spaces in its
name. For each installation, he runs the full regression suite name. For each installation, he runs the full regression suite
from a DOS box, and both with and without -0. from a DOS box, and both with and without -0.
@ -417,7 +441,7 @@ Windows Notes
Help -> Python Documentation works. When trying pydoc this way Help -> Python Documentation works. When trying pydoc this way
(the "Module Docs" Start menu entry), make sure the "Start (the "Module Docs" Start menu entry), make sure the "Start
Browser" button works, and make sure you can search for a random Browser" button works, and make sure you can search for a random
module (Tim uses "random" <wink>) and then that the "go to module (Thomas uses "random" <wink>) and then that the "go to
selected" button works. selected" button works.
It's amazing how much can go wrong here -- and even more amazing It's amazing how much can go wrong here -- and even more amazing
@ -427,11 +451,11 @@ Windows Notes
simply a mess. simply a mess.
Repeat all of the above on at least one flavor of Win9x, and one Repeat all of the above on at least one flavor of Win9x, and one
of NT/2000. On NT/2000, try both an Admin and a plain User (not of NT/2000/XP. On NT/2000/XP, try both an Admin and a plain User
Power User) account. (not Power User) account.
WRT Step 5 above (verify the release media), since by the time WRT Step 5 above (verify the release media), since by the time
release files are ready to download Tim has generally run many release files are ready to download Thomas has generally run many
Windows tests on the installer he uploaded, he usually doesn't do Windows tests on the installer he uploaded, he usually doesn't do
anything for Step 5 except a full byte-comparison ("fc /b" if anything for Step 5 except a full byte-comparison ("fc /b" if
using a Windows shell) of the downloaded file against the file he using a Windows shell) of the downloaded file against the file he