Release 2.0.4

From Lazarus wiki
Revision as of 13:53, 22 July 2006 by Mischi (talk) (RC2 Mac OS X)

Release organization

  1. All patches important for 2.0.4 should be submitted by the end of June.
  2. New branch for the release will be created from the fixes branch on the 2nd July (Sunday) before lunch. Once the branch is ready, I'll announce it here. Everybody can start to build release candidate of his platforms (version number in file names should be appended with "-rcN") at that moment (I'll try to keep track of who is doing what in Wiki). URL of SVN branch for release candidate 1 is http://svn.freepascal.org/svn/fpcbuild/tags/release_2_0_4_rc1/ (note that with svn+ssh: protocol this becomes svn+ssh://svn.freepascal.org/FPC/svn/fcpbuild/tags/release_2_0_4_rc1/).
  3. As much as possible should be tested and fixed by July 15 (Saturday). However, fixes are not applied to the release branch, but rather just marked with "2.0.4 fix:" in SVN comment (and merged to the fixes branch as appropriate). Please, make sure that only real fixes are marked this way, no last moment "features" this time (once again, all required features should be committed before end of June).
  4. Encountered issues (and their status) should be documented here.
  5. I'll merge the marked patches to the release branch on July 16 (Sunday), announce it and then the new testing cycle can start. As soon as no major issues are encountered, real release will be published.

Release procedure (Release Template)

Note that detailed information for some tasks can be found in Release engineering. These two pages should be eventually merged (or probably rather better interlinked) in the future.

Release preparations

  1. Check and update all .msg files - running, coordinated by Tomas
    1. errore.msg - John?
    2. errord.msg - Karl-Michael Schindler (done)
    3. errorf.msg - Remi Dorlet and "Oro06"/"Olivier"
    4. errorn.msg - Matthijs Willemstein (done)
    5. errorr.msg - Michail Baikov
    6. errorrw.msg - Michail Baikov
    7. errorues.msg
    8. errores.msg
    9. errorct.msg
    10. errorhe.msg - Ido Kanner (done)
    11. errorptd.msg - Ari Ricardo Ody (done)
    12. errorptw.msg - Ari Ricardo Ody (done)
    13. errorpli.msg - Wojciech Malinowski
    14. errorpl.msg - Wojciech Malinowski
    15. errorid.msg - Zaenal Mutaqin (done)
  2. Check tools (no updates this time)
    1. Check version of the above mentioned tools (GNU tools, helper DLLs, UPX, etc.), and decide whether it isn't time to update some of these tools
    2. Repackage and upload additional tools where needed
  3. Update whatsnew.txt (/install/doc/whatsnew.txt) - Florian (done)
  4. Finish all source file updates - July 1
  5. Update version number to 2.0.4 - Tomas (done)
    1. /install/doc/readme.txt (done)
    2. /installer/install.dat (header) (done)
    3. /installer/install.pas (installer version) (done)
    4. /install/fpc.spec
    5. /install/install.sh Done by makepack
    6. convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt (done)
    7. /docs/fpc.sty (macro fpcversion) (done)
    8. All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles) (done)

RC1

  1. New directories (done)
    1. Create new directories on ftp (done)
    2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip, util*.zip) from previous release (unless updated with new versions) (done)
  2. Create new rc1 branch in SVN - July 2, Tomas (done)
  3. Update version number in rc1 branch to 2.0.4-rc1 - July 2, Tomas (done)
    1. /compiler/version.pas - July 2, Tomas (done)
  4. Create and upload exported fpcbuild.zip - July 2, Tomas (done)
  5. Create and upload the documentation - Michael
    1. doc-pdf.zip (done)
    2. doc-html.zip (done)
    3. doc-htm.zip (not included)
    4. doc-txt.zip (done)
    5. doc-ps.zip (done)
    6. doc-pdf.tar.gz (done)
    7. doc-html.tar.gz (done)
    8. doc-ps.tar.gz (done)
  6. Create and upload source zips
    1. short name version for binary packages - Tomas (done)
    2. short name version for docs source
    3. long name version for binary packages
    4. long name version for docs source
  7. Create and upload source tars
  8. Create and upload zip files for i386-go32v2 - Tomas (done)
    1. basic zip (just binaries) (done)
    2. full zip (including docs and sources) (done)
  9. Create and upload zip files for i386-os2 - Tomas (done)
    1. basic zip (just binaries) (done)
    2. full zip (including docs and sources) (done)
  10. Create and upload installer exe for i386-win32 - Florian (done)
  11. Create and upload tgz file for i386-freebsd - Marco
  12. Create and upload release for i386-linux
    1. tar - Michael (done)
    2. deb - Peter
    3. rpm - Michael
  13. Create and upload release for powerpc-linux
    1. tar - Thomas (done)
  14. Create and upload release for powerpc-macosx - Jonas
    1. .dmg package (done)
    2. .info files for fink - Mischi (done)
  15. Create and upload release for powerpc-macos
  16. Create and upload release for powerpc-morphos - Charlie
  17. Create and upload zip files for i386-netware
  18. Create and upload zip files for i386-netwlibc
  19. Create and upload release for sparc-linux
    1. tar
  20. Create and upload release for arm-linux (cross-release)
    1. tar - Daniel
  21. Create and upload release for x86_64-linux
    1. tar - Michael
  22. Run makereleasezips (combine small ZIP files together)
  23. Test the GO32v2 release
    1. dos???.zip installation
    2. dos???full.zip installation (over the previously installed dos???.zip to simulate updates)
    3. make sure readme.txt & whatsnew.txt are for the current version
    4. run all executables in /bin/go32v2 (no params)
    5. make cycle with newly installed binaries and sources
    6. run testsuite
    7. open the installed hello.pp in IDE
    8. make a minor change in the demo in IDE & save it
    9. view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
    10. compile the demo file in IDE
    11. run the demo within the IDE (debugger)
  24. Test the OS/2 release
    1. os2???.zip installation
    2. os2???full.zip installation (over the previously installed os2???.zip to simulate updates)
    3. make sure readme.txt & whatsnew.txt are for the current version
    4. run all executables in /bin/os2 (no params)
    5. make cycle with newly installed binaries and sources
    6. run testsuite
    7. open the installed hello.pp in IDE
    8. make a minor change in the demo in IDE & save it
    9. view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
    10. compile the demo file in IDE
    11. run the demo within the IDE (debugger) (not supported)
  25. Test the Win32 release
    1. Run installer Luiz (Done)
    2. make sure readme.txt & whatsnew.txt are for the current version Luiz (Done)
    3. run all executables in /bin/win32 (without parameters) Luiz (Done)
    4. make cycle with newly installed binaries and sources
    5. run testsuite
    6. open the installed hello.pp in IDE Luiz (Done)
    7. make a minor change in the demo in IDE & save it Luiz (Done)
    8. view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
    9. compile the demo file in IDE Luiz (Done)
    10. run the demo within the IDE (debugger) Luiz (Done)
  26. Test release for i386-freebsd
  27. Test release for i386-linux
    1. tar
    2. deb
    3. rpm
  28. Test release for powerpc-linux
    1. tar
  29. Test release for powerpc-macosx
    1. .dmg package
    2. .info files for fink - Mischi
  30. Test release for powerpc-macos
  31. Test release for powerpc-morphos
  32. Test release for i386-netware
  33. Test release for i386-netwlibc
  34. Test release for sparc-linux
    1. tar
  35. Test release for arm-linux
    1. tar
  36. Test release for x86_64-linux
  37. Check PDF documentation (open all files)
  38. Check HTML documentation
  39. Check TXT documentation
  40. Read updated text files as distributed in release zip files
    1. readme.txt
    2. faq.txt
    3. whatsnew.txt

RC2

  1. New directories (done)
    1. Create new directories on ftp (done)
    2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip, util*.zip) from previous RC (unless updated with new versions) (done)
  2. Create new rc2 branch in SVN - July 16, Tomas (done)
  3. Update version number in rc2 branch to 2.0.4-rc2 - Tomas (done)
    1. /compiler/version.pas - Tomas (done)
  4. Create and upload exported fpcbuild.zip - Tomas (done)
  5. Create and upload the documentation - Michael (done)
    1. doc-pdf.zip (done)
    2. doc-html.zip (done)
    3. doc-htm.zip (not included)
    4. doc-txt.zip (done)
    5. doc-ps.zip (done)
    6. doc-pdf.tar.gz (done)
    7. doc-html.tar.gz (done)
    8. doc-ps.tar.gz (done)
  6. Create and upload source zips
    1. short name version for binary packages - Tomas (done)
    2. docs source (including the link for short name version) - Tomas (done)
    3. long name version for binary packages - Tomas (done)
  7. Create and upload source tars
  8. Create and upload zip files for i386-go32v2 - Tomas (done)
    1. basic zip (just binaries) (done)
    2. full zip (including docs and sources) (done)
  9. Create and upload zip files for i386-os2 - Tomas (done)
    1. basic zip (just binaries) (done)
    2. full zip (including docs and sources) (done)
  10. Create and upload installer exe for i386-win32 - Florian (done)
  11. Create and upload tgz file for i386-freebsd - Marco (done)
  12. Create and upload release for i386-linux
    1. tar - Michael (done)
    2. deb - Peter/Mazen (July 18?)
    3. rpm - Michael (done)
  13. Create and upload release for powerpc-linux
    1. tar - Thomas/Daniel (done - no smartlinked version with GDB available)
  14. Create and upload release for powerpc-macosx - Jonas, July 19
    1. .dmg package (done)
    2. .info files for fink - Mischi
  15. Create and upload release for powerpc-macos
  16. Create and upload release for powerpc-morphos - Charlie
  17. Create and upload zip files for i386-netware
  18. Create and upload zip files for i386-netwlibc
  19. Create and upload release for sparc-linux
    1. tar
  20. Create and upload release for arm-linux (cross-release)
    1. tar - Daniel
  21. Create and upload release for x86_64-linux
    1. tar - Michael (July 18?)
  22. Test the GO32v2 release
    1. dos???.zip installation
    2. dos???full.zip installation (over the previously installed dos???.zip to simulate updates)
    3. make sure readme.txt & whatsnew.txt are for the current version
    4. run all executables in /bin/go32v2 (no params)
    5. make cycle with newly installed binaries and sources
    6. run testsuite
    7. open the installed hello.pp in IDE
    8. make a minor change in the demo in IDE & save it
    9. view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
    10. compile the demo file in IDE
    11. run the demo within the IDE (debugger)
  23. Test the OS/2 release
    1. os2???.zip installation
    2. os2???full.zip installation (over the previously installed os2???.zip to simulate updates)
    3. make sure readme.txt & whatsnew.txt are for the current version
    4. run all executables in /bin/os2 (no params)
    5. make cycle with newly installed binaries and sources
    6. run testsuite
    7. open the installed hello.pp in IDE
    8. make a minor change in the demo in IDE & save it
    9. view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
    10. compile the demo file in IDE
    11. run the demo within the IDE (debugger) (not supported)
  24. Test the Win32 release
    1. Run installer - Luiz
    2. make sure readme.txt & whatsnew.txt are for the current version - Luiz
    3. run all executables in /bin/win32 (without parameters) - Luiz
    4. make cycle with newly installed binaries and sources
    5. run testsuite
    6. open the installed hello.pp in IDE - Luiz
    7. make a minor change in the demo in IDE & save it - Luiz
    8. view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
    9. compile the demo file in IDE - Luiz
    10. run the demo within the IDE (debugger) - Luiz
  25. Test release for i386-freebsd
  26. Test release for i386-linux
    1. tar
    2. deb
    3. rpm
  27. Test release for powerpc-linux
    1. tar
  28. Test release for powerpc-macosx
    1. .dmg package
    2. .info fink installation
  29. Test release for powerpc-macos
  30. Test release for powerpc-morphos
  31. Test release for i386-netware
  32. Test release for i386-netwlibc
  33. Test release for sparc-linux
    1. tar
  34. Test release for arm-linux
    1. tar
  35. Test release for x86_64-linux
  36. Check PDF documentation (open all files)
  37. Check HTML documentation
  38. Check TXT documentation
  39. Read updated text files as distributed in release zip files
    1. readme.txt
    2. faq.txt
    3. whatsnew.txt

Final release

  1. New directories
    1. Create new directories on ftp
    2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip, util*.zip) from previous RC (unless updated with new versions)
  2. Create new release branch in SVN - Tomas
  3. Update version number in release branch to 2.0.4 - Tomas
    1. /compiler/version.pas - Tomas
    2. /install/macosx/*.info - Tomas
  4. Create and upload exported fpcbuild - Tomas
    1. .zip version
    2. .tar.gz version
  5. Create and upload the documentation - Michael
    1. doc-pdf.zip
    2. doc-html.zip
    3. doc-htm.zip (not included)
    4. doc-txt.zip
    5. doc-ps.zip
    6. doc-pdf.tar.gz
    7. doc-html.tar.gz
    8. doc-ps.tar.gz
  6. Create and upload source zips
    1. short name version for binary packages - Tomas
    2. docs source (including link for short name version) - Tomas
    3. long name version for binary packages - Tomas
  7. Create and upload zip files for i386-go32v2 - Tomas
    1. basic zip (just binaries)
    2. full zip (including docs and sources)
  8. Create and upload zip files for i386-os2 - Tomas
    1. basic zip (just binaries)
    2. full zip (including docs and sources)
  9. Create and upload installer exe for i386-win32 - Florian
  10. Create and upload tgz file for i386-freebsd - Marco
  11. Create and upload release for i386-linux
    1. tar - Michael
    2. deb - Peter
    3. rpm - Michael
  12. Create and upload release for powerpc-linux
    1. tar - Thomas
  13. Create and upload release for powerpc-macosx - Jonas
    1. .dmg package
    2. .info files for fink - Mischi
  14. Create and upload release for powerpc-macos
  15. Create and upload release for powerpc-morphos - Charlie
  16. Create and upload zip files for i386-netware
  17. Create and upload zip files for i386-netwlibc
  18. Create and upload release for sparc-linux
    1. tar
  19. Create and upload release for arm-linux (cross-release)
    1. tar - Daniel
  20. Create and upload release for x86_64-linux
    1. tar - Michael
  21. Test the GO32v2 release
    1. dos???.zip installation
    2. dos???full.zip installation (over the previously installed dos???.zip to simulate updates)
    3. make sure readme.txt & whatsnew.txt are for the current version
    4. run all executables in /bin/go32v2 (no params)
    5. make cycle with newly installed binaries and sources
    6. run testsuite
    7. open the installed hello.pp in IDE
    8. make a minor change in the demo in IDE & save it
    9. view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
    10. compile the demo file in IDE
    11. run the demo within the IDE (debugger)
  22. Test the OS/2 release
    1. os2???.zip installation
    2. os2???full.zip installation (over the previously installed os2???.zip to simulate updates)
    3. make sure readme.txt & whatsnew.txt are for the current version
    4. run all executables in /bin/os2 (no params)
    5. make cycle with newly installed binaries and sources
    6. run testsuite
    7. open the installed hello.pp in IDE
    8. make a minor change in the demo in IDE & save it
    9. view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
    10. compile the demo file in IDE
    11. run the demo within the IDE (debugger) (not supported)
  23. Test the Win32 release
    1. Run installer - Luiz
    2. make sure readme.txt & whatsnew.txt are for the current version - Luiz
    3. run all executables in /bin/win32 (without parameters) - Luiz
    4. make cycle with newly installed binaries and sources
    5. run testsuite
    6. open the installed hello.pp in IDE - Luiz
    7. make a minor change in the demo in IDE & save it - Luiz
    8. view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
    9. compile the demo file in IDE - Luiz
    10. run the demo within the IDE (debugger) - Luiz
  24. Test release for i386-freebsd
  25. Test release for i386-linux
    1. tar
    2. deb
    3. rpm
  26. Test release for powerpc-linux
    1. tar
  27. Test release for powerpc-macosx
    1. .dmg package
  28. Test release for powerpc-macos
  29. Test release for powerpc-morphos
  30. Test release for i386-netware
  31. Test release for i386-netwlibc
  32. Test release for sparc-linux
    1. tar
  33. Test release for arm-linux
    1. tar
  34. Test release for x86_64-linux
  35. Check PDF documentation (open all files)
  36. Check HTML documentation
  37. Check TXT documentation
  38. Read updated text files as distributed in release zip files
    1. readme.txt
    2. faq.txt
    3. whatsnew.txt

Going public

  1. Make versions 2.0.4 and 2.0.5 available in bug tracker
  2. Make new files on FTP available to wide public
    1. update symlinks
    2. move the old version to the olddist/<version>
    3. copy files to SourceForge.net
  3. Submit darwin packages to fink - Mischi
  4. Update WWW pages
    1. /html/news.fp
    2. /html/download.fp (links to all individual files & file sizes)
    3. /html/fpc.fp
    4. /html/faq.fp (things like "the latest version is ...")
  5. Update version number to 2.0.5 - Tomas
    1. /compiler/version.pas
  6. Check the WWW pages - Tomas
    1. make sure http://www.freepascal.org contains the new version already
    2. read news.html - Tomas
    3. read fpc.html - Tomas
    4. read download.html and check links to individual files - Tomas
  7. Send announcement to our mailing lists - Tomas
  8. Post announcement on the community site - Tomas
  9. Revise / update /html/future.fp after major versions (?.?.0)