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:
parent
0876789232
commit
c884456428
78
pep-0102.txt
78
pep-0102.txt
|
@ -57,9 +57,9 @@ How to Make A Release
|
|||
___ Put a freeze on check ins into the maintenance branch. At this
|
||||
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
|
||||
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
|
||||
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!
|
||||
|
||||
___ 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
|
||||
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
|
||||
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
|
||||
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.
|
||||
|
@ -107,7 +123,7 @@ How to Make A Release
|
|||
Note that you /hope/ that as developers add new features to the
|
||||
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
|
||||
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.
|
||||
|
||||
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!
|
||||
|
||||
___ Once the release is underway, Fred Drake needs to create the
|
||||
HTML from the documentation. He does this and uploads the file to
|
||||
www.python.org. Then he tells Tim Peters and Sean Reifschneider
|
||||
HTML from the documentation. He does this and uploads the file
|
||||
to www.python.org. Then he tells Thomas and Sean Reifschneider
|
||||
where this file is.
|
||||
|
||||
This may generate some last minute changes on the branch. Once
|
||||
Fred is done, there can be no further checkins on the branch in
|
||||
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.
|
||||
Basically, if it's in Doc/ Fred will take care of it.
|
||||
|
||||
___ Tim Peters grabs the HTML and uses this to build the Windows
|
||||
installer, Sean Reifschneider grabs the HTML and uses this to
|
||||
build the Linux RPMs.
|
||||
___ Thomas grabs the HTML to build the Windows helpfile.
|
||||
The HTML files are unpacked into a new src/html directory, and
|
||||
runs this command to create the project files for MS HTML
|
||||
Workshop:
|
||||
|
||||
___ Tim performs his Windows magic, generating an installer
|
||||
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.
|
||||
% python ..\Doc\tools\prechm.py -v 2.3 python23
|
||||
|
||||
Note that Tim's creation of the Windows executable may generate
|
||||
a few more commits on the branch. Tim will be responsible for
|
||||
HTML Workshop is then fired up on the created python23.hhp file,
|
||||
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
|
||||
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"
|
||||
and/or "U" files. I.e. you better not have any uncommitted
|
||||
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",
|
||||
e.g. r212
|
||||
|
@ -215,11 +241,9 @@ How to Make A Release
|
|||
freshly unpacked directory looks weird, you better stop now and
|
||||
figure out what the problem is.
|
||||
|
||||
___ You need to upload the tgz file to creosote.python.org. Tim
|
||||
will have already uploaded the exe file to creosote, but if not,
|
||||
you'll need to do that too. These steps can take a long time
|
||||
depending on your network bandwidth. scp both files from your
|
||||
own machine to creosote.
|
||||
___ You need to upload the tgz and the exe file to creosote.python.org.
|
||||
This step can take a long time 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
|
||||
include the announcement.
|
||||
|
@ -406,8 +430,8 @@ Windows Notes
|
|||
precompiled "foreign" binaries (Tcl/Tk, expat, etc). So Windows
|
||||
testing is tiresome but very necessary.
|
||||
|
||||
Concurrent with uploading the installer, Tim installs Python from
|
||||
it twice: once into the default directory suggested by the
|
||||
Concurrent with uploading the installer, Thomas installs Python
|
||||
from it twice: once into the default directory suggested by the
|
||||
installer, and later into a directory with embedded spaces in its
|
||||
name. For each installation, he runs the full regression suite
|
||||
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
|
||||
(the "Module Docs" Start menu entry), make sure the "Start
|
||||
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.
|
||||
|
||||
It's amazing how much can go wrong here -- and even more amazing
|
||||
|
@ -427,11 +451,11 @@ Windows Notes
|
|||
simply a mess.
|
||||
|
||||
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
|
||||
Power User) account.
|
||||
of NT/2000/XP. On NT/2000/XP, try both an Admin and a plain User
|
||||
(not Power User) account.
|
||||
|
||||
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
|
||||
anything for Step 5 except a full byte-comparison ("fc /b" if
|
||||
using a Windows shell) of the downloaded file against the file he
|
||||
|
|
Loading…
Reference in New Issue