X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/433400df4d89afb025624a9a0aa67cb69a80a7c2..7a36d9c7c1a077ba7e05c248bcf19c4c9bb1356f:/docs/tech/tn0022.txt diff --git a/docs/tech/tn0022.txt b/docs/tech/tn0022.txt index ffb995940a..65bfbb1c87 100644 --- a/docs/tech/tn0022.txt +++ b/docs/tech/tn0022.txt @@ -1,12 +1,21 @@ - Working with the wxWidgets release system - ========================================= + Making a new wxWidgets release + ============================== -Process Overview: -- run build/tools/create-archive.py --compression=all /path/to/output/dir -- upload release to sf.net -- update wxwidgets.org -- promote release on software download sites +Before making the release +------------------------- +Update docs/readme.txt. Please review its contents in addition to just +changing the version number. + +Put a date on the release line in docs/changes.txt. + +Update the date in the manual (docs/doxygen/mainpages/manual.h). + +Update the release announcement post in docs/publicity/announce.txt. + + +Creating release files +---------------------- Currently our release system uses a Python 2.x script to generate releases. The script requires Unix utilities such as tar, zip and unix2dos and thus must @@ -29,3 +38,96 @@ IMPORTANT NOTE: You *must* run this script from a clean source tree, that is, release. If you have legitimate modifications in the tree that need to be in the release, commit them first. +To generate the windows installer (.exe) and the documentation files (chm and htb formats) +run: + +build\tools\bld_chm_exe.bat + +which depends on the wxwidgets.iss file, and generates output in the %DAILY% directory. It +assumes a clean copy of the wxWidgets source tree in %INNO%. Temporary files will be generated +in the tree from which the batch file is run. It depends on doxygen, a number of gnu +win32 tools and Microsofts htmlhelp compiler. The wxwidgets.iss file should not need +editing, but you will want to check that the bld_chm_exe.bat has the correct version number. + + + +Alternative non official release scripts +---------------------------------------- + +If you use git-svn, then you can use alternative script that avoids the +problems such as using non-clean tree and also has better handling of the ends +of lines conversions. To use it you need to run + +- build/tools/svn-find-native-eols.pl +- build/tools/git-make-release +- build/tools/make-html-docs + +(the last one can also be used without git). + + +Uploading +--------- + +Upload the files to SourceForge. This can be done via the web interface or just +scp to sfusername,wxwindows@frs.sf.net:/home/frs/project/w/wx/wxwindows/x.y.z +The following files need to be uploaded: + + wxMSW-Setup-2.9.3.exe + wxWidgets-x.y.z.7z + wxWidgets-x.y.z.tar.bz2 + wxWidgets-x.y.z.zip + wxWidgets-x.y.z_Headers.zip + wxWidgets-docs-chm-x.y.z.zip + wxWidgets-docs-html-x.y.z.tar.bz2 + wxWidgets-docs-html-x.y.z.zip + +You will need to use the web interface to mark the latest uploaded files as +being "default downloads" for the appropriate platforms (.zip or .exe for MSW, +.tar.bz2 for everything else) as otherwise SourceForge would continue to suggest +people to download old files. + +Next, update (at least the versions and SHA1 sums, but maybe more) and upload +docs/release_files.mdwn and docs/release_binaries.mdwn files. They need to be +renamed to README.md on SF to be shown when the directory is viewed, i.e. do: + + scp docs/release_files.mdwn \ + sfuser,wxwindows@frs.sf.net:/home/frs/project/w/wx/wxwindows/x.y.z/README.md + scp docs/release_binaries.mdwn \ + sfuser,wxwindows@frs.sf.net:/home/frs/project/w/wx/wxwindows/x.y.z/binaries/README.md + +And upload the change log too: + + scp docs/changes.txt \ + sfuser,wxwindows@frs.sf.net:/home/frs/project/w/wx/wxwindows/x.y.z + + +Also upload the files to the FTP mirror at ftp.wxwidgets.org (ask Chris for +access if you don't have it). + +Create http://docs.wxwidgets.org/x.y.z/ (ask Bryan to do it if not done yet). + + +Announcement +------------ + +Post docs/publicity/announce.txt at least to wx-announce@googlegroups.com. + +TODO: where else to announce it? + +Update www.wxwidgets.org, usually a news item is enough but something more can +be called for for major releases. + +Also update downloads/index.html to mention the new latest release. + +Post to wxBlog if necessary. + + +Version updates +--------------- + +Trac: mark the milestone corresponding to the release as completed and add a +new version for it to allow reporting bugs against it and create the next +milestone (ask Vadim or Robin to do it or to get admin password). + +Run misc/scripts/inc_release to increment micro version, i.e. replace x.y.z +with x.y.z+1 (minor or major versions updates require manual intervention).