1.9.6 Todo

From Free Pascal wiki

General Todo

  • improve external behaviour
  • improve -Or results
  • prevent inlining crashes when referencing static procedures/vars (tw3340)
  • (optional) look through IDE bugs
  • Integrate system unit and objpas unit in fpdoc
  • Update man page for new options
  • Update docs for new default paths
  • Update fpcmake docs for new default paths left for the next release ;-)
  • Test i386 Linux under FC3 not working, skipped for this release
  • Fix bugs in installer (probably related to FVision)
  • install.dat updates for os/2
  • readme.txt updates for *nix (there was some complaint either in bug repository or lists)
  • (Optional) test AMD64 Linux under FC3
  • Fix Lazarus on X11 on Mac OS X
  • searching for fpc.cfg should search $prefix/fpc.cfg
  • MorphOS: syscalls need to be fixed
  • MorphOS: (optional) add pure SysV syscalls
  • MorphOS: (optional) add support for array of const in syscalls

Release procedure (Release Template)

  1. Check and update all .msg files Skipped for this releaes, too much work for now.
    1. errore.msg
    2. errord.msg
    3. errorf.msg
    4. errorn.msg
    5. errorr.msg
    6. errorrw.msg
    7. errores.msg
  2. New directories
    1. Create new directories on FTP and set permission to 700 (using a script ...?)
    2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip, util*.zip) from the old release
  3. Check tools
    1. Check version of the above mentioned tools (GNU tools, helper DLLs, UPX, etc.), and decide whether it isn't time to update some of these tools
    2. Repackage and upload additional tools where needed
  4. Update version number in the appropriate CVS branch
    1. /compiler/version.pas
    2. /install/doc/readme.txt
    3. /install/fpinst/install.dat (header + cfg template)
    4. /install/fpinst/install.pas (installer version)
    5. /install/fpc.spec
    6. /install/install.sh Done by makepack
    7. /html/faq.fp (things like "the latest version is ...")
    8. convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt
    9. /docs/fpc.sty (macro fpcversion)
    10. All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)
  5. Update whatsnew.txt (/install/doc/whatsnew.txt)
  6. Finishing all source file updates (= updates frozen until release)
  7. Tag CVS with RELEASE_?_?_?
  8. Create and upload zip files for GO32v2
  9. Create and upload zip files for OS/2
  10. Create and upload zip files for Win32
  11. Create and upload tar files for FreeBSD
  12. Create and upload tar files for Linux
    1. i386
    2. powerpc
    3. sparc
    4. x86-64
    5. arm
  13. Create and upload Linux RPMs
    1. i386
    2. sparc
    3. x86-64
    4. powerpc
    5. arm
  14. Create and upload Linux DEBs (ask DEB maintainer)
    1. i386
    2. sparc
    3. x86-64
    4. powerpc
    5. arm
  15. Create and upload the documentation
    1. docs-pdf.zip
    2. doc-html.zip
    3. doc-htm.zip
    4. docs-txt.zip
  16. Create and upload source zips
  17. Create and upload source tars
  18. Run makereleasezips
  19. 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)
  20. 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)
  21. Test the Win32 release
    1. w32???.zip installation
    2. w32???full.zip installation
    3. make sure readme.txt & whatsnew.txt are for the current version
    4. run all executables in /bin/win32 (without parameters)
    5. make cycle with newly installed binaries and sources
    6. run testsuite
    7. open the installed hello.pp in IDE
    8. make a minor change in the demo in IDE & save it
    9. view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
    10. compile the demo file in IDE
    11. run the demo within the IDE (debugger)
  22. Test the FreeBSD release
    1. FreeBSD tar installation
    2. make sure readme.txt & whatsnew.txt are for the current version
    3. run all executables in /bin/freebsd (no params)
    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)
  23. Test Linux DEBs
    1. Linux DEBs installation
    2. make sure readme.txt & whatsnew.txt are for the current version
    3. run all executables in /bin/linux (no params)
    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)
  24. Test Linux RPMs
    1. Linux RPMs installation
    2. make sure readme.txt & whatsnew.txt are for the current version
    3. run all executables in /bin/linux (no params)
    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)
  25. Test Linux tar release
    1. Linux tar installation
    2. make sure readme.txt & whatsnew.txt are for the current version
    3. run all executables in /bin/linux (no params)
    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)
  26. Check PDF documentation (open all files)
  27. Check HTML documentation
  28. Check TXT documentation
  29. Read updated text files as distributed in release zip files
    1. readme.txt
    2. faq.txt
    3. whatsnew.txt
  30. Make new files on FTP available to wide public
    1. open new directories for public access
    2. update symlinks
    3. move the old version to the olddist/<version>
  31. Update WWW pages
    1. /html/news.fp
    2. /html/download.fp (links to all individual files & file sizes)
    3. /html/fpc.fp
  32. 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 _all_ links to individual files
  33. Send announcement to our mailing lists
  34. Post announcement on the community site
  35. Revise / update /html/future.fp after major versions (?.?.0)