Release 2.0.4

From Lazarus wiki
Revision as of 11:06, 1 July 2006 by Michael (talk | contribs) (→‎Release procedure ([[Release Template]]))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

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).
  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. 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 in the future.

  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
    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. New directories
    1. Create new directories on FTP
    2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip, util*.zip) from the old release
  3. Check tools
    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
  4. Update whatsnew.txt (/install/doc/whatsnew.txt) - Florian
  5. Finish all source file updates - July 1
  6. Update version number to 2.0.4 - Tomas
    1. /install/doc/readme.txt
    2. /installer/install.dat (header + cfg template)
    3. /installer/install.pas (installer version)
    4. /install/fpc.spec
    5. /install/install.sh Done by makepack
    6. /html/faq.fp (things like "the latest version is ...")
    7. convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt
    8. /docs/fpc.sty (macro fpcversion)
    9. All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)
  7. Create new release branch in SVN - July 2, Tomas
  8. Update version number in release branch to 2.0.4 - July 2, Tomas
    1. /compiler/version.pas - July 2, Tomas
  9. Create and upload exported fpcbuild.zip - July 2, Tomas
  10. Create and upload the documentation - Michael
    1. docs-pdf.zip
    2. doc-html.zip
    3. doc-htm.zip
    4. docs-txt.zip
  11. Create and upload source zips
  12. Create and upload source tars
  13. Create and upload zip files for i386-go32v2 - John
  14. Create and upload zip files for i386-os2 - Tomas
  15. Create and upload installer exe for i386-win32 - Florian
  16. Create and upload tar files for i386-freebsd
  17. Create and upload release for i386-linux
    1. tar - Michael
    2. deb
    3. rpm - Michael
  18. Create and upload release for powerpc-linux
    1. tar
  19. Create and upload release for powerpc-macosx
  20. Create and upload release for powerpc-macos
  21. Create and upload release for powerpc-morphos - Charlie
  22. Create and upload zip files for i386-netware
  23. Create and upload zip files for i386-netwlibc
  24. Create and upload release for sparc-linux
    1. tar
  25. Create and upload release for arm-linux
    1. tar
  26. Create and upload release for x86_64-linux
    1. tar
  27. Run makereleasezips (combine small ZIP files together)
  28. 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)
  29. 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)
  30. Test the Win32 release
    1. Run installer
    2. make sure readme.txt & whatsnew.txt are for the current version
    3. run all executables in /bin/win32 (without parameters)
    4. make cycle with newly installed binaries and sources
    5. run testsuite
    6. open the installed hello.pp in IDE
    7. make a minor change in the demo in IDE & save it
    8. view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
    9. compile the demo file in IDE
    10. run the demo within the IDE (debugger)
  31. Test release for i386-freebsd
  32. Test release for i386-linux
    1. tar
    2. deb
    3. rpm
  33. Test release for powerpc-linux
    1. tar
  34. Test release for powerpc-macosx
  35. Test release for powerpc-macos
  36. Test release for powerpc-morphos
  37. Test release for i386-netware
  38. Test release for i386-netwlibc
  39. Test release for sparc-linux
    1. tar
  40. Test release for arm-linux
    1. tar
  41. Test release for x86_64-linux
  42. Check PDF documentation (open all files)
  43. Check HTML documentation
  44. Check TXT documentation
  45. Read updated text files as distributed in release zip files
    1. readme.txt
    2. faq.txt
    3. whatsnew.txt
  46. Make new files on FTP available to wide public
    1. update symlinks
    2. move the old version to the olddist/<version>
  47. Update WWW pages
    1. /html/news.fp
    2. /html/download.fp (links to all individual files & file sizes)
    3. /html/fpc.fp
  48. Update version number to 2.0.5 - Tomas
    1. /compiler/version.pas
  49. 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
  50. Send announcement to our mailing lists - Tomas
  51. Post announcement on the community site - Tomas
  52. Revise / update /html/future.fp after major versions (?.?.0)