|
NeoOffice 2.2.2 Release Tasks
From NeoWiki
This page is an attempt to document all of the tasks required to release NeoOffice 2.2.2. This page is by no means comprehensive, but hopefully as we work through the release process, we will leave behind enough details to make future releases simpler and less error prone.
Here is what the colors mean:
Not yet assigned | |
Assigned but not yet due |
Contents |
Builds
In this release, there is no change in either the OpenOffice.org or ooo-build tag that we are using so this build is far simpler than the NeoOffice 2.2.1 build. However, we need to rebuild all of the installers to fix bundle the a latest Mac OS X 10.5 installer bug. Fortunately, we can provide a patch that upgrades a NeoOffice 2.2.1 installation.
Task | Due Date | Assigned | Status |
Verify that ooo-build does not have a newer tag than the OOO_BUILD_2_2_1 tag. |
10/04/2007 | pluby | Done |
Verify that odf-converter does not have a newer tag than the word1.1-M1 tag. |
10/04/2007 | pluby | Done |
Rebuild all custom NeoOffice and RetroOffice code using the existing NeoOffice 2.2.1 Patch 1 Test 16 builds. Perform a confirming checkout of the HEAD branch and set build to build with a new version and NeoOffice and RetroOffice trademarked product names. This includes the following steps:
|
10/05/2007 | pluby | Done |
Verify that none of the NeoOffice Intel build's executables or libraries link to any X11 libraries. Note: to do this task, install your latest NeoOffice build and, in a terminal, execute the following commands: sh cd /Applications/NeoOffice.app/Contents/MacOS for i in `find . -type f`; do echo $i ; otool -L $i 2>&1 | grep X11; done If none of the binaries link to any X11 libraries, the above commands will only print a list of files. However, if you see any lines that look similar to the following, the file listed just before this type of line is linked to an X11 library and this must be correct before the NeoOffice binaries can be released. /usr/X11R6/lib/libX11.6.dylib (compatibility version 6.2.0, current version 6.2.0) |
10/05/2007 | pluby | Done |
Verify that none of the NeoOffice PowerPC build's executables or libraries link to any X11 libraries. Note: Use the same steps as used for the matching Intel task. |
10/05/2007 | pluby | Done |
Modify and test bin/installutils script to treat all NeoOffice 2.2.x installations as a match. In this release, language pack resource files are compatible so we want to preserve them in they exist. Note: I tested this code by building the installer, language packs, and patch installer and then doing the following steps:
|
10/05/2007 | pluby | Done |
Tag the code in the HEAD branch with the NeoOffice-2_2_2 and RetroOffice-2_2_2 tags using the following:
|
10/05/2007 | pluby | Done |
Create releasable NeoOffice 2.2.2 and RetroOffice 2.2.2 builds for Intel. Note: the following steps are overkill, but they ensure that all recent changes to the NeoOffice custom code has been built:
|
10/05/2007 | pluby | Done |
Create releasable NeoOffice 2.2.2 and RetroOffice 2.2.2 builds for PowerPC. Note: Use the same steps as used for the matching Intel task. |
10/05/2007 | pluby | Done |
Create backup copy of releasable Intel binaries and upload them to staging server. The following steps are the steps that I used to create my backup copy:
sftp all 58 files up to staging server and chmod 444 *.dmg all of the files on the staging server. sftp the patch installer file up to staging server and chmod 444 *.dmg all of the files on the staging server. diff the md5 *Intel.dmg | sort' output of the files on the server and in local NeoOffice-2.2.2 directory. Repeat the above steps using RetroOffice-2.2.2 instead of NeoOffice-2.2.2 and install_X11/*.dmg instead of install/*.dmg. Put the NeoOffice-2.2.2 and RetroOffice-2.2.2 folders in a new empty directory and create a CD master NeoRetroOffice-2.2.2.cdr file of the new directory using the following command: hdiutil create -srcfolder /path/to/new/directory \ -format UDTO -ov -o /path/to/output/NeoRetroOffice-2.2.2.cdr |
10/06/2007 | pluby | Done |
Create backup copy of releasable PowerPC binaries and upload them to staging server. Note: Use the same steps as used for the matching Intel task (except diff using md5 *PowerPC.dmg | sort'. |
10/06/2007 | pluby | Done |
Verify that the releasable installers and one or more language packs install and run on Intel for the following Mac OS X versions:
|
10/05/2007 | pluby | Done |
Verify that the releasable installers and one or more language packs install and run on PowerPC for the following Mac OS X versions:
|
10/05/2007 | pluby | Done |
Mirrors
NeoOffice's rsync server is hosted on [1] and our volunteer mirrors obtain the NeoOffice binaries by nightly runs of the following command on their mirrors:
rsync -r --delete rsync://rsync.neooffice.org/neojavadownloads/ /path/to/NeoOffice/mirror/directory
At this time, we do not mirror RetroOffice binaries.
Task | Due Date | Assigned | Status |
Upload the 116 NeoOffice installer NeoOffice-2.2.2-*.dmg files to the jane.neooffice.org server's /neojava/downloads directory. | 10/06/2007 | pluby | Done |
Upload the 116 RetroOffice installer RetroOffice-2.2.2-*.dmg files to the www.planamesa.org server's /retro/downloads directory. | 10/06/2007 | pluby | Done |
Upload the 2 NeoOffice patch installer NeoOffice-2.2.2-Patch-0-*.dmg files to the jane.neooffice.org server's /neojava/downloads/patches directory. | 10/06/2007 | pluby | Done |
Upload the 2 RetroOffice patch installer RetroOffice-2.2.2-Patch-0-*.dmg files to the jane.neooffice.org server's /retro/downloads/patches directory. | 10/06/2007 | pluby | Done |
Make room for the new NeoOffice binaries by removing the NeoOffice 2.2.1 binaries from the www.planamesa.org mirror site. Note: the following steps were used to complete this task:
|
10/05/2007 | pluby | Done |
3 business days before the release, copy the 116 NeoOffice installer NeoOffice-2.2.2-*.dmg files from the www.planamesa.org server's /neojava/downloads directory into the rsync.neooffice.org server's /neojava/downloads directory so that the files will be picked up by the mirrors in their next nightly run. | 10/06/2007 | pluby | Done |
3 business days before the release, copy the 2 NeoOffice patch installer NeoOffice-2.2.2-Patch-0-*.dmg files from the jane.neooffice.org server's /neojava/downloads/patches directory into the rsync.neooffice.org server's /neojava/downloads/patches directory so that the files will be picked up by the mirrors in their next nightly run. | 10/06/2007 | pluby | Done |
Copy the 116 NeoOffice installer NeoOffice-2.2.2-*.dmg files from the www.planamesa.org server's /neojava/downloads directory to the www.planamesa.net server's /neojava/downloads directory. | 10/06/2007 | pluby | Done |
Copy the 116 RetroOffice installer RetroOffice-2.2.2-*.dmg files from the www.planamesa.com server's /retro/downloads directory to the www.planamesa.net server's /retro/downloads directory. | 10/06/2007 | pluby | Done |
Website
Task | Due Date | Assigned | Status |
Create a tag for the www.neooffice.org website to avoid modifying production web pages while we modify the web pages in the test website. Steps:
|
10/06/2007 | pluby | Done |
Update all NeoOffice 2.2.2 version names, file URLs, and patch version in all of the non Early Access *.php files in the www-test.neooffice.org web pages. Note: I used the following steps to do this:
sh for i in `find . -name "features.php"`; do cp `dirname $i`/earlyaccess`basename $i` $i done <?php include('../earlyaccesslogincheck.php'); ?> if ($earlyaccessdownloadenabled && $_SESSION[DONATIONSUSERSESSIONKEY]) { printLogoutLink(); } sh for i in `find . -name "*.php" -o -name "header.html" | grep -v earlyaccess`; do sed 's#NeoOffice 2\.1#NeoOffice 2.2.2#g' $i | \ sed 's#NeoOffice-2\.1#NeoOffice-2.2.2#g' | \ sed 's#NeoOffice-2_2_1#NeoOffice-2_2_2#g' | \ sed 's# 2\.1 # 2.2.2 #g' | \ sed 's#\*2\.1\*#*2.2.2*#g' > $i.tmp mv $i.tmp $i done sh for i in `find . -name "patch.php" -o -name "header.html"`; do sed 's#Patch 7#Patch 0#g' $i | \ sed 's#Patch-7#Patch-0#g' > $i.tmp mv $i.tmp $i done $earlyaccessdownloadenabled = false; $earlyaccessredirectenabled = true; $earlyaccessproduct = ''; $earlyaccessproductfamily[0] = ''; $earlyaccesspatch = 'Patch 0'; $earlyaccesspatchpage = 'earlyaccesspatch.php'; $currentproduct = 'NeoOffice 2.2.2'; $currentproductfamily[0] = ''; $currentpatch = 'Patch 0'; $currentpatchpage = 'patch.php'; $currentpatchhidemirrors = true; |
pluby | ||
Comment out all of the non-patch mirrors in the www-test.neooffice.org website's /neojava/mirrors.php file and invoke the following command to commit your changes: cvs commit ; chmod -Rf ug+rw .htaccess *. | pluby | ||
cvs remove the 2 obsolete NeoOffice-2.2.1-*.torrent files from the Comment out all of the non-patch mirrors in the www-test.neooffice.org website's /neojava/downloads directory and invoke the following command to commit your changes: cvs commit ; chmod -Rf ug+rw .htaccess *. | pluby | ||
Update the 116 NeoOffice 2.2.2 file sizes in all of the maindownload.php and langpackdownload.php files in the /neojava directory of the www-test.neooffice.org server's web pages. Note: I used the following steps to do this:
ls -l /directory/NeoOffice-2.2.1/binaries/NeoOffice-2.2.1-*.dmg | \ awk '{print $9 " " $5}' | \ sed 's#^.*NeoOffice-2.2.1#NeoOffice-2.2.2#' | \ sort > /path/to/a/new/file ls -l /directory/NeoOffice-2.2.2/binaries/NeoOffice-2.2.2-*.dmg | \ awk '{print $9 " " $5}' | \ sort > /path/to/a/new/file join /file/from/first/step /file/from/second/step | \ sed 's#^.*dmg ##' | \ sed 's# #\##' | \ sed 's#^#sed "s\##' | \ sed 's#$#\#g" | \\#' > /path/to/a/new/file for i in `find . -name "maindownload.php" -o -name "langpackdownload.php"`; do cat $i | \ cat > $i.tmp mv $i.tmp $i done sh /path/to/file/edited/in/last/step |
pluby | ||
Create RetroOffice 2.2.2 pages in the www-test.neooffice.org web pages. Note: I used the following steps to do this:
sh for i in `cd ../neojava ; find . -name ".htaccess" -o -name "*.php*" -o -name "*.html*" | \ grep -v downloads | grep -v earlyaccess | \ grep -v featurereqs | grep -v press_releases`; do sed 's#NeoOffice#RetroOffice#g' ../neojava/$i | \ sed 's#neojava/404#retro/404#g' > $i cvs add $i done sh for i in `find . -name "build.php"`; do sed 's#install/#install_X11/#g' $i | \ sed 's#package<#package_X11#g' > $i.tmp mv $i.tmp $i done |
pluby | ||
Update the 116 RetroOffice 2.2.2 file sizes in all of the maindownload.php and langpackdownload.php files in the /retro directory of the www-test.neooffice.org server's web pages. Note: I used the following steps to do this:
ls -l /directory/NeoOffice-2.2.2/binaries/NeoOffice-2.2.2-*.dmg | \ awk '{print $9 " " $5}' | \ sed 's#^.*NeoOffice-2.2.2#RetroOffice-2.2.2#' | \ sort > /path/to/a/new/file ls -l /directory/RetroOffice-2.2.2/binaries/RetroOffice-2.2.2-*.dmg | \ awk '{print $9 " " $5}' | \ sort > /path/to/a/new/file join /file/from/first/step /file/from/second/step | \ sed 's#^.*dmg ##' | \ sed 's# #\##' | \ sed 's#^#sed "s\##' | \ sed 's#$#\#g" | \\#' > /path/to/a/new/file for i in `find . -name "maindownload.php" -o -name "langpackdownload.php"`; do cat $i | \ cat > $i.tmp mv $i.tmp $i done sh /path/to/file/edited/in/last/step |
pluby | ||
Enable the BitTorrent links using the following steps:
|
pluby | ||
Obtain each localized version of the NeoOffice 2.2.2 press release in HTML format, save them in the www-test.neooffice.org website's /neojava/press_releases directory using the following naming format so that the webserver's language detection will serve the closest matching file, cvs add the files, and invoke the following command to commit your changes: cvs commit ; chmod -Rf ug+rw .htaccess *:
|
pluby | ||
When a mirror that has been commented out in the www-test.neooffice.org website's /neojava/mirrors.php file has mirrored the NeoOffice 2.2.2 binaries, uncomment and the mirror and invoke the following command to commit your changes: cvs commit ; chmod -Rf ug+rw .htaccess *. | pluby | ||
Release
Generally, we try to time the release when it is early morning of the release date in New Zealand which is the most populous country closest to the international date line. For this release, 10 October 2007 translates to anytime after 5:00 am on 9 October 2007 in California.
Task | Due Date | Assigned | Status |
Add "2.2.2" as a version in Bugzilla. | pluby | ||
Make the NeoOffice and RetroOffice 2.2.2 binaries downloadable from the www.neooffice.org website's download pages by updating the www.neooffice.org website's pages to match what is in the www-test.neooffice.org website's pages. Login into the www.neooffice.org server, cd to the its webroot directory, and invoke the following command: cvs update -Ad ; chmod -Rf ug+rw .htaccess *. | pluby | ||
Close all bugs with a status of "Resolved" by setting the following field values:
|
08/26/2007 | sardisson | Done |
Close any bugs with a status of "Assigned" and resolution of "Fixed" (bugs fixed in the release build after the final Early Access patch) by setting the following field values:
|
pluby | ||
Post the press release as an article on trinity.neooffice.org. Note: be sure to change the language field from "English" to "All" in when submitting the article so that all Trinity users will see the article. | pluby | ||
Post a release announcement to the NeoJUpdate mailing list. | pluby | ||
Delete the 116 NeoOffice 2.2.1 NeoOffice-2.2.1-*.dmg files from the rsync.neooffice.org server's /neojava/downloads directory. | pluby | ||
Delete the 2 obsolete NeoOffice 2.2.1 NeoOffice-2.2.1-Patch-*.dmg patch installer files from the rsync.neooffice.org server's /neojava/downloads directory. | pluby | ||
After the files have been deleted from the rsync server, wait 48 hours and verify that these files have been deleted from the mirrors listed in the www.neooffice.org website's /neojava/mirrors.php file. Contact any mirror maintainers that still have these files to confirm that they are rsynching to the rsync server regularly. | pluby | ||
Synchronize the donation's database to PayPal's database to ensure that none of the donors' transactions are missing and to pick up any e-mail address changes made by donors during the Early Access period using the following steps:
|
pluby |