]>
Commit | Line | Data |
---|---|---|
8de577bc VZ |
1 | Making a new wxWidgets release |
2 | ============================== | |
c7f200e9 | 3 | |
408ee837 VZ |
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 | ||
02de14d2 VZ |
10 | Put a date on the release line in docs/changes.txt. |
11 | ||
926f7103 VZ |
12 | Update the date in the manual (docs/doxygen/mainpages/manual.h). |
13 | ||
dfb636ce VZ |
14 | Update the release announcement post in docs/publicity/announce.txt. |
15 | ||
408ee837 | 16 | |
8de577bc VZ |
17 | Creating release files |
18 | ---------------------- | |
c7f200e9 | 19 | |
1b192bb2 VZ |
20 | The currently used release scripts need to be used from git-svn checkout and |
21 | rely on Git to avoid problems with using non-clean trees and such. If you don't | |
22 | use Git you may use the alternative archive creation scripts in the next | |
23 | section. | |
24 | ||
25 | Follow these steps assuming the current working directory is the root of git | |
26 | working copy and you want to prepare distribution for the version x.y.z: | |
27 | ||
28 | 1. Run "./build/tools/svn-find-native-eols.pl > ../eol-native" (if you have | |
29 | an existing svn checkout, pass it to the script to make it run much faster, | |
30 | but take care to have up to date sources in the working tree). | |
31 | ||
32 | 2. Run "./build/tools/git-make-release x.y.z" to create source archives | |
33 | ../wxWidgets-x.y.z.{7z,tar.bz2,zip} and wxWidgets_x.y.z_Headers.zip. | |
34 | ||
35 | 3. Run "./build/tools/make-html-docs x.y.z" to create HTML documentation | |
36 | archives ../wxWidgets-x.y.z.{tar.bz2,zip} | |
37 | ||
38 | 4. This step must be done under Windows as it relies on having hhc.exe, the | |
39 | Html Help compiler, in PATH: run the following commands | |
40 | ||
41 | cd docs\doxygen | |
42 | regen.bat chm | |
43 | cd out | |
44 | zip ..\..\..\wxWidgets-x.y.z-docs-chm.zip wx.chm | |
45 | ||
46 | 5. This step also must be done under Windows as it uses Inno Setup to produce | |
47 | the .exe file and it also requires the CHM file built above: | |
48 | ||
49 | md x.y.z-sources | |
50 | cd x.y.z-sources | |
51 | 7z x ..\wxWidgets-x.y.z.7z | |
52 | md docs\htmlhelp | |
53 | cp ..\docs\doxygen\out\wx.chm docs\htmlhelp | |
54 | set WXW_VER=x.y.z | |
55 | iscc build\tools\wxwidgets.iss | |
56 | ||
57 | ||
58 | ||
59 | Instructions for the previous version of release scripts | |
60 | -------------------------------------------------------- | |
61 | ||
62 | NB: These scripts haven't been used since 2.8 series and may not work any longer! | |
63 | ||
433400df VZ |
64 | Currently our release system uses a Python 2.x script to generate releases. |
65 | The script requires Unix utilities such as tar, zip and unix2dos and thus must | |
66 | be run either on Unix or using Cygwin on Windows. To generate a release, simply | |
67 | run the following command: | |
c7428e08 KO |
68 | |
69 | build/tools/create-archive.py --compression=all /path/to/output/dir | |
70 | ||
433400df VZ |
71 | This will produce zip, gzip and bzip archives of the tree (without |
72 | "compression" argument only .gz is made). Note that this commands produces huge | |
73 | amounts of output so redirecting it to a file is recommended. | |
c7428e08 | 74 | |
433400df VZ |
75 | To add a prefix to the release, such as RC1, the SVN revision, or a date, just |
76 | pass --postfix="postfix" to the script. More info on the options and their | |
77 | possible values can be found by calling `create-archive.py --help`. | |
c7428e08 | 78 | |
433400df VZ |
79 | IMPORTANT NOTE: You *must* run this script from a clean source tree, that is, |
80 | with no junk files in it or modifications. This is because the | |
81 | release should be a pristine copy of the tree as of the time of | |
82 | release. If you have legitimate modifications in the tree that need | |
83 | to be in the release, commit them first. | |
c7428e08 | 84 | |
474aa33e CE |
85 | To generate the windows installer (.exe) and the documentation files (chm and htb formats) |
86 | run: | |
87 | ||
88 | build\tools\bld_chm_exe.bat | |
89 | ||
90 | which depends on the wxwidgets.iss file, and generates output in the %DAILY% directory. It | |
91 | assumes a clean copy of the wxWidgets source tree in %INNO%. Temporary files will be generated | |
92 | in the tree from which the batch file is run. It depends on doxygen, a number of gnu | |
93 | win32 tools and Microsofts htmlhelp compiler. The wxwidgets.iss file should not need | |
94 | editing, but you will want to check that the bld_chm_exe.bat has the correct version number. | |
95 | ||
96 | ||
8de577bc | 97 | |
8de577bc VZ |
98 | Uploading |
99 | --------- | |
100 | ||
30d7a990 VZ |
101 | Upload the files to SourceForge. This can be done via the web interface or just |
102 | scp to sfusername,wxwindows@frs.sf.net:/home/frs/project/w/wx/wxwindows/x.y.z | |
eca734c4 VZ |
103 | The following files need to be uploaded: |
104 | ||
9ba66aea | 105 | wxMSW-Setup-x.y.z.exe |
eca734c4 VZ |
106 | wxWidgets-x.y.z.7z |
107 | wxWidgets-x.y.z.tar.bz2 | |
108 | wxWidgets-x.y.z.zip | |
eca734c4 VZ |
109 | wxWidgets-docs-chm-x.y.z.zip |
110 | wxWidgets-docs-html-x.y.z.tar.bz2 | |
111 | wxWidgets-docs-html-x.y.z.zip | |
112 | ||
e748424e VZ |
113 | The file wxWidgets-x.y.z_Headers.7z should be uploaded to binaries |
114 | subdirectory as it's only useful when using pre-built binaries. | |
115 | ||
30d7a990 VZ |
116 | You will need to use the web interface to mark the latest uploaded files as |
117 | being "default downloads" for the appropriate platforms (.zip or .exe for MSW, | |
118 | .tar.bz2 for everything else) as otherwise SourceForge would continue to suggest | |
119 | people to download old files. | |
120 | ||
eca734c4 VZ |
121 | Next, update (at least the versions and SHA1 sums, but maybe more) and upload |
122 | docs/release_files.mdwn and docs/release_binaries.mdwn files. They need to be | |
123 | renamed to README.md on SF to be shown when the directory is viewed, i.e. do: | |
124 | ||
125 | scp docs/release_files.mdwn \ | |
126 | sfuser,wxwindows@frs.sf.net:/home/frs/project/w/wx/wxwindows/x.y.z/README.md | |
127 | scp docs/release_binaries.mdwn \ | |
128 | sfuser,wxwindows@frs.sf.net:/home/frs/project/w/wx/wxwindows/x.y.z/binaries/README.md | |
29e9a098 | 129 | |
129342d8 VZ |
130 | And upload the change log too: |
131 | ||
132 | scp docs/changes.txt \ | |
133 | sfuser,wxwindows@frs.sf.net:/home/frs/project/w/wx/wxwindows/x.y.z | |
134 | ||
135 | ||
30d7a990 VZ |
136 | Also upload the files to the FTP mirror at ftp.wxwidgets.org (ask Chris for |
137 | access if you don't have it). | |
8de577bc | 138 | |
408ee837 | 139 | Create http://docs.wxwidgets.org/x.y.z/ (ask Bryan to do it if not done yet). |
8de577bc VZ |
140 | |
141 | ||
142 | Announcement | |
143 | ------------ | |
144 | ||
dfb636ce | 145 | Post docs/publicity/announce.txt at least to wx-announce@googlegroups.com. |
8de577bc | 146 | |
14048534 VZ |
147 | Submit a link to http://www.reddit.com/r/programming |
148 | ||
149 | For major releases, submit the announcement to http://slashdot.org/submission | |
8de577bc VZ |
150 | |
151 | Update www.wxwidgets.org, usually a news item is enough but something more can | |
152 | be called for for major releases. | |
153 | ||
129342d8 VZ |
154 | Also update downloads/index.html to mention the new latest release. |
155 | ||
8de577bc VZ |
156 | Post to wxBlog if necessary. |
157 | ||
14048534 VZ |
158 | Announce on Google+/Twitter/whatever the person doing the release prefers (we |
159 | don't have "official" wxWidgets account, should we?). | |
160 | ||
8de577bc VZ |
161 | |
162 | Version updates | |
163 | --------------- | |
164 | ||
165 | Trac: mark the milestone corresponding to the release as completed and add a | |
b963ee60 VZ |
166 | new version for it to allow reporting bugs against it and create the next |
167 | milestone (ask Vadim or Robin to do it or to get admin password). | |
8de577bc VZ |
168 | |
169 | Run misc/scripts/inc_release to increment micro version, i.e. replace x.y.z | |
170 | with x.y.z+1 (minor or major versions updates require manual intervention). |