Difference between revisions of "Release 2.2.0"

From Lazarus wiki
Jump to navigationJump to search
 
(56 intermediate revisions by 10 users not shown)
Line 3: Line 3:
 
# Before releasing 2.2.0 there will be a public beta available for about two months. The version number of the beta will be 2.1.4 (aka 2.2.0-beta)
 
# Before releasing 2.2.0 there will be a public beta available for about two months. The version number of the beta will be 2.1.4 (aka 2.2.0-beta)
 
# Before the beta there will be an 'internal' release, 2.1.2 to test the build-proces on all platforms. The release of 2.1.2 is the 'feature freeze' for version 2.2.0. In principle between version 2.1.2 and 2.1.4 only build-related patches are allowed.
 
# Before the beta there will be an 'internal' release, 2.1.2 to test the build-proces on all platforms. The release of 2.1.2 is the 'feature freeze' for version 2.2.0. In principle between version 2.1.2 and 2.1.4 only build-related patches are allowed.
# Merging patches should be done by the developers who are 'responsible' for that part of the code.
+
# Version 2.1.4 will be public and announced. From the release of 2.1.4 on, no new features will be added and no functionality will be removed. Only bug fixes are allowed.
# Friday the 16th version 2.1.2 will be tagged from the fixes_2_2 branche
+
# About two months after version 2.1.4, there will be (at least one) release candidate for version 2.2.0.
 +
# Is the release canidates are satisfactory, 2.2.0 will be released
 +
 
 +
Merging patches should be done by the developers who are 'responsible' for that part of the code.
 +
 
 +
 
 +
Timeline so far:
 +
# Friday the 16th version 2.1.2 will be tagged from the fixes_2_2 branch.
 
# If things go well, 2.1.4 will be tagged friday the 30th. If we are lucky, the release of 2.1.4 can be in the week thereafter.
 
# If things go well, 2.1.4 will be tagged friday the 30th. If we are lucky, the release of 2.1.4 can be in the week thereafter.
 
  
 
== Release procedure ([[Release Template]]) ==
 
== Release procedure ([[Release Template]]) ==
Line 13: Line 19:
  
 
=== Release preparations ===
 
=== Release preparations ===
 +
 +
These things has to be done only once for each release-cycle.
  
 
#  <strike>Agree on deadline for changes</strike>
 
#  <strike>Agree on deadline for changes</strike>
#  <strike>New page in Wiki for release procedure with steps needed and their status (this page), at the beginning consisting of the beta (2.1.) </strike> and final release sections
+
#  <strike>New page in Wiki for release procedure with steps needed and their status (this page), at the beginning consisting of the beta (2.1.) release.</strike> Later the final release sections has to be added.
 
#  Check tools
 
#  Check tools
 
## 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
 
## 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
 
## Repackage and upload additional tools where needed
 
## Repackage and upload additional tools where needed
#  Update whatsnew.txt (/install/doc/whatsnew.txt) - Florian
+
#  Update whatsnew.txt (/install/doc/whatsnew.txt)
#  Finish all source file updates
+
#  Update readme.txt (/install/doc/readme.txt)
#  Update version number to new release number
+
# Update /html/faq.fp and convert it to /install/doc/faq.htm and /install/doc/faq.txt
## /install/doc/readme.txt
 
## /installer/install.dat (header)
 
## /installer/install.pas (installer version)
 
## /install/fpc.spec
 
## /install/install.sh <i>Done by makepack</i>
 
## convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt
 
## /docs/fpc.sty (macro fpcversion)
 
## All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)
 
  
 
=== 2.1.2 ===
 
=== 2.1.2 ===
  
 
#  Create new page in Wiki with issue log for documentation of issues encountered in release candidates and their status
 
#  Create new page in Wiki with issue log for documentation of issues encountered in release candidates and their status
#  New directories
+
# Update whatsnew.txt (/install/doc/whatsnew.txt)
## Create new directories on ftp
+
# Update readme.txt (/install/doc/readme.txt)
## Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)
+
# Update /html/faq.fp and convert it to /install/doc/faq.htm and /install/doc/faq.txt
Tag version 2.1.2
+
<strike>New [[Release engineering#Create directories on ftp|directories]]</strike>
## /compiler/version.pas  
+
## <strike>Create new directories on ftp</strike>
#  Create and upload exported fpcbuild.zip  
+
## <strike>Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)</strike>
#  Create and upload the documentation - Michael
+
#  <strike>Finish all source file updates</strike>
## doc-pdf.zip
+
Convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt
## doc-html.zip
+
#  <strike>[[Release engineering#Update the version-number|Update version number]] to new release number</strike>
## doc-htm.zip
+
## fpcbuild: All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)
## doc-txt.zip
+
## fpc: All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)
## doc-ps.zip
+
## <strike>/install/doc/readme.txt</strike>
## doc-pdf.tar.gz
+
## <strike>/installer/install.dat (header)</strike>
## doc-html.tar.gz
+
## <strike>/installer/install.pas (installer version)</strike>
## doc-ps.tar.gz
+
## <strike>/install/fpc.spec</strike>
 +
## /install/debian/changelog
 +
## /docs/fpc.sty (macro fpcversion)
 +
## <strike>/compiler/version.pas </strike>
 +
<strike>[[Release engineering#Tag version|Tag version]] 2.1.2</strike>
 +
#  <strike>Create and upload exported [[Release engineering#Source-zip| fpcbuild.zip ]]</strike>
 +
<strike>Create and upload the documentation - Michael</strike>
 +
## <strike>doc-pdf.zip</strike>
 +
## <strike>doc-html.zip</strike>
 +
## <strike>doc-htm.zip</strike>
 +
## <strike>doc-txt.zip</strike>
 +
## <strike>doc-ps.zip</strike>
 +
## <strike>doc-pdf.tar.gz</strike>
 +
## <strike>doc-html.tar.gz</strike>
 +
## <strike>doc-ps.tar.gz</strike>
 
#  Create and upload source zips
 
#  Create and upload source zips
 
## short name version for binary packages
 
## short name version for binary packages
Line 55: Line 69:
 
## long name version for docs source
 
## long name version for docs source
 
#  Create and upload source tars
 
#  Create and upload source tars
# Create and upload zip files for i386-go32v2  
+
# [[Release_engineering | Build]] and upload the following releases:
## basic zip (just binaries)
+
## native i386-go32v2 (basic zip, full zip)
## full zip (including docs and sources)
+
## <strike>native i386-win32 (installer) (Florian)</strike>
# Create and upload zip files for i386-os2
+
## <strike>native i386-linux (tar, deb:mazen, rpm)</strike>
## basic zip (just binaries)
+
## native i386-freebsd (tgz)
## full zip (including docs and sources)
+
## native i386-netware (zip)
# Create and upload installer exe for i386-win32 - Florian
+
## native i386-netware libc (zip)
# Create and upload tgz file for i386-freebsd - Marco
+
## <strike>native i386-os2 (basic zip, full zip)</strike> (import libraries still broken, release not possible now)
# Create and upload release for i386-linux
+
## native i386-mac os x + cross powerpc-mac os x (dmg, <strike>.info for fink</strike>) (jonas<strike>/mischi</strike>)
## tar - Michael
+
## native x86_64-linux (tar, deb, rpm)
## deb - Peter
+
## <strike>cross i386-win32 -> arm-wince (Florian)</strike>
## rpm - Michael
+
## <strike>cross i386-win32 -> x86_64-win64 (Florian)</strike>
#  Create and upload release for powerpc-linux
+
## <strike>native arm-linux (tar) (Florian)</strike>
## tar - Thomas
+
## native powerpc-mac os x (dmg, <strike>.info for fink</strike>) (jonas<strike>/mischi</strike>)
#  Create and upload release for powerpc-macosx - Jonas
+
## <strike>native powerpc-linux (tar) (tom_at_work)</strike>
## .dmg package
+
## <strike>native powerpc64-linux (tar) (tom_at_work)</strike>
## .info files for fink - Mischi
+
## native powerpc-morphos (?)
# Create and upload release for powerpc-macos
+
## <strike>native sparc-linux (deb:mazen)</strike>
# Create and upload release for powerpc-morphos - Charlie
 
# Create and upload zip files for i386-netware
 
# Create and upload zip files for i386-netwlibc
 
# Create and upload release for sparc-linux
 
## tar
 
# Create and upload release for arm-linux (cross-release)
 
## tar - Daniel
 
# Create and upload release for x86_64-linux
 
## tar - Michael
 
 
#  Run makereleasezips (combine small ZIP files together)
 
#  Run makereleasezips (combine small ZIP files together)
 
#  Consider announcing availability of the new RC in fpc-devel list and/or ask there for dedicated testers for individual platforms
 
#  Consider announcing availability of the new RC in fpc-devel list and/or ask there for dedicated testers for individual platforms
# Test the GO32v2 release
+
# [[Release_engineering#Testing_a_release | Test]] the following releases:
## dos???.zip installation
+
## native i386-go32v2
## dos???full.zip installation (over the previously installed dos???.zip to simulate updates)
+
## native i386-win32
## make sure readme.txt & whatsnew.txt are for the current version
+
## native i386-linux
## run all executables in /bin/go32v2 (no params)
+
## native i386-freebsd
## make cycle with newly installed binaries and sources
+
## native i386-netware
## run testsuite
+
## native i386-netware libc
## open the installed hello.pp in IDE
+
## native i386-os2
## make a minor change in the demo in IDE & save it
+
## native i386-mac os x
## view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
+
## native x86_64-linux
## compile the demo file in IDE
+
## cross i386-win32 -> arm-wince
## run the demo within the IDE (debugger)
+
## cross i386-win32 -> x86_64-win64
#  Test the OS/2 release
+
## native arm-linux
## os2???.zip installation
+
## native powerpc-mac os x
## os2???full.zip installation (over the previously installed os2???.zip to simulate updates)
+
## native powerpc-morphos (?)
## make sure readme.txt & whatsnew.txt are for the current version
+
## native powerpc-linux
## run all executables in /bin/os2 (no params)
+
## native powerpc64-linux
## make cycle with newly installed binaries and sources
+
## native sparc-linux (mazen)
## run testsuite
 
## open the installed hello.pp in IDE
 
## make a minor change in the demo in IDE & save it
 
## view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
 
## compile the demo file in IDE
 
## run the demo within the IDE (debugger)
 
#  Test the Win32 release
 
## Run installer
 
## make sure readme.txt & whatsnew.txt are for the current version
 
## run all executables in /bin/win32 (without parameters)
 
## make cycle with newly installed binaries and sources
 
## run testsuite
 
## open the installed hello.pp in IDE
 
## make a minor change in the demo in IDE & save it
 
## view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
 
## compile the demo file in IDE
 
## run the demo within the IDE (debugger)
 
#  Test release for i386-freebsd
 
#  Test release for i386-linux
 
## tar
 
## deb
 
## rpm
 
#  Test release for powerpc-linux
 
## tar
 
#  Test release for powerpc-macosx
 
## .dmg package
 
## .info files for fink - Mischi
 
#  Test release for powerpc-macos
 
#  Test release for powerpc-morphos
 
# Test release for i386-netware
 
# Test release for i386-netwlibc
 
#  Test release for sparc-linux
 
## tar
 
#  Test release for arm-linux
 
## tar
 
#  Test release for x86_64-linux
 
#  Check PDF documentation (open all files)
 
#  Check HTML documentation
 
#  Check TXT documentation
 
#  Read updated text files as distributed in release zip files
 
## readme.txt
 
## faq.txt
 
## whatsnew.txt
 
  
 
=== 2.1.4 (2.2.0 beta) ===
 
=== 2.1.4 (2.2.0 beta) ===
  
 
#  Section for new beta on release pages in Wiki
 
#  Section for new beta on release pages in Wiki
## Release procedure
+
<strike>Look at unmerged changes in fpc and fpcbuild since the last RC and consider/ask for necessity of their inclusion in the release</strike>
## Issue log
+
#  <strike>Create new page in Wiki with issue log for documentation of [[Issues_2.1.4|issues]] encountered in release candidates and their status</strike>
#  Look at unmerged changes in fpc and fpcbuild since the last RC and consider/ask for necessity of their inclusion in the release
+
# <strike>Update whatsnew.txt (/install/doc/whatsnew.txt)</strike>
 
+
# <strike>Update readme.txt (/install/doc/readme.txt)</strike>
# New directories</strike> (done)
+
<strike>New [[Release engineering#Create directories on ftp|directories]]</strike>
#  New directories
+
## <strike>Create new directories on ftp</strike>
## Create new directories on ftp
+
## <strike>Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions) <i>only done for go32v2 since there is no OS/2 release</i></strike>
## Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)
+
<strike>Finish all source file updates</strike>
Tag version 2.1.2
+
#  Convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt
## /compiler/version.pas  
+
#  <strike>[[Release engineering#Update the version-number|Update version number]] to new release number</strike>
#  Create and upload exported fpcbuild.zip  
+
## <strike>fpcbuild: All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)</strike>
#  Create and upload the documentation - Michael
+
## <strike>fpc: All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)</strike>
## doc-pdf.zip
+
## <strike>/install/doc/readme.txt</strike>
## doc-html.zip
+
## <strike>/installer/install.dat (header)</strike>
 +
## <strike>/installer/install.pas (installer version)</strike>
 +
## <strike>/install/fpc.spec <i>not needed anymore, done by make rpm</i></strike>
 +
## <strike>/install/debian/changelog</strike>
 +
## <strike>/docs/fpc.sty (macro fpcversion) <i>The documentation version number is already set to 2.2.0</i></strike>
 +
## <strike>/compiler/version.pas </strike>
 +
<strike>[[Release engineering#Tag version|Tag version]] 2.1.4</strike>
 +
#  <strike>Create and upload exported [[Release engineering#Source-zip| fpcbuild.zip ]]</strike>
 +
<strike>Create and upload the documentation - Michael</strike>
 +
## <strike>doc-pdf.zip</strike>
 +
## <strike>doc-html.zip</strike>
 
## doc-htm.zip
 
## doc-htm.zip
## doc-txt.zip
+
## <strike>doc-txt.zip</strike>
## doc-ps.zip
+
## <strike>doc-ps.zip</strike>
## doc-pdf.tar.gz
+
## <strike>doc-pdf.tar.gz</strike>
## doc-html.tar.gz
+
## <strike>doc-html.tar.gz</strike>
## doc-ps.tar.gz
+
## <strike>doc-ps.tar.gz</strike>
 +
## <strike>doc-dvi.zip</strike>
 
#  Create and upload source zips
 
#  Create and upload source zips
 
## short name version for binary packages
 
## short name version for binary packages
Line 175: Line 148:
 
## long name version for docs source
 
## long name version for docs source
 
#  Create and upload source tars
 
#  Create and upload source tars
# Create and upload zip files for i386-go32v2  
+
# [[Release_engineering | Build]] and upload the following releases:
## basic zip (just binaries)
+
## native i386-go32v2 (basic zip, full zip)
## full zip (including docs and sources)
+
## <strike>native i386-win32 (installer) (Florian)</strike>
# Create and upload zip files for i386-os2
+
## <strike>native i386-linux (tar, deb:mazen, rpm)</strike>
## basic zip (just binaries)
+
## <strike>native i386-freebsd (tgz)</strike>
## full zip (including docs and sources)
+
## <strike>native i386-netware (zip)<i>a netware version in not released</i></strike>
# Create and upload installer exe for i386-win32 - Florian
+
## <strike>native i386-netware libc (zip)<i>a netware version in not released</i></strike>
# Create and upload tgz file for i386-freebsd - Marco
+
## <strike>native i386-os2 (basic zip, full zip) (import libraries still broken, release not possible now)</strike>
# Create and upload release for i386-linux
+
## <strike>native i386-mac os x + cross powerpc-mac os x (dmg, .info for fink) (jonas/mischi)</strike>
## tar - Michael
+
## <strike>native x86_64-linux (tar, deb, rpm</strike>)
## deb - Peter
+
## <strike>cross i386-win32 -> arm-wince (Florian)</strike>
## rpm - Michael
+
## <strike>cross i386-win32 -> x86_64-win64 (Florian)</strike>
#  Create and upload release for powerpc-linux
+
## <strike>native arm-linux (tar) (Florian)</strike>
## tar - Thomas
+
## <strike>native powerpc-mac os x (dmg, .info for fink) (jonas/mischi)</strike>
#  Create and upload release for powerpc-macosx - Jonas
+
## <strike>native powerpc-linux (tar) (tom_at_work)</strike>
## .dmg package
+
## <strike>native powerpc64-linux (tar) (tom_at_work)</strike>
## .info files for fink - Mischi
+
## <strike>native powerpc-morphos (?)<i>a morphos version in not released</i></strike>
# Create and upload release for powerpc-macos
+
## <strike>native sparc-linux (deb:mazen)</strike>
# Create and upload release for powerpc-morphos - Charlie
 
# Create and upload zip files for i386-netware
 
# Create and upload zip files for i386-netwlibc
 
# Create and upload release for sparc-linux
 
## tar
 
# Create and upload release for arm-linux (cross-release)
 
## tar - Daniel
 
# Create and upload release for x86_64-linux
 
## tar - Michael
 
 
#  Run makereleasezips (combine small ZIP files together)
 
#  Run makereleasezips (combine small ZIP files together)
 
#  Consider announcing availability of the new RC in fpc-devel list and/or ask there for dedicated testers for individual platforms
 
#  Consider announcing availability of the new RC in fpc-devel list and/or ask there for dedicated testers for individual platforms
# Test the GO32v2 release
+
# [[Release_engineering#Testing_a_release | Test]] the following releases:
## dos???.zip installation
+
## native i386-go32v2
## dos???full.zip installation (over the previously installed dos???.zip to simulate updates)
+
## native i386-win32
## make sure readme.txt & whatsnew.txt are for the current version
+
## native i386-linux
## run all executables in /bin/go32v2 (no params)
+
## native i386-freebsd
## make cycle with newly installed binaries and sources
+
## native i386-netware
## run testsuite
+
## native i386-netware libc
## open the installed hello.pp in IDE
+
## native i386-os2
## make a minor change in the demo in IDE & save it
+
## native i386-mac os x
## view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
+
## native x86_64-linux
## compile the demo file in IDE
+
## cross i386-win32 -> arm-wince
## run the demo within the IDE (debugger)
+
## cross i386-win32 -> x86_64-win64
#  Test the OS/2 release
+
## native arm-linux
## os2???.zip installation
+
## native powerpc-mac os x
## os2???full.zip installation (over the previously installed os2???.zip to simulate updates)
+
## native powerpc-morphos (?)
## make sure readme.txt & whatsnew.txt are for the current version
+
## native powerpc-linux
## run all executables in /bin/os2 (no params)
+
## native powerpc64-linux
## make cycle with newly installed binaries and sources
+
## native sparc-linux (mazen)
## run testsuite
 
## open the installed hello.pp in IDE
 
## make a minor change in the demo in IDE & save it
 
## view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
 
## compile the demo file in IDE
 
## run the demo within the IDE (debugger)
 
#  Test the Win32 release
 
## Run installer
 
## make sure readme.txt & whatsnew.txt are for the current version
 
## run all executables in /bin/win32 (without parameters)
 
## make cycle with newly installed binaries and sources
 
## run testsuite
 
## open the installed hello.pp in IDE
 
## make a minor change in the demo in IDE & save it
 
## view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
 
## compile the demo file in IDE
 
## run the demo within the IDE (debugger)
 
#  Test release for i386-freebsd
 
#  Test release for i386-linux
 
## tar
 
## deb
 
## rpm
 
#  Test release for powerpc-linux
 
## tar
 
#  Test release for powerpc-macosx
 
## .dmg package
 
## .info files for fink - Mischi
 
#  Test release for powerpc-macos
 
#  Test release for powerpc-morphos
 
# Test release for i386-netware
 
# Test release for i386-netwlibc
 
#  Test release for sparc-linux
 
## tar
 
#  Test release for arm-linux
 
## tar
 
#  Test release for x86_64-linux
 
#  Check PDF documentation (open all files)
 
#  Check HTML documentation
 
#  Check TXT documentation
 
#  Read updated text files as distributed in release zip files
 
## readme.txt
 
## faq.txt
 
## whatsnew.txt
 
  
=== Buring the beta ===
+
=== During the beta ===
  
 
#  Check and update all .msg files  
 
#  Check and update all .msg files  
 
## errore.msg - John?
 
## errore.msg - John?
## errord.msg - Karl-Michael Schindler?
+
## errorct.msg
 +
## errord.msg, errordu.msg - Karl-Michael Schindler aka mischi
 +
## errorda.msg - Christian Iversen?
 +
## errores.msg
 
## errorf.msg - Remi Dorlet and "Oro06"/"Olivier"?
 
## errorf.msg - Remi Dorlet and "Oro06"/"Olivier"?
 +
## errorfi.msg
 +
## errorhe.msg, errorheu.msg - Ido Kanner?
 +
## errorid.msg - Zaenal Mutaqin?
 
## errorn.msg - Matthijs Willemstein?
 
## errorn.msg - Matthijs Willemstein?
 +
## errorpl.msg - Wojciech Malinowski?
 +
## errorpli.msg - Wojciech Malinowski?
 +
## errorptd.msg - Ari Ricardo Ody?
 +
## errorptw.msg - Ari Ricardo Ody?
 
## errorr.msg - Michail Baikov?
 
## errorr.msg - Michail Baikov?
 
## errorrw.msg - Michail Baikov?
 
## errorrw.msg - Michail Baikov?
 
## errorues.msg
 
## errorues.msg
## errores.msg
 
## errorct.msg
 
## errorhe.msg - Ido Kanner?
 
## errorptd.msg - Ari Ricardo Ody?
 
## errorptw.msg - Ari Ricardo Ody?
 
## errorpli.msg - Wojciech Malinowski?
 
## errorpl.msg - Wojciech Malinowski?
 
## errorid.msg - Zaenal Mutaqin?
 
  
=== Going public ===
+
=== 2.2.0 ===
 +
 
 +
#  <strike>Section for the final build on release page in Wiki</strike>
 +
#  <strike>Look at unmerged changes in fpc and fpcbuild since the last RC and consider/ask for necessity of their inclusion in the release</strike>
 +
#  New  [[Release engineering#Create directories on ftp|directories]]
 +
## Create new directories on ftp
 +
## Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions) <i>only done for go32v2 since there is no OS/2 release</i>
 +
#  <strike>Finish all source file updates</strike>
 +
#  <strike>Convert /html/faq.adp to /install/doc/faq.htm and /install/doc/faq.txt</strike>
 +
#  <strike>[[Release engineering#Update the version-number|Update version number]] to new release number</strike>
 +
## <strike>fpcbuild: All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)</strike>
 +
## <strike>fpc: All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)</strike>
 +
## <strike>/install/doc/readme.txt</strike>
 +
## <strike>/installer/install.dat (header)</strike>
 +
## <strike>/installer/install.pas (installer version)</strike>
 +
## <strike>/install/fpc.spec <i>not needed anymore, done by make rpm</i></strike>
 +
## <strike>/install/debian/changelog</strike>
 +
## <strike>/docs/fpc.sty (macro fpcversion) <i>The documentation version number is already set to 2.2.0</i></strike>
 +
## <strike>/compiler/version.pas</strike>
 +
#  <strike>[[Release engineering#Tag version|Tag version]] 2.2.0</strike>
 +
#  <strike>Create and upload exported [[Release engineering#Source-zip| fpcbuild.zip ]]</strike>
 +
#  Create and upload the documentation - Michael
 +
## <strike>doc-pdf.zip</strike>
 +
## <strike>doc-html.zip</strike>
 +
## doc-htm.zip
 +
## <strike>doc-txt.zip</strike>
 +
## <strike>doc-ps.zip</strike>
 +
## <strike>doc-pdf.tar.gz</strike>
 +
## <strike>doc-html.tar.gz</strike>
 +
## <strike>doc-ps.tar.gz</strike>
 +
## <strike>doc-dvi.zip</strike>
 +
#  <strike>Create and upload source zips</strike>
 +
## short name version for binary packages
 +
## short name version for docs source
 +
## long name version for binary packages
 +
## long name version for docs source
 +
#  <strike>Create and upload source tars</strike>
 +
# [[Release_engineering | Build]] and upload the following releases:
 +
## native i386-go32v2 (basic zip, full zip)
 +
## <strike>native i386-win32 (installer)</strike>
 +
## <strike>native i386-linux (tar, deb:mazen, rpm)</strike>
 +
## <strike>native i386-freebsd (tar in Marco's homedir on Idefix)</strike>
 +
## <strike>cross i386-netware (zip)<i>a netware version in not released</i></strike>
 +
## <strike>cross i386-netware libc (zip)<i>a netwlibc version in not released</i></strike>
 +
## <strike>native i386-os2 (basic zip, full zip) <i>(import libraries still broken, release not possible now)</i></strike>
 +
## <strike>native i386-mac os x + cross powerpc-mac os x (dmg, .info for fink)</strike>
 +
## <strike>native x86_64-linux (tar,</strike> deb<strike>, rpm)</strike>
 +
## cross i386-win32 -> arm-wince
 +
## cross i386-win32 -> x86_64-win64
 +
## native arm-linux (tar)
 +
## native powerpc-mac os x (<strike>dmg</strike>, .info for fink)
 +
## <strike>native powerpc-linux (tar)</strike>
 +
## <strike>native powerpc64-linux (tar)</strike>
 +
## <strike>native powerpc-morphos (?)<i>a morphos version in not released</i></strike>
 +
## <strike>native sparc-linux (deb:mazen)</strike>
 +
#  Run makereleasezips (combine small ZIP files together)
 +
#  Consider announcing availability of the new RC in fpc-devel list and/or ask there for dedicated testers for individual platforms
 +
# [[Release_engineering#Testing_a_release | Test]] the following releases:
 +
## native i386-go32v2
 +
## native i386-win32
 +
## native i386-linux
 +
## native i386-freebsd
 +
## native i386-netware
 +
## native i386-netware libc
 +
## native i386-os2
 +
## native i386-mac os x
 +
## native x86_64-linux
 +
## cross i386-win32 -> arm-wince
 +
## cross i386-win32 -> x86_64-win64
 +
## native arm-linux
 +
## <strike>native powerpc-mac os x</strike>
 +
## native powerpc-morphos (?)
 +
## native powerpc-linux
 +
## native powerpc64-linux
 +
## native sparc-linux
 +
 
 +
=== Going public of the beta ===
  
 
#  Make new version numbers (release plus next odd patch number for continuing fixes) available in bug tracker
 
#  Make new version numbers (release plus next odd patch number for continuing fixes) available in bug tracker
#  Make new version numbers (release plus next odd patch number for continuing fixes) available in testsuite db - Florian
+
#  Make new version numbers (release plus next odd patch number for continuing fixes) available in testsuite db
 
#  Make new files on FTP available to wide public
 
#  Make new files on FTP available to wide public
 
## <i>update symlinks</i> (no symlinks any more?)
 
## <i>update symlinks</i> (no symlinks any more?)
Line 302: Line 301:
 
## /html/fpc.fp
 
## /html/fpc.fp
 
## /html/faq.fp (things like "the latest version is ...")
 
## /html/faq.fp (things like "the latest version is ...")
#  <strike><i>Create new fixes branch (only after a major release -  ?.?.0)</i> </strink>(not relevant this time)
+
#  <strike>Create new fixes branch (only after a major release -  ?.?.0)</strike> (already done at the beginning of the release cycle)
## <i>Update version number in the trunk branch (only after a major release -  ?.?.0)</i> (not relevant this time)
+
## <strike>Update version number in the trunk branch (only after a major release -  ?.?.0)</strike> (already done at the beginning of the release cycle)
### <i>/compiler/version.pas</i> (not relevant this time)
+
### <strike>/compiler/version.pas</strike> (already done at the beginning of the release cycle)
### <i>All Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles)</i> (not relevant this time)
+
### <strike>All Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles)</strike> (already done at the beginning of the release cycle)
#  Update version number in the fixes branch (increase the patch to next odd number) - Tomas
+
#  Update version number in the fixes branch (increase the patch to next odd number)
 
## /compiler/version.pas
 
## /compiler/version.pas
 
## All Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles)
 
## All Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles)
#  Check the WWW pages - Tomas
+
#  Check the WWW pages
 
## make sure http://www.freepascal.org contains the new version already
 
## make sure http://www.freepascal.org contains the new version already
 
## read news.html  
 
## read news.html  
Line 316: Line 315:
 
#  Send announcement to our mailing lists  
 
#  Send announcement to our mailing lists  
 
#  Post announcement on the community site  
 
#  Post announcement on the community site  
#  Post announcement on Sourceforge.net (only "Project Administrators" may do it) - Jonas
+
#  Post announcement on Sourceforge.net (only "Project Administrators" may do it)
 
#  Make sure that all unfixed issues encountered during RC testing and listed on dedicated page in Wiki are documented in bug tracker too
 
#  Make sure that all unfixed issues encountered during RC testing and listed on dedicated page in Wiki are documented in bug tracker too
 
#  Revise / update /html/future.fp after major versions (?.?.0)
 
#  Revise / update /html/future.fp after major versions (?.?.0)
 +
 +
[[Category:FPC release]]

Latest revision as of 21:23, 1 August 2012

Release organization

  1. Before releasing 2.2.0 there will be a public beta available for about two months. The version number of the beta will be 2.1.4 (aka 2.2.0-beta)
  2. Before the beta there will be an 'internal' release, 2.1.2 to test the build-proces on all platforms. The release of 2.1.2 is the 'feature freeze' for version 2.2.0. In principle between version 2.1.2 and 2.1.4 only build-related patches are allowed.
  3. Version 2.1.4 will be public and announced. From the release of 2.1.4 on, no new features will be added and no functionality will be removed. Only bug fixes are allowed.
  4. About two months after version 2.1.4, there will be (at least one) release candidate for version 2.2.0.
  5. Is the release canidates are satisfactory, 2.2.0 will be released

Merging patches should be done by the developers who are 'responsible' for that part of the code.


Timeline so far:

  1. Friday the 16th version 2.1.2 will be tagged from the fixes_2_2 branch.
  2. If things go well, 2.1.4 will be tagged friday the 30th. If we are lucky, the release of 2.1.4 can be in the week thereafter.

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

These things has to be done only once for each release-cycle.

  1. Agree on deadline for changes
  2. New page in Wiki for release procedure with steps needed and their status (this page), at the beginning consisting of the beta (2.1.) release. Later the final release sections has to be added.
  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)
  5. Update readme.txt (/install/doc/readme.txt)
  6. Update /html/faq.fp and convert it to /install/doc/faq.htm and /install/doc/faq.txt

2.1.2

  1. Create new page in Wiki with issue log for documentation of issues encountered in release candidates and their status
  2. Update whatsnew.txt (/install/doc/whatsnew.txt)
  3. Update readme.txt (/install/doc/readme.txt)
  4. Update /html/faq.fp and convert it to /install/doc/faq.htm and /install/doc/faq.txt
  5. New directories
    1. Create new directories on ftp
    2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)
  6. Finish all source file updates
  7. Convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt
  8. Update version number to new release number
    1. fpcbuild: All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)
    2. fpc: All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)
    3. /install/doc/readme.txt
    4. /installer/install.dat (header)
    5. /installer/install.pas (installer version)
    6. /install/fpc.spec
    7. /install/debian/changelog
    8. /docs/fpc.sty (macro fpcversion)
    9. /compiler/version.pas
  9. Tag version 2.1.2
  10. Create and upload exported fpcbuild.zip
  11. Create and upload the documentation - Michael
    1. doc-pdf.zip
    2. doc-html.zip
    3. doc-htm.zip
    4. doc-txt.zip
    5. doc-ps.zip
    6. doc-pdf.tar.gz
    7. doc-html.tar.gz
    8. doc-ps.tar.gz
  12. Create and upload source zips
    1. short name version for binary packages
    2. short name version for docs source
    3. long name version for binary packages
    4. long name version for docs source
  13. Create and upload source tars
  14. Build and upload the following releases:
    1. native i386-go32v2 (basic zip, full zip)
    2. native i386-win32 (installer) (Florian)
    3. native i386-linux (tar, deb:mazen, rpm)
    4. native i386-freebsd (tgz)
    5. native i386-netware (zip)
    6. native i386-netware libc (zip)
    7. native i386-os2 (basic zip, full zip) (import libraries still broken, release not possible now)
    8. native i386-mac os x + cross powerpc-mac os x (dmg, .info for fink) (jonas/mischi)
    9. native x86_64-linux (tar, deb, rpm)
    10. cross i386-win32 -> arm-wince (Florian)
    11. cross i386-win32 -> x86_64-win64 (Florian)
    12. native arm-linux (tar) (Florian)
    13. native powerpc-mac os x (dmg, .info for fink) (jonas/mischi)
    14. native powerpc-linux (tar) (tom_at_work)
    15. native powerpc64-linux (tar) (tom_at_work)
    16. native powerpc-morphos (?)
    17. native sparc-linux (deb:mazen)
  15. Run makereleasezips (combine small ZIP files together)
  16. Consider announcing availability of the new RC in fpc-devel list and/or ask there for dedicated testers for individual platforms
  17. Test the following releases:
    1. native i386-go32v2
    2. native i386-win32
    3. native i386-linux
    4. native i386-freebsd
    5. native i386-netware
    6. native i386-netware libc
    7. native i386-os2
    8. native i386-mac os x
    9. native x86_64-linux
    10. cross i386-win32 -> arm-wince
    11. cross i386-win32 -> x86_64-win64
    12. native arm-linux
    13. native powerpc-mac os x
    14. native powerpc-morphos (?)
    15. native powerpc-linux
    16. native powerpc64-linux
    17. native sparc-linux (mazen)

2.1.4 (2.2.0 beta)

  1. Section for new beta on release pages in Wiki
  2. Look at unmerged changes in fpc and fpcbuild since the last RC and consider/ask for necessity of their inclusion in the release
  3. Create new page in Wiki with issue log for documentation of issues encountered in release candidates and their status
  4. Update whatsnew.txt (/install/doc/whatsnew.txt)
  5. Update readme.txt (/install/doc/readme.txt)
  6. New directories
    1. Create new directories on ftp
    2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions) only done for go32v2 since there is no OS/2 release
  7. Finish all source file updates
  8. Convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt
  9. Update version number to new release number
    1. fpcbuild: All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)
    2. fpc: All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)
    3. /install/doc/readme.txt
    4. /installer/install.dat (header)
    5. /installer/install.pas (installer version)
    6. /install/fpc.spec not needed anymore, done by make rpm
    7. /install/debian/changelog
    8. /docs/fpc.sty (macro fpcversion) The documentation version number is already set to 2.2.0
    9. /compiler/version.pas
  10. Tag version 2.1.4
  11. Create and upload exported fpcbuild.zip
  12. Create and upload the documentation - Michael
    1. doc-pdf.zip
    2. doc-html.zip
    3. doc-htm.zip
    4. doc-txt.zip
    5. doc-ps.zip
    6. doc-pdf.tar.gz
    7. doc-html.tar.gz
    8. doc-ps.tar.gz
    9. doc-dvi.zip
  13. Create and upload source zips
    1. short name version for binary packages
    2. short name version for docs source
    3. long name version for binary packages
    4. long name version for docs source
  14. Create and upload source tars
  15. Build and upload the following releases:
    1. native i386-go32v2 (basic zip, full zip)
    2. native i386-win32 (installer) (Florian)
    3. native i386-linux (tar, deb:mazen, rpm)
    4. native i386-freebsd (tgz)
    5. native i386-netware (zip)a netware version in not released
    6. native i386-netware libc (zip)a netware version in not released
    7. native i386-os2 (basic zip, full zip) (import libraries still broken, release not possible now)
    8. native i386-mac os x + cross powerpc-mac os x (dmg, .info for fink) (jonas/mischi)
    9. native x86_64-linux (tar, deb, rpm)
    10. cross i386-win32 -> arm-wince (Florian)
    11. cross i386-win32 -> x86_64-win64 (Florian)
    12. native arm-linux (tar) (Florian)
    13. native powerpc-mac os x (dmg, .info for fink) (jonas/mischi)
    14. native powerpc-linux (tar) (tom_at_work)
    15. native powerpc64-linux (tar) (tom_at_work)
    16. native powerpc-morphos (?)a morphos version in not released
    17. native sparc-linux (deb:mazen)
  16. Run makereleasezips (combine small ZIP files together)
  17. Consider announcing availability of the new RC in fpc-devel list and/or ask there for dedicated testers for individual platforms
  18. Test the following releases:
    1. native i386-go32v2
    2. native i386-win32
    3. native i386-linux
    4. native i386-freebsd
    5. native i386-netware
    6. native i386-netware libc
    7. native i386-os2
    8. native i386-mac os x
    9. native x86_64-linux
    10. cross i386-win32 -> arm-wince
    11. cross i386-win32 -> x86_64-win64
    12. native arm-linux
    13. native powerpc-mac os x
    14. native powerpc-morphos (?)
    15. native powerpc-linux
    16. native powerpc64-linux
    17. native sparc-linux (mazen)

During the beta

  1. Check and update all .msg files
    1. errore.msg - John?
    2. errorct.msg
    3. errord.msg, errordu.msg - Karl-Michael Schindler aka mischi
    4. errorda.msg - Christian Iversen?
    5. errores.msg
    6. errorf.msg - Remi Dorlet and "Oro06"/"Olivier"?
    7. errorfi.msg
    8. errorhe.msg, errorheu.msg - Ido Kanner?
    9. errorid.msg - Zaenal Mutaqin?
    10. errorn.msg - Matthijs Willemstein?
    11. errorpl.msg - Wojciech Malinowski?
    12. errorpli.msg - Wojciech Malinowski?
    13. errorptd.msg - Ari Ricardo Ody?
    14. errorptw.msg - Ari Ricardo Ody?
    15. errorr.msg - Michail Baikov?
    16. errorrw.msg - Michail Baikov?
    17. errorues.msg

2.2.0

  1. Section for the final build on release page in Wiki
  2. Look at unmerged changes in fpc and fpcbuild since the last RC and consider/ask for necessity of their inclusion in the release
  3. New directories
    1. Create new directories on ftp
    2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions) only done for go32v2 since there is no OS/2 release
  4. Finish all source file updates
  5. Convert /html/faq.adp to /install/doc/faq.htm and /install/doc/faq.txt
  6. Update version number to new release number
    1. fpcbuild: All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)
    2. fpc: All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)
    3. /install/doc/readme.txt
    4. /installer/install.dat (header)
    5. /installer/install.pas (installer version)
    6. /install/fpc.spec not needed anymore, done by make rpm
    7. /install/debian/changelog
    8. /docs/fpc.sty (macro fpcversion) The documentation version number is already set to 2.2.0
    9. /compiler/version.pas
  7. Tag version 2.2.0
  8. Create and upload exported fpcbuild.zip
  9. Create and upload the documentation - Michael
    1. doc-pdf.zip
    2. doc-html.zip
    3. doc-htm.zip
    4. doc-txt.zip
    5. doc-ps.zip
    6. doc-pdf.tar.gz
    7. doc-html.tar.gz
    8. doc-ps.tar.gz
    9. doc-dvi.zip
  10. Create and upload source zips
    1. short name version for binary packages
    2. short name version for docs source
    3. long name version for binary packages
    4. long name version for docs source
  11. Create and upload source tars
  12. Build and upload the following releases:
    1. native i386-go32v2 (basic zip, full zip)
    2. native i386-win32 (installer)
    3. native i386-linux (tar, deb:mazen, rpm)
    4. native i386-freebsd (tar in Marco's homedir on Idefix)
    5. cross i386-netware (zip)a netware version in not released
    6. cross i386-netware libc (zip)a netwlibc version in not released
    7. native i386-os2 (basic zip, full zip) (import libraries still broken, release not possible now)
    8. native i386-mac os x + cross powerpc-mac os x (dmg, .info for fink)
    9. native x86_64-linux (tar, deb, rpm)
    10. cross i386-win32 -> arm-wince
    11. cross i386-win32 -> x86_64-win64
    12. native arm-linux (tar)
    13. native powerpc-mac os x (dmg, .info for fink)
    14. native powerpc-linux (tar)
    15. native powerpc64-linux (tar)
    16. native powerpc-morphos (?)a morphos version in not released
    17. native sparc-linux (deb:mazen)
  13. Run makereleasezips (combine small ZIP files together)
  14. Consider announcing availability of the new RC in fpc-devel list and/or ask there for dedicated testers for individual platforms
  15. Test the following releases:
    1. native i386-go32v2
    2. native i386-win32
    3. native i386-linux
    4. native i386-freebsd
    5. native i386-netware
    6. native i386-netware libc
    7. native i386-os2
    8. native i386-mac os x
    9. native x86_64-linux
    10. cross i386-win32 -> arm-wince
    11. cross i386-win32 -> x86_64-win64
    12. native arm-linux
    13. native powerpc-mac os x
    14. native powerpc-morphos (?)
    15. native powerpc-linux
    16. native powerpc64-linux
    17. native sparc-linux

Going public of the beta

  1. Make new version numbers (release plus next odd patch number for continuing fixes) available in bug tracker
  2. Make new version numbers (release plus next odd patch number for continuing fixes) available in testsuite db
  3. Make new files on FTP available to wide public
    1. update symlinks (no symlinks any more?)
    2. move the old version to the olddist/<version>
    3. upload files to SourceForge.net and add them to new "releases" for individual platforms
    4. make new "releases" on SourceForge.net accessible for users (change status to "active")
    5. Allow automated notifications on individual SourceForge.net file release pages to be sent
  4. Submit darwin packages to fink
  5. Update WWW pages
    1. /html/news.fp
    2. /html/down/* (links to all individual files & file sizes)
    3. /html/download.fp (version number and list of platforms)
    4. /html/fpc.fp
    5. /html/faq.fp (things like "the latest version is ...")
  6. Create new fixes branch (only after a major release - ?.?.0) (already done at the beginning of the release cycle)
    1. Update version number in the trunk branch (only after a major release - ?.?.0) (already done at the beginning of the release cycle)
      1. /compiler/version.pas (already done at the beginning of the release cycle)
      2. All Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles) (already done at the beginning of the release cycle)
  7. Update version number in the fixes branch (increase the patch to next odd number)
    1. /compiler/version.pas
    2. All Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles)
  8. Check the WWW pages
    1. make sure http://www.freepascal.org contains the new version already
    2. read news.html
    3. read fpc.html
    4. read download.html and check links to individual files
  9. Send announcement to our mailing lists
  10. Post announcement on the community site
  11. Post announcement on Sourceforge.net (only "Project Administrators" may do it)
  12. Make sure that all unfixed issues encountered during RC testing and listed on dedicated page in Wiki are documented in bug tracker too
  13. Revise / update /html/future.fp after major versions (?.?.0)