Difference between revisions of "Release 2.2.2"

From Lazarus wiki
Jump to navigationJump to search
 
(41 intermediate revisions by 9 users not shown)
Line 46: Line 46:
 
#  Finish all source file updates
 
#  Finish all source file updates
 
#  Update version number to new release number
 
#  Update version number to new release number
## /install/doc/readme.txt
+
## <s>/install/doc/readme.txt (Florian)</s> - done
## /installer/install.dat (header)
+
## <s>/installer/install.dat (header)</s> - done
 
## /installer/install.pas (installer version)
 
## /installer/install.pas (installer version)
 
## /install/fpc.spec
 
## /install/fpc.spec
## convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt
+
## <s>convert /html/faq.adp to /install/doc/faq.htm and /install/doc/faq.txt (Tomas)</s> - done
 
## /docs/fpc.sty (macro fpcversion)
 
## /docs/fpc.sty (macro fpcversion)
 
## All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)
 
## All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)
Line 103: Line 103:
 
#  Create release for powerpc-macosx
 
#  Create release for powerpc-macosx
 
## .dmg package
 
## .dmg package
## <s>.info files for fink
+
## <s>.info files for fink</s>
 
### Build bootstrapcompiler
 
### Build bootstrapcompiler
### Update paths, file names and MD5sums, ... in /install/macosx/*.info for the new RC(mischi)</s> - builds  ok
+
### <s>Update paths, file names and MD5sums, ... in /install/macosx/*.info for the new RC(mischi)</s> - builds  ok
 
#  Create release for i386-macosx
 
#  Create release for i386-macosx
 
## .dmg package
 
## .dmg package
Line 452: Line 452:
 
=== FPC-2.2.2rc2 ===
 
=== FPC-2.2.2rc2 ===
 
#  New directories
 
#  New directories
## Create new directories on ftp (ftp://ftp.freepascal.org/pub/fpc/beta/2.2.2rc2 and cpu-os under that)
+
## <s>Create new directories on ftp (ftp://ftp.freepascal.org/pub/fpc/beta/2.2.2rc2 and cpu-os under that)</s>
## Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)
+
## <s>Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)</s>
 
==== Agree on deadlines ====
 
==== Agree on deadlines ====
# Code freeze : May 31<sup>th</sup>, 2008 at 23:59:59
+
# Code freeze : 1/7/2008
# Build verification : during next week until June 6<sup>th</sup> June, 2008 at 00:00:00
+
# Build verification : 7/7/2008  
# Tag creation : June 7<sup>th</sup>, 2008 at 12:00:00
+
# Tag creation : 8/7/2008
# Build and upload end : June 8<sup>th</sup>, 2008 at 23:00:00
+
# Build and upload end : 15/7/2008
# Mailing list announcement : June 8<sup>th</sup>, 2008 at 23:50:00
+
# Mailing list announcement : 17/7/2008
  
 
==== Code freeze phase ====
 
==== Code freeze phase ====
 
#  Add new section for the upcoming build in /install/debian/changelog
 
#  Add new section for the upcoming build in /install/debian/changelog
 
#  Create new rc branch in SVN (http://svn.freepascal.org/svn/fpcbuild/tags/rc_2_2_2)
 
#  Create new rc branch in SVN (http://svn.freepascal.org/svn/fpcbuild/tags/rc_2_2_2)
## Changed compiler version to 2.2.2rc1
+
## <s>Changed compiler version to 2.2.2rc2</s>
## Changed version in make files to 2.2.2rc1 (use latest fpcmake)
+
## <s>Changed version in make files to 2.2.2rc2 (use latest fpcmake)</s>
 
===== Test of build procedure =====
 
===== Test of build procedure =====
 
# Create the documentation ([[Release engineering#Documentation building and LaTeX limits|more info]]) (michael)
 
# Create the documentation ([[Release engineering#Documentation building and LaTeX limits|more info]]) (michael)
Line 477: Line 477:
 
## doc-ps.tar.gz
 
## doc-ps.tar.gz
 
#  Create source zips
 
#  Create source zips
## short name version for binary packages (Giulio) - done
+
## short name version for binary packages (Giulio)
 
## docs source (including link for short name version)
 
## docs source (including link for short name version)
 
## long name version for binary packages
 
## long name version for binary packages
#  Create zip files for i386-go32v2 (Giulio) - done
+
<s>Create zip files for i386-go32v2</s> (Giulio) builds ok
## basic zip (just binaries) - done
 
## full zip (including docs and sources) - done
 
#  Create zip files for i386-os2 (Tomas) - done
 
 
## basic zip (just binaries)
 
## basic zip (just binaries)
 
## full zip (including docs and sources)
 
## full zip (including docs and sources)
 +
#  <s>Create zip files for i386-os2 (Tomas)</s> - done
 +
## <s>basic zip (just binaries)</s>
 +
## <s>full zip (including docs and sources)</s>
 
#  Create installer exe for i386-win32
 
#  Create installer exe for i386-win32
 
#  Create tgz file for i386-freebsd (Marcov)
 
#  Create tgz file for i386-freebsd (Marcov)
 
#  Create release for i386-linux ([[Release engineering#Linux|more info]])
 
#  Create release for i386-linux ([[Release engineering#Linux|more info]])
## tar (Mazen) - done
+
## tar
## deb (Mazen) - done
+
## deb
 
## rpm
 
## rpm
#  Create release for powerpc-linux ([[Release engineering#Linux|more info]])
+
<s>Create release for powerpc-linux</s> ([[Release engineering#Linux|more info]])
## tar (Thomas)
+
## <s>tar (Thomas)</s>
#  Create release for powerpc64-linux
+
<s>Create release for powerpc64-linux</s>
## tar (Thomas)
+
## <s>tar (Thomas)</s>
 
#  Create release for powerpc-macosx
 
#  Create release for powerpc-macosx
 
## .dmg package
 
## .dmg package
## .info files for fink
+
## <s>.info files for fink</s>
 
### Build bootstrapcompiler
 
### Build bootstrapcompiler
### Update paths, file names and MD5sums, ... in /install/macosx/*.info for the new RC(mischi) - builds  ok
+
### <s>Update paths, file names and MD5sums, ... in /install/macosx/*.info for the new RC</s> built, tested and uploaded (mischi, update 13-Jul)
 
#  Create release for i386-macosx
 
#  Create release for i386-macosx
 
## .dmg package
 
## .dmg package
## .info files for fink (see powerpc-macosx)(mischi) - builds ok
+
## <s>.info files for fink</s> done (see powerpc-macosx, mischi, update 13-Jul)
 
#  Create release for powerpc-macos
 
#  Create release for powerpc-macos
 
#  Create release for powerpc-morphos
 
#  Create release for powerpc-morphos
Line 511: Line 511:
 
#  Create release for sparc-linux ([[Release engineering#Linux|more info]])
 
#  Create release for sparc-linux ([[Release engineering#Linux|more info]])
 
## tar
 
## tar
## deb (Mazen) : builds OK execpt documentation (optional, could use i386 package)
+
## deb
 
#  Create release for sparc-sunos
 
#  Create release for sparc-sunos
 
## tar
 
## tar
Line 517: Line 517:
 
## tar
 
## tar
 
#  Create release for x86_64-linux ([[Release engineering#Linux|more info]])
 
#  Create release for x86_64-linux ([[Release engineering#Linux|more info]])
## tar (michael) : builds OK
+
## tar (michael)
 
## deb
 
## deb
## rpm (michael) : builds OK
+
## rpm (michael)
  
 
===== Test of installation procedure =====
 
===== Test of installation procedure =====
Line 525: Line 525:
 
## Ask dedicated testers for testing their platforms
 
## Ask dedicated testers for testing their platforms
 
## Consider announcing availability of the new RC in fpc-devel list
 
## Consider announcing availability of the new RC in fpc-devel list
#  Test the GO32v2 release
+
<s>Test the GO32v2 release</s> (Giulio) tested, ok
 
## dos???.zip installation
 
## dos???.zip installation
 
## dos???full.zip installation (over the previously installed dos???.zip to simulate updates)
 
## dos???full.zip installation (over the previously installed dos???.zip to simulate updates)
Line 563: Line 563:
 
#  Test release for i386-linux (marcov)
 
#  Test release for i386-linux (marcov)
 
## tar
 
## tar
## deb (Mazen) : installs OK
+
## deb
 
## rpm
 
## rpm
 
#  Test release for powerpc-linux
 
#  Test release for powerpc-linux
Line 571: Line 571:
 
#  Test release for powerpc-macosx
 
#  Test release for powerpc-macosx
 
## .dmg package (Jonas)
 
## .dmg package (Jonas)
## .info file for fink
+
## .info file for fink (At least execute the test suite with "fink --test rebuild fpc"; mischi)
 
#  Test release for i386-macosx
 
#  Test release for i386-macosx
 
## .dmg package (Jonas)
 
## .dmg package (Jonas)
## .info file for fink
+
## .info file for fink (At least execute the test suite with "fink --test rebuild fpc"; mischi)
 
#  Test release for powerpc-macos
 
#  Test release for powerpc-macos
 
#  Test release for powerpc-morphos
 
#  Test release for powerpc-morphos
Line 582: Line 582:
 
#  Test release for sparc-linux
 
#  Test release for sparc-linux
 
## tar
 
## tar
## deb (Mazen) : installs OK
+
## deb
 
#  Test release for arm-linux
 
#  Test release for arm-linux
 
## tar
 
## tar
Line 639: Line 639:
 
#  Test release for i386-linux (marcov)
 
#  Test release for i386-linux (marcov)
 
## tar
 
## tar
## deb (Mazen) : IDE works, Lazarus compiles and works
+
## deb
 
## rpm
 
## rpm
 
#  Test release for powerpc-linux
 
#  Test release for powerpc-linux
Line 658: Line 658:
 
#  Test release for sparc-linux
 
#  Test release for sparc-linux
 
## tar
 
## tar
##deb (Mazen) : compiler works, but not IDE
+
##deb
 
#  Test release for arm-linux
 
#  Test release for arm-linux
 
## tar
 
## tar
Line 675: Line 675:
 
==== Post tag phase ====
 
==== Post tag phase ====
 
===== Build =====
 
===== Build =====
# Create and upload exported fpcbuild - done
+
# Create and upload exported fpcbuild
## fpcbuild-2.2.2rc1.zip - done
+
## fpcbuild-2.2.2rc2.zip
## fpcbuild-2.2.2rc1.tar.gz - done
+
## fpcbuild-2.2.2rc2.tar.gz
# Create the documentation ([[Release engineering#Documentation building and LaTeX limits|more info]]) (michael) - done
+
# Create the documentation ([[Release engineering#Documentation building and LaTeX limits|more info]]) (michael)
## doc-pdf.zip - done
+
## doc-pdf.zip
## doc-html.zip - done
+
## doc-html.zip
 
## <i>doc-htm.zip</i> (not included)
 
## <i>doc-htm.zip</i> (not included)
## doc-txt.zip - done
+
## doc-txt.zip
## doc-ps.zip - done
+
## doc-ps.zip
## doc-pdf.tar.gz - done
+
## doc-pdf.tar.gz
## doc-html.tar.gz - done
+
## doc-html.tar.gz
## doc-ps.tar.gz - done
+
## doc-ps.tar.gz
## doc-dvi.zip - done
+
## doc-dvi.zip
# Create source zips - done
+
# Create source zips
## short name version for binary packages (Tomas) - done
+
## <s>short name version for binary packages (Tomas)</s>
## docs source (including link for short name version)
+
## <s>docs source (including link for short name version)</s>
## long name version for binary packages (Tomas) - done
+
## long name version for binary packages
#  Create zip files for i386-go32v2 (Giulio) - done
+
#  Create zip files for i386-go32v2 (Giulio)
## basic zip (just binaries)
 
## full zip (including docs and sources)
 
#  Create and upload zip files for i386-os2 (Tomas) - done
 
 
## basic zip (just binaries)
 
## basic zip (just binaries)
 
## full zip (including docs and sources)
 
## full zip (including docs and sources)
 +
#  <s>Create and upload zip files for i386-os2 (Tomas)</s> - done
 +
## <s>basic zip (just binaries)</s>
 +
## <s>full zip (including docs and sources)</s>
 
# Create installer exe for i386-win32
 
# Create installer exe for i386-win32
## native i386-win32 - done
+
## native i386-win32
## cross for arm-wince - done
+
## cross for arm-wince
## cross for x86_64-win64 - done
+
## cross for x86_64-win64
 
#  Create tgz file for i386-freebsd (Marcov)
 
#  Create tgz file for i386-freebsd (Marcov)
 
# Create release for i386-linux ([[Release engineering#Linux|more info]])
 
# Create release for i386-linux ([[Release engineering#Linux|more info]])
## tgz (Mazen) - done
+
## tgz
## deb (Mazen) - done
+
## deb
 
## rpm
 
## rpm
# Create release for powerpc-linux ([[Release engineering#Linux|more info]]) - done
+
# Create release for powerpc-linux ([[Release engineering#Linux|more info]])
## tar (Thomas) - done
+
## tar (Thomas)
# Create and upload release for powerpc64-linux - done
+
# Create and upload release for powerpc64-linux
## tar (Thomas) - done
+
## tar (Thomas)
 
#  Create and upload release for powerpc-macosx
 
#  Create and upload release for powerpc-macosx
 
## .dmg package
 
## .dmg package
Line 726: Line 726:
 
#  Create release for sparc-linux ([[Release engineering#Linux|more info]])
 
#  Create release for sparc-linux ([[Release engineering#Linux|more info]])
 
## tar
 
## tar
## deb (Mazen) - done
+
## deb
 
#  Create release for sparc-sunos
 
#  Create release for sparc-sunos
 
## tar
 
## tar
Line 737: Line 737:
  
 
===== Upload packaged binaries =====
 
===== Upload packaged binaries =====
* <b>2.2.2rc1/source/separate/zip</b>
+
* <b>2.2.2rc2/source/separate/zip</b>
* <b>2.2.2rc1/source/separate/tar</b>
+
* <b>2.2.2rc2/source/separate/tar</b>
* <b>2.2.2rc1/source/short/separate</b>
+
* <s>2.2.2rc2/source/short/separate</s>
* <b>2.2.2rc1/docs</b>
+
* <b>2.2.2rc2/docs</b>
* <b>2.2.2rc1/arm-linux</b>
+
* <b>2.2.2rc2/arm-linux</b>
* <b>2.2.2rc1/arm-wince</b>
+
* <b>2.2.2rc2/arm-wince</b>
* <b>2.2.2rc1/i386-freebsd (Marco)</b>
+
* <s>2.2.2rc2/i386-freebsd (Marco)</s>
* <b>2.2.2rc1/i386-go32v2 (Giulio)</b>
+
* <s>2.2.2rc2/i386-go32v2 (Giulio)</s>
* <b>2.2.2rc1/i386-go32v2/separate (Giulio)</b>
+
* <s>2.2.2rc2/i386-go32v2/separate (Giulio)</s>
* <b>2.2.2rc1/i386-linux</b>
+
* <b>2.2.2rc2/i386-linux</b>
* <b>2.2.2rc1/i386-linux/rpm</b>
+
* <b>2.2.2rc2/i386-linux/rpm</b>
* <b>2.2.2rc1/i386-linux/deb</b>
+
* <s>2.2.2rc2/i386-linux/deb (Mazen)</s>
* <b>2.2.2rc1/i386-linux/tgz</b>
+
* <b>2.2.2rc2/i386-linux/tgz</b>
* <b>2.2.2rc1/i386-netware</b>
+
* <b>2.2.2rc2/i386-netware</b>
* <b>2.2.2rc1/i386-netwlibc</b>
+
* <b>2.2.2rc2/i386-netwlibc</b>
* <b>2.2.2rc1/i386-os2 (Tomas)</b>
+
* <s>2.2.2rc2/i386-os2 (Tomas)</s>
* <b>2.2.2rc1/i386-os2/separate (Tomas)</b>
+
* <s>2.2.2rc2/i386-os2/separate (Tomas)</s>
* <b>2.2.2rc1/i386-win32</b>
+
* <b>2.2.2rc2/i386-win32</b>
* <b>2.2.2rc1/powerpc-linux</b>
+
* <s>2.2.2rc2/powerpc-linux</s>
* <b>2.2.2rc1/powerpc-macos</b>
+
* <b>2.2.2rc2/powerpc-macos</b>
* <b>2.2.2rc1/powerpc-morphos</b>
+
* <b>2.2.2rc2/powerpc-morphos</b>
* <b>2.2.2rc1/sparc-linux</b>
+
* <b>2.2.2rc2/sparc-linux</b>
* <b>2.2.2rc1/sparc-linux/deb</b>
+
* <s>2.2.2rc2/sparc-linux/deb (Mazen)</s>
* <b>2.2.2rc1/x86_64-linux</b>
+
* <b>2.2.2rc2/x86_64-linux</b>
* <b>2.2.2rc1/x86_64-linux/deb</b>
+
* <b>2.2.2rc2/x86_64-linux/deb</b>
* <b>2.2.2rc1/x86_64-linux/rpm (Michael)</b>
+
* <b>2.2.2rc2/x86_64-linux/rpm (Michael)</b>
* <b>2.2.2rc1/x86_64-linux/tar (Michael)</b>
+
* <b>2.2.2rc2/x86_64-linux/tar (Michael)</b>
* <b>2.2.2rc1/x86_64-win64</b>
+
* <b>2.2.2rc2/x86_64-win64</b>
* <b>2.2.2rc1/powerpc64-linux</b>
+
* <s>2.2.2rc2/powerpc64-linux</s>
* <b>2.2.2rc1/powerpc-macosx</b>
+
* <b>2.2.2rc2/powerpc-macosx</b>
* <b>2.2.2rc1/i386-macosx</b>
+
* <b>2.2.2rc2/i386-macosx</b>
  
 
===== Users feedback =====
 
===== Users feedback =====
Line 811: Line 811:
 
#  Test release for i386-linux (marcov)
 
#  Test release for i386-linux (marcov)
 
## tar
 
## tar
## deb (Mazen)
+
## deb
 
## rpm
 
## rpm
 
#  Test release for powerpc-linux
 
#  Test release for powerpc-linux
Line 830: Line 830:
 
#  Test release for sparc-linux
 
#  Test release for sparc-linux
 
## tar
 
## tar
##deb (Mazen)
+
##deb
 
#  Test release for arm-linux
 
#  Test release for arm-linux
 
## tar
 
## tar
Line 847: Line 847:
 
=== FPC-2.2.2 ===
 
=== FPC-2.2.2 ===
  
# Look at unmerged changes in fpc and fpcbuild since the last RC and consider/ask for necessity of their inclusion in the release (only cosmetic changes should be included, otherwise a new RC is needed instead of final release)
+
# <s> Look at unmerged changes in fpc and fpcbuild since the last RC and consider/ask for necessity of their inclusion in the release (only cosmetic changes should be included, otherwise a new RC is needed instead of final release)</s>
 
#  New directories
 
#  New directories
## Create new directories on ftp (/pub/fpc/dist/cpu-os-X.Y.Z)
+
## <s>Create new directories on ftp (/pub/fpc/dist/cpu-os-X.Y.Z)</s>
## Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous RC (unless updated with new versions)
+
## <s>Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous RC (unless updated with new versions)</s>
#  Add new section for the upcoming build in /install/debian/changelog
+
<s>Add new section for the upcoming build in /install/debian/changelog</s>
#  Create new release branch in SVN
+
<s> Create new release branch in SVN</s>
#  Update version number in release branch to the X.Y.Z
+
<s>Update version number in release branch to the X.Y.Z</s>
## /compiler/version.pas
+
## <s>/compiler/version.pas</s>
#  Create and upload exported fpcbuild
+
## <s>Makefile.fpc/Makefile files</s>
## fpcbuild-%{version}.zip
+
<s>Create and upload exported fpcbuild</s>
## fpcbuild-%{version}.tar.gz
+
## <s>fpcbuild-%{version}.zip</s>
#  Create and upload the documentation ([[Release engineering#Documentation building and LaTeX limits|more info]])
+
## <s>fpcbuild-%{version}.tar.gz</s>
 +
<s>Create and upload the documentation ([[Release engineering#Documentation building and LaTeX limits|more info]])</s>
 
## doc-pdf.zip
 
## doc-pdf.zip
 
## doc-html.zip
 
## doc-html.zip
Line 871: Line 872:
 
## docs source (including link for short name version)
 
## docs source (including link for short name version)
 
## long name version for binary packages
 
## long name version for binary packages
#  Create and upload zip files for i386-go32v2
+
<s>Create and upload zip files for i386-go32v2</s>
## basic zip (just binaries)
+
## <s>basic zip (just binaries)</s>
## full zip (including docs and sources)
+
## <s>full zip (including docs and sources)</s>
#  Create and upload zip files for i386-os2
+
<s>Create and upload zip files for i386-os2</s>
## basic zip (just binaries)
+
## <s>basic zip (just binaries)</s>
## full zip (including docs and sources)
+
## <s>full zip (including docs and sources)</s>
 
#  Create and upload installer exe for i386-win32
 
#  Create and upload installer exe for i386-win32
#  Create and upload tgz file for i386-freebsd
+
<s>Create and upload tgz file for i386-freebsd</s>
#  Create and upload release for i386-linux ([[Release engineering#Linux|more info]])
+
<s>Create and upload release for i386-linux ([[Release engineering#Linux|more info]])</s>
## tar
+
## <s>tar</s>
## deb
+
## <s>deb (Mazen)</s>
## rpm
+
## <s>rpm</s>
 
#  Create and upload release for powerpc-linux ([[Release engineering#Linux|more info]])
 
#  Create and upload release for powerpc-linux ([[Release engineering#Linux|more info]])
 
## tar
 
## tar
#  Create and upload release for powerpc-macosx
+
<s>Create and upload release for powerpc-macosx</s>
## .dmg package
+
## <s>.dmg package</s>
## .info files for fink
+
## <s>.info files for fink
 
### Build and upload bootstrapcompiler
 
### Build and upload bootstrapcompiler
### Update paths, file names and MD5sums, ... in /install/macosx/*.info for the new RC
+
### Update paths, file names and MD5sums, ... in /install/macosx/*.info</s>
#  Create and upload release for i386-macosx
+
<s>Create and upload release for i386-macosx</s>
## .dmg package
+
## <s>.dmg package</s>
## .info files for fink (see powerpc-macosx)
+
## <s>.info files for fink (see powerpc-macosx)</s>
 
#  Create and upload release for powerpc-macos
 
#  Create and upload release for powerpc-macos
 
#  Create and upload release for powerpc-morphos
 
#  Create and upload release for powerpc-morphos
Line 900: Line 901:
 
#  Create and upload release for sparc-linux ([[Release engineering#Linux|more info]])
 
#  Create and upload release for sparc-linux ([[Release engineering#Linux|more info]])
 
## tar
 
## tar
 +
## <s>deb (Mazen)</s>
 
#  Create and upload release for arm-linux (cross-release)
 
#  Create and upload release for arm-linux (cross-release)
 
## tar - Daniel
 
## tar - Daniel
#  Create and upload release for x86_64-linux ([[Release engineering#Linux|more info]])
+
<s>Create and upload release for x86_64-linux ([[Release engineering#Linux|more info]])</s>
## tar
+
## <s>tar</s>
## deb
+
## <s>deb</s>
## rpm
+
## <s>rpm</s>
#  Test the GO32v2 release
+
<s>Test the GO32v2 release</s>
 
## dos???.zip installation
 
## dos???.zip installation
 
## dos???full.zip installation (over the previously installed dos???.zip to simulate updates)
 
## dos???full.zip installation (over the previously installed dos???.zip to simulate updates)
Line 917: Line 919:
 
## view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
 
## view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
 
## compile the demo file in IDE
 
## compile the demo file in IDE
## <i>run the demo within the IDE (debugger)</i> (debugging in IDE currently not available/working)
+
## run the demo within the IDE (debugger)
 
#  Test the OS/2 release
 
#  Test the OS/2 release
 
## os2???.zip installation
 
## os2???.zip installation
Line 944: Line 946:
 
#  Test release for i386-linux
 
#  Test release for i386-linux
 
## tar
 
## tar
## deb
+
## <s>deb (Mazen)</s>
 
## rpm
 
## rpm
 
#  Test release for powerpc-linux
 
#  Test release for powerpc-linux
Line 950: Line 952:
 
#  Test release for powerpc-macosx
 
#  Test release for powerpc-macosx
 
## .dmg package
 
## .dmg package
## .info file for fink
+
## <s>.info file for fink</s>
 
#  Test release for i386-macosx
 
#  Test release for i386-macosx
 
## .dmg package
 
## .dmg package
## .info file for fink
+
## <s>.info file for fink</s>
 
#  Test release for powerpc-macos
 
#  Test release for powerpc-macos
 
#  Test release for powerpc-morphos
 
#  Test release for powerpc-morphos
Line 977: Line 979:
 
=== Going public ===
 
=== Going public ===
  
# Make new version numbers (release plus next odd patch number for continuing fixes) available in bug tracker
+
# <s>Make new version numbers (release plus next odd patch number for continuing fixes) available in bug tracker</s>
#  Make new version numbers (release plus next odd patch number for continuing fixes) available in testsuite db
+
<s>Make new version numbers (release plus next odd patch number for continuing fixes) available in testsuite db</s>
# Make new files on FTP available to wide public
+
# <s> Make new files on FTP available to wide public</s>
## <i>update symlinks</i> (no symlinks any more?)
+
## <s><i>update symlinks</i> (no symlinks any more?)</s>
 
## move the old version to the olddist/<version>
 
## move the old version to the olddist/<version>
## upload files to SourceForge.net and add them to new "releases" for individual platforms
+
## <s>upload files to SourceForge.net and add them to new "releases" for individual platforms</s>
 
## make new "releases" on SourceForge.net accessible for users (change status to "active")
 
## make new "releases" on SourceForge.net accessible for users (change status to "active")
 
## Allow automated notifications on individual SourceForge.net file release pages to be sent
 
## Allow automated notifications on individual SourceForge.net file release pages to be sent
#  Submit darwin packages to fink
+
<s>Submit darwin packages to fink</s>
 
#  Update WWW pages
 
#  Update WWW pages
 
## /html/news.fp
 
## /html/news.fp
Line 992: Line 994:
 
## /html/fpc.fp
 
## /html/fpc.fp
 
## /html/faq.fp (things like "the latest version is ...")
 
## /html/faq.fp (things like "the latest version is ...")
#  Create new fixes branch (only after a major release -  ?.?.0)
+
<s>Create new fixes branch (only after a major release -  ?.?.0)</s>
## Update version number in the trunk branch (only after a major release -  ?.?.0)
+
## <s>Update version number in the trunk branch (only after a major release -  ?.?.0)</s>
### /compiler/version.pas
+
### <s>/compiler/version.pas</s>
### All Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles)
+
### <s>All Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles)</s>
#  Update version number in the fixes branch (increase the patch to next odd number)
 
## /compiler/version.pas
 
## all Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles)
 
 
#  Check the WWW pages
 
#  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
Line 1,010: Line 1,009:
 
#  Revise / update /html/future.fp after major versions (?.?.0)
 
#  Revise / update /html/future.fp after major versions (?.?.0)
 
#  Remove unneeded RC builds from FTP
 
#  Remove unneeded RC builds from FTP
 +
 +
[[Category:FPC release]]

Latest revision as of 20:23, 1 August 2012

Release Issues

The issues page is Issues 2.2.2

Release preparations

  1. Agree on deadline for changes and date for release candidate building
    1. #FPC-2.2.2rc1 deadline : June 8th, 2008
    2. #FPC-2.2.2rc2 deadline :
    3. do we need extra RC?
    4. #FPC-2.2.2 deadline
  2. Check the Detailed 2.2.2 Todo page (should be linked from To Do lists) for status of individual todo items
  3. Check status of bugs assigned to that particular release in the bugtracker
    • 10727 : Compiler : overloading problems involving literals.
    • 8076 : RTL : crt problem using gotoxy, write and SCREENWIDTH.
    • 10117 : Installer : fclel resource is not installed.
    • 11312 : Compiler : FPC doesn't generate far (32 bit) calls for sparc.
  4. New page in Wiki named "Release_2.2.2" for release procedure with steps needed and their status (based on Release Template), at the beginning consisting of (at least) RC1 and final release sections
  5. Ask platform maintainers and external maintainers about including their platforms/builds in the new release
    1. Release-like building procedure should be performed in the appropriate branch (trunk or fixes depending on basis for the release)
  6. Check and update all .msg files
    1. errore.msg
    2. errord.msg
    3. errorf.msg
    4. errorn.msg
    5. errorr.msg
    6. errorrw.msg
    7. errorues.msg
    8. errores.msg
    9. errorct.msg
    10. errorhe.msg
    11. errorheu.msg
    12. errorptd.msg
    13. errorptw.msg
    14. errorpli.msg
    15. errorpl.msg
    16. errorid.msg
  7. 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
  8. Update whatsnew.txt (/install/doc/whatsnew.txt)
  9. Find testers
    1. Create a page in Wiki ("Testers_X.Y.Z" based on Testers Template)
    2. Ask in fpc-devel list for volunteers interested in testing the individual platforms / builds and list them on the newly created page (they can add themselves)
  10. Finish all source file updates
  11. Update version number to new release number
    1. /install/doc/readme.txt (Florian) - done
    2. /installer/install.dat (header) - done
    3. /installer/install.pas (installer version)
    4. /install/fpc.spec
    5. convert /html/faq.adp to /install/doc/faq.htm and /install/doc/faq.txt (Tomas) - done
    6. /docs/fpc.sty (macro fpcversion)
    7. All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)

FPC-2.2.2rc1

  1. Create new page in Wiki with issue log for documentation of issues encountered in release candidates and their status ("Issues_2.2.2" based on Issues Template)
  2. New directories
    1. Create new directories on ftp (ftp://ftp.freepascal.org/pub/fpc/beta/2.2.2rc1 and cpu-os under that)
    2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)

Agree on deadlines

  1. Code freeze : May 31th, 2008 at 23:59:59
  2. Build verification : during next week until June 6th June, 2008 at 00:00:00
  3. Tag creation : June 7th, 2008 at 12:00:00
  4. Build and upload end : June 8th, 2008 at 23:00:00
  5. Mailing list announcement : June 8th, 2008 at 23:50:00

Code freeze phase

  1. Add new section for the upcoming build in /install/debian/changelog
  2. Create new rc branch in SVN (http://svn.freepascal.org/svn/fpcbuild/tags/rc_2_2_2)
    1. Changed compiler version to 2.2.2rc1
    2. Changed version in make files to 2.2.2rc1 (use latest fpcmake)
Test of build procedure
  1. Create the documentation (more info) (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
  2. Create source zips
    1. short name version for binary packages (Giulio) - done
    2. docs source (including link for short name version)
    3. long name version for binary packages
  3. Create zip files for i386-go32v2 (Giulio) - done
    1. basic zip (just binaries) - done
    2. full zip (including docs and sources) - done
  4. Create zip files for i386-os2 (Tomas) - done
    1. basic zip (just binaries)
    2. full zip (including docs and sources)
  5. Create installer exe for i386-win32
  6. Create tgz file for i386-freebsd (Marcov)
  7. Create release for i386-linux (more info)
    1. tar (Mazen) - done
    2. deb (Mazen) - done
    3. rpm
  8. Create release for powerpc-linux (more info)
    1. tar (Thomas)
  9. Create release for powerpc64-linux
    1. tar (Thomas)
  10. Create release for powerpc-macosx
    1. .dmg package
    2. .info files for fink
      1. Build bootstrapcompiler
      2. Update paths, file names and MD5sums, ... in /install/macosx/*.info for the new RC(mischi) - builds ok
  11. Create release for i386-macosx
    1. .dmg package
    2. .info files for fink (see powerpc-macosx)(mischi) - builds ok
  12. Create release for powerpc-macos
  13. Create release for powerpc-morphos
  14. Create release for powerpc-amiga
  15. Create zip files for i386-netware
  16. Create zip files for i386-netwlibc
  17. Create release for sparc-linux (more info)
    1. tar
    2. deb (Mazen) : builds OK execpt documentation (optional, could use i386 package)
  18. Create release for sparc-sunos
    1. tar
  19. Create release for arm-linux (cross-release)
    1. tar
  20. Create release for x86_64-linux (more info)
    1. tar (michael) : builds OK
    2. deb
    3. rpm (michael) : builds OK
Test of installation procedure
  1. Get it tested
    1. Ask dedicated testers for testing their platforms
    2. Consider announcing availability of the new RC in fpc-devel list
  2. 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)
  3. 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)
  4. 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)
  5. Test release for i386-freebsd (marcov)
  6. Test release for i386-linux (marcov)
    1. tar
    2. deb (Mazen) : installs OK
    3. rpm
  7. Test release for powerpc-linux
    1. tar (Thomas)
  8. Test release for powerpc64-linux
    1. tar (Thomas)
  9. Test release for powerpc-macosx
    1. .dmg package (Jonas)
    2. .info file for fink
  10. Test release for i386-macosx
    1. .dmg package (Jonas)
    2. .info file for fink
  11. Test release for powerpc-macos
  12. Test release for powerpc-morphos
  13. Test release for powerpc-amiga
  14. Test release for i386-netware
  15. Test release for i386-netwlibc
  16. Test release for sparc-linux
    1. tar
    2. deb (Mazen) : installs OK
  17. Test release for arm-linux
    1. tar
  18. Test release for x86_64-linux
    1. tar
    2. deb
    3. rpm
  19. Check PDF documentation (open all files)
  20. Check HTML documentation
  21. Check TXT documentation
  22. Read updated text files as distributed in release zip files
    1. readme.txt
    2. faq.txt
    3. whatsnew.txt
Test of release candidate quality
  1. Get it tested
    1. Ask dedicated testers for testing their platforms
    2. Consider announcing availability of the new RC in fpc-devel list
  2. 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)
  3. 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)
  4. 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)
  5. Test release for i386-freebsd (marcov)
  6. Test release for i386-linux (marcov)
    1. tar
    2. deb (Mazen) : IDE works, Lazarus compiles and works
    3. rpm
  7. Test release for powerpc-linux
    1. tar (Thomas)
  8. Test release for powerpc64-linux
    1. tar (Thomas)
  9. Test release for powerpc-macosx
    1. .dmg package (Jonas)
    2. .info file for fink
  10. Test release for i386-macosx
    1. .dmg package (Jonas)
    2. .info file for fink
  11. Test release for powerpc-macos
  12. Test release for powerpc-morphos
  13. Test release for powerpc-amiga
  14. Test release for i386-netware
  15. Test release for i386-netwlibc
  16. Test release for sparc-linux
    1. tar
    2. deb (Mazen) : compiler works, but not IDE
  17. Test release for arm-linux
    1. tar
  18. Test release for x86_64-linux
    1. tar
    2. deb
    3. rpm
  19. Check PDF documentation (open all files)
  20. Check HTML documentation
  21. Check TXT documentation
  22. Read updated text files as distributed in release zip files
    1. readme.txt
    2. faq.txt
    3. whatsnew.txt

Post tag phase

Build
  1. Create and upload exported fpcbuild - done
    1. fpcbuild-2.2.2rc1.zip - done
    2. fpcbuild-2.2.2rc1.tar.gz - done
  2. Create the documentation (more info) (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
    9. doc-dvi.zip - done
  3. Create source zips - done
    1. short name version for binary packages (Tomas) - done
    2. docs source (including link for short name version)
    3. long name version for binary packages (Tomas) - done
  4. Create zip files for i386-go32v2 (Giulio) - done
    1. basic zip (just binaries)
    2. full zip (including docs and sources)
  5. Create and upload zip files for i386-os2 (Tomas) - done
    1. basic zip (just binaries)
    2. full zip (including docs and sources)
  6. Create installer exe for i386-win32
    1. native i386-win32 - done
    2. cross for arm-wince - done
    3. cross for x86_64-win64 - done
  7. Create tgz file for i386-freebsd (Marcov)
  8. Create release for i386-linux (more info)
    1. tgz (Mazen) - done
    2. deb (Mazen) - done
    3. rpm
  9. Create release for powerpc-linux (more info) - done
    1. tar (Thomas) - done
  10. Create and upload release for powerpc64-linux - done
    1. tar (Thomas) - done
  11. Create and upload release for powerpc-macosx
    1. .dmg package
    2. .info files for fink
      1. Build and upload bootstrapcompiler
      2. Update paths, file names and MD5sums, ... in /install/macosx/*.info for the new RC
  12. Create and upload release for i386-macosx
    1. .dmg package
    2. .info files for fink (see powerpc-macosx)
  13. Create release for powerpc-macos
  14. Create release for powerpc-morphos
  15. Create release for powerpc-amiga
  16. Create zip files for i386-netware
  17. Create zip files for i386-netwlibc
  18. Create release for sparc-linux (more info)
    1. tar
    2. deb (Mazen) - done
  19. Create release for sparc-sunos
    1. tar
  20. Create release for arm-linux (cross-release)
    1. tar
  21. Create release for x86_64-linux (more info)
    1. tar (michael)
    2. deb
    3. rpm (michael)
Upload packaged binaries
  • 2.2.2rc1/source/separate/zip
  • 2.2.2rc1/source/separate/tar
  • 2.2.2rc1/source/short/separate
  • 2.2.2rc1/docs
  • 2.2.2rc1/arm-linux
  • 2.2.2rc1/arm-wince
  • 2.2.2rc1/i386-freebsd (Marco)
  • 2.2.2rc1/i386-go32v2 (Giulio)
  • 2.2.2rc1/i386-go32v2/separate (Giulio)
  • 2.2.2rc1/i386-linux
  • 2.2.2rc1/i386-linux/rpm
  • 2.2.2rc1/i386-linux/deb (Mazen)
  • 2.2.2rc1/i386-linux/tgz (Mazen)
  • 2.2.2rc1/i386-netware
  • 2.2.2rc1/i386-netwlibc
  • 2.2.2rc1/i386-os2 (Tomas)
  • 2.2.2rc1/i386-os2/separate (Tomas)
  • 2.2.2rc1/i386-win32
  • 2.2.2rc1/powerpc-linux
  • 2.2.2rc1/powerpc-macos
  • 2.2.2rc1/powerpc-morphos
  • 2.2.2rc1/sparc-linux
  • 2.2.2rc1/sparc-linux/deb (Mazen)
  • 2.2.2rc1/x86_64-linux
  • 2.2.2rc1/x86_64-linux/deb
  • 2.2.2rc1/x86_64-linux/rpm (Michael)
  • 2.2.2rc1/x86_64-linux/tar (Michael)
  • 2.2.2rc1/x86_64-win64
  • 2.2.2rc1/powerpc64-linux
  • 2.2.2rc1/powerpc-macosx
  • 2.2.2rc1/i386-macosx
Users feedback
  1. Publication
    1. Ask dedicated testers for testing their platforms
    2. Consider announcing availability of the new RC in fpc-devel list
  2. 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)
  3. 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)
  4. 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)
  5. Test release for i386-freebsd (marcov)
  6. Test release for i386-linux (marcov)
    1. tar
    2. deb (Mazen)
    3. rpm
  7. Test release for powerpc-linux
    1. tar (Thomas)
  8. Test release for powerpc64-linux
    1. tar (Thomas)
  9. Test release for powerpc-macosx
    1. .dmg package (Jonas)
    2. .info file for fink
  10. Test release for i386-macosx
    1. .dmg package (Jonas)
    2. .info file for fink
  11. Test release for powerpc-macos
  12. Test release for powerpc-morphos
  13. Test release for powerpc-amiga
  14. Test release for i386-netware
  15. Test release for i386-netwlibc
  16. Test release for sparc-linux
    1. tar
    2. deb (Mazen)
  17. Test release for arm-linux
    1. tar
  18. Test release for x86_64-linux
    1. tar
    2. deb
    3. rpm
  19. Check PDF documentation (open all files)
  20. Check HTML documentation
  21. Check TXT documentation
  22. Read updated text files as distributed in release zip files
    1. readme.txt
    2. faq.txt
    3. whatsnew.txt

FPC-2.2.2rc2

  1. New directories
    1. Create new directories on ftp (ftp://ftp.freepascal.org/pub/fpc/beta/2.2.2rc2 and cpu-os under that)
    2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)

Agree on deadlines

  1. Code freeze : 1/7/2008
  2. Build verification : 7/7/2008
  3. Tag creation : 8/7/2008
  4. Build and upload end : 15/7/2008
  5. Mailing list announcement : 17/7/2008

Code freeze phase

  1. Add new section for the upcoming build in /install/debian/changelog
  2. Create new rc branch in SVN (http://svn.freepascal.org/svn/fpcbuild/tags/rc_2_2_2)
    1. Changed compiler version to 2.2.2rc2
    2. Changed version in make files to 2.2.2rc2 (use latest fpcmake)
Test of build procedure
  1. Create the documentation (more info) (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
  2. Create source zips
    1. short name version for binary packages (Giulio)
    2. docs source (including link for short name version)
    3. long name version for binary packages
  3. Create zip files for i386-go32v2 (Giulio) builds ok
    1. basic zip (just binaries)
    2. full zip (including docs and sources)
  4. Create zip files for i386-os2 (Tomas) - done
    1. basic zip (just binaries)
    2. full zip (including docs and sources)
  5. Create installer exe for i386-win32
  6. Create tgz file for i386-freebsd (Marcov)
  7. Create release for i386-linux (more info)
    1. tar
    2. deb
    3. rpm
  8. Create release for powerpc-linux (more info)
    1. tar (Thomas)
  9. Create release for powerpc64-linux
    1. tar (Thomas)
  10. Create release for powerpc-macosx
    1. .dmg package
    2. .info files for fink
      1. Build bootstrapcompiler
      2. Update paths, file names and MD5sums, ... in /install/macosx/*.info for the new RC built, tested and uploaded (mischi, update 13-Jul)
  11. Create release for i386-macosx
    1. .dmg package
    2. .info files for fink done (see powerpc-macosx, mischi, update 13-Jul)
  12. Create release for powerpc-macos
  13. Create release for powerpc-morphos
  14. Create release for powerpc-amiga
  15. Create zip files for i386-netware
  16. Create zip files for i386-netwlibc
  17. Create release for sparc-linux (more info)
    1. tar
    2. deb
  18. Create release for sparc-sunos
    1. tar
  19. Create release for arm-linux (cross-release)
    1. tar
  20. Create release for x86_64-linux (more info)
    1. tar (michael)
    2. deb
    3. rpm (michael)
Test of installation procedure
  1. Get it tested
    1. Ask dedicated testers for testing their platforms
    2. Consider announcing availability of the new RC in fpc-devel list
  2. Test the GO32v2 release (Giulio) tested, ok
    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)
  3. 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)
  4. 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)
  5. Test release for i386-freebsd (marcov)
  6. Test release for i386-linux (marcov)
    1. tar
    2. deb
    3. rpm
  7. Test release for powerpc-linux
    1. tar (Thomas)
  8. Test release for powerpc64-linux
    1. tar (Thomas)
  9. Test release for powerpc-macosx
    1. .dmg package (Jonas)
    2. .info file for fink (At least execute the test suite with "fink --test rebuild fpc"; mischi)
  10. Test release for i386-macosx
    1. .dmg package (Jonas)
    2. .info file for fink (At least execute the test suite with "fink --test rebuild fpc"; mischi)
  11. Test release for powerpc-macos
  12. Test release for powerpc-morphos
  13. Test release for powerpc-amiga
  14. Test release for i386-netware
  15. Test release for i386-netwlibc
  16. Test release for sparc-linux
    1. tar
    2. deb
  17. Test release for arm-linux
    1. tar
  18. Test release for x86_64-linux
    1. tar
    2. deb
    3. rpm
  19. Check PDF documentation (open all files)
  20. Check HTML documentation
  21. Check TXT documentation
  22. Read updated text files as distributed in release zip files
    1. readme.txt
    2. faq.txt
    3. whatsnew.txt
Test of release candidate quality
  1. Get it tested
    1. Ask dedicated testers for testing their platforms
    2. Consider announcing availability of the new RC in fpc-devel list
  2. 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)
  3. 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)
  4. 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)
  5. Test release for i386-freebsd (marcov)
  6. Test release for i386-linux (marcov)
    1. tar
    2. deb
    3. rpm
  7. Test release for powerpc-linux
    1. tar (Thomas)
  8. Test release for powerpc64-linux
    1. tar (Thomas)
  9. Test release for powerpc-macosx
    1. .dmg package (Jonas)
    2. .info file for fink
  10. Test release for i386-macosx
    1. .dmg package (Jonas)
    2. .info file for fink
  11. Test release for powerpc-macos
  12. Test release for powerpc-morphos
  13. Test release for powerpc-amiga
  14. Test release for i386-netware
  15. Test release for i386-netwlibc
  16. Test release for sparc-linux
    1. tar
    2. deb
  17. Test release for arm-linux
    1. tar
  18. Test release for x86_64-linux
    1. tar
    2. deb
    3. rpm
  19. Check PDF documentation (open all files)
  20. Check HTML documentation
  21. Check TXT documentation
  22. Read updated text files as distributed in release zip files
    1. readme.txt
    2. faq.txt
    3. whatsnew.txt

Post tag phase

Build
  1. Create and upload exported fpcbuild
    1. fpcbuild-2.2.2rc2.zip
    2. fpcbuild-2.2.2rc2.tar.gz
  2. Create the documentation (more info) (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
    9. doc-dvi.zip
  3. Create source zips
    1. short name version for binary packages (Tomas)
    2. docs source (including link for short name version)
    3. long name version for binary packages
  4. Create zip files for i386-go32v2 (Giulio)
    1. basic zip (just binaries)
    2. full zip (including docs and sources)
  5. Create and upload zip files for i386-os2 (Tomas) - done
    1. basic zip (just binaries)
    2. full zip (including docs and sources)
  6. Create installer exe for i386-win32
    1. native i386-win32
    2. cross for arm-wince
    3. cross for x86_64-win64
  7. Create tgz file for i386-freebsd (Marcov)
  8. Create release for i386-linux (more info)
    1. tgz
    2. deb
    3. rpm
  9. Create release for powerpc-linux (more info)
    1. tar (Thomas)
  10. Create and upload release for powerpc64-linux
    1. tar (Thomas)
  11. Create and upload release for powerpc-macosx
    1. .dmg package
    2. .info files for fink
      1. Build and upload bootstrapcompiler
      2. Update paths, file names and MD5sums, ... in /install/macosx/*.info for the new RC
  12. Create and upload release for i386-macosx
    1. .dmg package
    2. .info files for fink (see powerpc-macosx)
  13. Create release for powerpc-macos
  14. Create release for powerpc-morphos
  15. Create release for powerpc-amiga
  16. Create zip files for i386-netware
  17. Create zip files for i386-netwlibc
  18. Create release for sparc-linux (more info)
    1. tar
    2. deb
  19. Create release for sparc-sunos
    1. tar
  20. Create release for arm-linux (cross-release)
    1. tar
  21. Create release for x86_64-linux (more info)
    1. tar (michael)
    2. deb
    3. rpm (michael)
Upload packaged binaries
  • 2.2.2rc2/source/separate/zip
  • 2.2.2rc2/source/separate/tar
  • 2.2.2rc2/source/short/separate
  • 2.2.2rc2/docs
  • 2.2.2rc2/arm-linux
  • 2.2.2rc2/arm-wince
  • 2.2.2rc2/i386-freebsd (Marco)
  • 2.2.2rc2/i386-go32v2 (Giulio)
  • 2.2.2rc2/i386-go32v2/separate (Giulio)
  • 2.2.2rc2/i386-linux
  • 2.2.2rc2/i386-linux/rpm
  • 2.2.2rc2/i386-linux/deb (Mazen)
  • 2.2.2rc2/i386-linux/tgz
  • 2.2.2rc2/i386-netware
  • 2.2.2rc2/i386-netwlibc
  • 2.2.2rc2/i386-os2 (Tomas)
  • 2.2.2rc2/i386-os2/separate (Tomas)
  • 2.2.2rc2/i386-win32
  • 2.2.2rc2/powerpc-linux
  • 2.2.2rc2/powerpc-macos
  • 2.2.2rc2/powerpc-morphos
  • 2.2.2rc2/sparc-linux
  • 2.2.2rc2/sparc-linux/deb (Mazen)
  • 2.2.2rc2/x86_64-linux
  • 2.2.2rc2/x86_64-linux/deb
  • 2.2.2rc2/x86_64-linux/rpm (Michael)
  • 2.2.2rc2/x86_64-linux/tar (Michael)
  • 2.2.2rc2/x86_64-win64
  • 2.2.2rc2/powerpc64-linux
  • 2.2.2rc2/powerpc-macosx
  • 2.2.2rc2/i386-macosx
Users feedback
  1. Publication
    1. Ask dedicated testers for testing their platforms
    2. Consider announcing availability of the new RC in fpc-devel list
  2. 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)
  3. 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)
  4. 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)
  5. Test release for i386-freebsd (marcov)
  6. Test release for i386-linux (marcov)
    1. tar
    2. deb
    3. rpm
  7. Test release for powerpc-linux
    1. tar (Thomas)
  8. Test release for powerpc64-linux
    1. tar (Thomas)
  9. Test release for powerpc-macosx
    1. .dmg package (Jonas)
    2. .info file for fink
  10. Test release for i386-macosx
    1. .dmg package (Jonas)
    2. .info file for fink
  11. Test release for powerpc-macos
  12. Test release for powerpc-morphos
  13. Test release for powerpc-amiga
  14. Test release for i386-netware
  15. Test release for i386-netwlibc
  16. Test release for sparc-linux
    1. tar
    2. deb
  17. Test release for arm-linux
    1. tar
  18. Test release for x86_64-linux
    1. tar
    2. deb
    3. rpm
  19. Check PDF documentation (open all files)
  20. Check HTML documentation
  21. Check TXT documentation
  22. Read updated text files as distributed in release zip files
    1. readme.txt
    2. faq.txt
    3. whatsnew.txt

FPC-2.2.2

  1. Look at unmerged changes in fpc and fpcbuild since the last RC and consider/ask for necessity of their inclusion in the release (only cosmetic changes should be included, otherwise a new RC is needed instead of final release)
  2. New directories
    1. Create new directories on ftp (/pub/fpc/dist/cpu-os-X.Y.Z)
    2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous RC (unless updated with new versions)
  3. Add new section for the upcoming build in /install/debian/changelog
  4. Create new release branch in SVN
  5. Update version number in release branch to the X.Y.Z
    1. /compiler/version.pas
    2. Makefile.fpc/Makefile files
  6. Create and upload exported fpcbuild
    1. fpcbuild-%{version}.zip
    2. fpcbuild-%{version}.tar.gz
  7. Create and upload the documentation (more info)
    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
  8. Create and upload source zips
    1. short name version for binary packages
    2. docs source (including link for short name version)
    3. long name version for binary packages
  9. Create and upload zip files for i386-go32v2
    1. basic zip (just binaries)
    2. full zip (including docs and sources)
  10. Create and upload zip files for i386-os2
    1. basic zip (just binaries)
    2. full zip (including docs and sources)
  11. Create and upload installer exe for i386-win32
  12. Create and upload tgz file for i386-freebsd
  13. Create and upload release for i386-linux (more info)
    1. tar
    2. deb (Mazen)
    3. rpm
  14. Create and upload release for powerpc-linux (more info)
    1. tar
  15. Create and upload release for powerpc-macosx
    1. .dmg package
    2. .info files for fink
      1. Build and upload bootstrapcompiler
      2. Update paths, file names and MD5sums, ... in /install/macosx/*.info
  16. Create and upload release for i386-macosx
    1. .dmg package
    2. .info files for fink (see powerpc-macosx)
  17. Create and upload release for powerpc-macos
  18. Create and upload release for powerpc-morphos
  19. Create and upload release for powerpc-amiga
  20. Create and upload zip files for i386-netware
  21. Create and upload zip files for i386-netwlibc
  22. Create and upload release for sparc-linux (more info)
    1. tar
    2. deb (Mazen)
  23. Create and upload release for arm-linux (cross-release)
    1. tar - Daniel
  24. Create and upload release for x86_64-linux (more info)
    1. tar
    2. deb
    3. rpm
  25. 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)
  26. 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)
  27. 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)
  28. Test release for i386-freebsd
  29. Test release for i386-linux
    1. tar
    2. deb (Mazen)
    3. rpm
  30. Test release for powerpc-linux
    1. tar
  31. Test release for powerpc-macosx
    1. .dmg package
    2. .info file for fink
  32. Test release for i386-macosx
    1. .dmg package
    2. .info file for fink
  33. Test release for powerpc-macos
  34. Test release for powerpc-morphos
  35. Test release for powerpc-amiga
  36. Test release for i386-netware
  37. Test release for i386-netwlibc
  38. Test release for sparc-linux
    1. tar
  39. Test release for arm-linux
    1. tar
  40. Test release for x86_64-linux
    1. tar
    2. deb
    3. rpm
  41. Check PDF documentation (open all files)
  42. Check HTML documentation
  43. Check TXT documentation
  44. Read updated text files as distributed in release zip files
    1. readme.txt
    2. faq.txt
    3. whatsnew.txt

Going public

  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)
    1. Update version number in the trunk branch (only after a major release - ?.?.0)
      1. /compiler/version.pas
      2. All Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles)
  7. 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
  8. Send announcement to our mailing lists
  9. Post announcement on the community site
  10. Post announcement on Sourceforge.net (only "Project Administrators" may do it)
  11. Make sure that all unfixed issues encountered during RC testing and listed on dedicated page in Wiki are documented in bug tracker too
  12. Revise / update /html/future.fp after major versions (?.?.0)
  13. Remove unneeded RC builds from FTP