]>
Commit | Line | Data |
---|---|---|
1 | Making a new wxWidgets release | |
2 | ============================== | |
3 | ||
4 | Before making the release | |
5 | ------------------------- | |
6 | ||
7 | Update docs/readme.txt. Please review its contents in addition to just | |
8 | changing the version number. | |
9 | ||
10 | Put a date on the release line in docs/changes.txt. | |
11 | ||
12 | Update the date in the manual (docs/doxygen/mainpages/manual.h). | |
13 | ||
14 | Update the release announcement post in docs/publicity/announce.txt. | |
15 | ||
16 | ||
17 | Creating release files | |
18 | ---------------------- | |
19 | ||
20 | Currently our release system uses a Python 2.x script to generate releases. | |
21 | The script requires Unix utilities such as tar, zip and unix2dos and thus must | |
22 | be run either on Unix or using Cygwin on Windows. To generate a release, simply | |
23 | run the following command: | |
24 | ||
25 | build/tools/create-archive.py --compression=all /path/to/output/dir | |
26 | ||
27 | This will produce zip, gzip and bzip archives of the tree (without | |
28 | "compression" argument only .gz is made). Note that this commands produces huge | |
29 | amounts of output so redirecting it to a file is recommended. | |
30 | ||
31 | To add a prefix to the release, such as RC1, the SVN revision, or a date, just | |
32 | pass --postfix="postfix" to the script. More info on the options and their | |
33 | possible values can be found by calling `create-archive.py --help`. | |
34 | ||
35 | IMPORTANT NOTE: You *must* run this script from a clean source tree, that is, | |
36 | with no junk files in it or modifications. This is because the | |
37 | release should be a pristine copy of the tree as of the time of | |
38 | release. If you have legitimate modifications in the tree that need | |
39 | to be in the release, commit them first. | |
40 | ||
41 | To generate the windows installer (.exe) and the documentation files (chm and htb formats) | |
42 | run: | |
43 | ||
44 | build\tools\bld_chm_exe.bat | |
45 | ||
46 | which depends on the wxwidgets.iss file, and generates output in the %DAILY% directory. It | |
47 | assumes a clean copy of the wxWidgets source tree in %INNO%. Temporary files will be generated | |
48 | in the tree from which the batch file is run. It depends on doxygen, a number of gnu | |
49 | win32 tools and Microsofts htmlhelp compiler. The wxwidgets.iss file should not need | |
50 | editing, but you will want to check that the bld_chm_exe.bat has the correct version number. | |
51 | ||
52 | ||
53 | ||
54 | Alternative non official release scripts | |
55 | ---------------------------------------- | |
56 | ||
57 | If you use git-svn, then you can use alternative script that avoids the | |
58 | problems such as using non-clean tree and also has better handling of the ends | |
59 | of lines conversions. To use it you need to run | |
60 | ||
61 | - build/tools/svn-find-native-eols.pl | |
62 | - build/tools/git-make-release | |
63 | - build/tools/make-html-docs | |
64 | ||
65 | (the last one can also be used without git). | |
66 | ||
67 | ||
68 | Uploading | |
69 | --------- | |
70 | ||
71 | Upload the files to SourceForge. This can be done via the web interface or just | |
72 | scp to sfusername,wxwindows@frs.sf.net:/home/frs/project/w/wx/wxwindows/x.y.z | |
73 | The following files need to be uploaded: | |
74 | ||
75 | wxMSW-Setup-2.9.3.exe | |
76 | wxWidgets-x.y.z.7z | |
77 | wxWidgets-x.y.z.tar.bz2 | |
78 | wxWidgets-x.y.z.zip | |
79 | wxWidgets-x.y.z_Headers.zip | |
80 | wxWidgets-docs-chm-x.y.z.zip | |
81 | wxWidgets-docs-html-x.y.z.tar.bz2 | |
82 | wxWidgets-docs-html-x.y.z.zip | |
83 | ||
84 | You will need to use the web interface to mark the latest uploaded files as | |
85 | being "default downloads" for the appropriate platforms (.zip or .exe for MSW, | |
86 | .tar.bz2 for everything else) as otherwise SourceForge would continue to suggest | |
87 | people to download old files. | |
88 | ||
89 | Next, update (at least the versions and SHA1 sums, but maybe more) and upload | |
90 | docs/release_files.mdwn and docs/release_binaries.mdwn files. They need to be | |
91 | renamed to README.md on SF to be shown when the directory is viewed, i.e. do: | |
92 | ||
93 | scp docs/release_files.mdwn \ | |
94 | sfuser,wxwindows@frs.sf.net:/home/frs/project/w/wx/wxwindows/x.y.z/README.md | |
95 | scp docs/release_binaries.mdwn \ | |
96 | sfuser,wxwindows@frs.sf.net:/home/frs/project/w/wx/wxwindows/x.y.z/binaries/README.md | |
97 | ||
98 | And upload the change log too: | |
99 | ||
100 | scp docs/changes.txt \ | |
101 | sfuser,wxwindows@frs.sf.net:/home/frs/project/w/wx/wxwindows/x.y.z | |
102 | ||
103 | ||
104 | Also upload the files to the FTP mirror at ftp.wxwidgets.org (ask Chris for | |
105 | access if you don't have it). | |
106 | ||
107 | Create http://docs.wxwidgets.org/x.y.z/ (ask Bryan to do it if not done yet). | |
108 | ||
109 | ||
110 | Announcement | |
111 | ------------ | |
112 | ||
113 | Post docs/publicity/announce.txt at least to wx-announce@googlegroups.com. | |
114 | ||
115 | TODO: where else to announce it? | |
116 | ||
117 | Update www.wxwidgets.org, usually a news item is enough but something more can | |
118 | be called for for major releases. | |
119 | ||
120 | Also update downloads/index.html to mention the new latest release. | |
121 | ||
122 | Post to wxBlog if necessary. | |
123 | ||
124 | ||
125 | Version updates | |
126 | --------------- | |
127 | ||
128 | Trac: mark the milestone corresponding to the release as completed and add a | |
129 | new version for it to allow reporting bugs against it and create the next | |
130 | milestone (ask Vadim or Robin to do it or to get admin password). | |
131 | ||
132 | Run misc/scripts/inc_release to increment micro version, i.e. replace x.y.z | |
133 | with x.y.z+1 (minor or major versions updates require manual intervention). |