|
NeoOffice 2.2.1 Release Tasks
From NeoWiki
This page is an attempt to document all of the tasks required to release NeoOffice 2.1. 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 the OpenOffice.org tag that we are using so this build is far simpler than the NeoOffice 2.2.1 Early Access build. However, we need to bundle the latest Akua icon set changes and updated Mac OS X Address Book resource files. These changes will mean that in this release, there will not be a patch that upgrades a NeoOffice 2.2.1 Early Access installation.
Task | Due Date | Assigned | Status |
Create NeoOffice-2_2_1_Early_Access_branch branch from the HEAD branch for NeoOffice 2.2.1 Early Access so that we can continue to do bug fixes and release Patches while we are working on this release. Note: After creating the branch, I invoked the following command in my NeoOffice 2.2.1 Early Access workspace to ensure that I don't accidently pull NeoOffice 2.2.1 changes into my build: cvs update -r NeoOffice-2_2_1_Early_Access_branch |
08/16/07 | pluby | Done |
Perform a clean 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:
|
08/16/07 | pluby | Done |
Verify that ooo-build does not have a newer tag than the OOO_BUILD_2_2_1 tag. |
08/16/07 | pluby | Done |
Verify that odf-converter does not have a newer tag than the word1.1-M1 tag. |
08/16/07 | pluby | Done |
Perform a clean checkout and build of the HEAD branch on Mac OS X 10.4 Intel with gcc 4.0.1. Note: don't forget to copy custom.neo.mk file to custom.mk so that the clean checkout will build with the trademarked product name |
08/16/07 | pluby | Done |
Perform a clean checkout and build of the HEAD branch on Mac OS X 10.4 PowerPC with gcc 3.3. Note: don't forget to copy custom.neo.mk file to custom.mk so that the clean checkout will build with the trademarked product name |
08/16/07 | 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) |
08/16/07 | 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. |
08/16/07 | pluby | Done |
Modify and test bin/installutils script to treat NeoOffice 2.2.1 Early Access as a match. In this release, language pack resource files are incompatible 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:
|
08/16/07 | pluby | Done |
Commit and test updated icon files in etc/package.
|
08/16/07 | pluby | Done |
Get latest version of DicOOo.sxw and FontOOo.sxw files, replace all references to the Control key with the Command key, and commit files in etc/share/dict/ooo. Note: to do this task, do the following steps:
sh for i in `find /path/to/first/directory -name content.xml -o -name "Translation*.xml"`; do ( cat $i ; echo ) | tr '\r' '\n' > $i.tmp mv -f $i.tmp $i done sh for i in `find /path/to/first/directory -name content.xml -o -name "Translation*.xml"`; do cat $i | \ sed 's#\[CTRL\]#[Command]#g' | \ sed 's#\[Ctrl\]#[Command]#g' | \ sed 's#\[ctrl\]#[Command]#g' | \ sed 's#\[Strg\]#[Command]#g' | \ sed 's# CTRL #[Command]#g' | \ sed 's#\(Ctrl\)#[Command]#g' | \ sed 's#«Ctrl»#[Command]#g' | \ sed 's#OpenOffice\.org#NeoOffice#g' | \ sed 's#OpenOffice#NeoOffice#g' | \ sed 's#/NeoOfffice/#/OpenOffice.org/#g' > $i.tmp mv -f $i.tmp $i done sh cd /path/to/first/directory zip -r /path/to/etc/share/dict/ooo/DicOOo.sxw . |
08/16/07 | pluby | Done |
Merge any NeoOffice 2.2.1 Early Access bug fixes committed to the NeoOffice-2_2_1_Early_Access_branch branch. |
08/16/07 | pluby | Done |
Tag the code in the HEAD branch with the NeoOffice-2_2_1 and RetroOffice-2_2_1 tags. Note: Because the installer build checks out source code from the anoncvs.neooffice.org server, the following steps must be done to complete this task properly:
|
08/16/07 | pluby | Done |
Create releasable NeoOffice 2.2.1 and RetroOffice 2.2.1 builds for Intel. Note: the following steps are overkill, but they ensure that all recent changes to the NeoOffice custom code has been built:
|
08/16/07 | pluby | Done |
Create releasable NeoOffice 2.2.1 and RetroOffice 2.2.1 builds for PowerPC. Note: Use the same steps as used for the matching Intel task. |
08/16/07 | 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. diff the md5 *Intel.dmg | sort' output of the files on the server and in local NeoOffice-2.2.1 directory. Repeat the above steps using RetroOffice-2.2.1 instead of NeoOffice-2.2.1 and install_X11/*.dmg instead of install/*.dmg. Put the NeoOffice-2.2.1 and RetroOffice-2.2.1 folders in a new empty directory and create a CD master NeoRetroOffice-2.2.1.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.1.cdr |
08/16/07 | 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'. |
08/16/07 | 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:
|
08/16/07 | 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:
|
08/16/07 | pluby | Done |
Website
Task | Due Date | Assigned | Status |
Create 2.1 Early Access branch. This branches the existing website to avoid modifying existing website while it is live. Steps:
|
03/17/07 | OPENSTEP | Done |
Update all version names, file URLs, and patch version in all of the earlyaccess*.php files in the download.neooffice.org web pages. Note: I used the following steps to do this:
sh for i in `find . -name "earlyaccess*.php" -o -name "header.html" | grep -v "earlyaccess\.php"`; do sed 's#NeoOffice 2\.1 Early Access#NeoOffice 2.1#g' $i | \ sed 's#_Early_Access##g' > $i.tmp mv $i.tmp $i done sh for i in `find . -name "earlyaccesspatch.php" -o -name "header.html"`; do sed 's#Patch 2#Patch 0#g' $i | \ sed 's#Patch-2#Patch-0#g' > $i.tmp mv $i.tmp $i done |
03/19/2007 | pluby | Done |
Update the 114 language packs' file sizes in all of the earlyaccessdownload.php files in the download.neooffice.org web pages. Note: I used the following steps to do this:
ls -l /directory/NeoOffice-2.1_Early_Access/binaries/*Language_Pack*.dmg | \ awk '{print $9 " " $5}' | \ sed 's#^.*NeoOffice-2.1_Early_Access#NeoOffice-2.1#' | \ sort > /path/to/a/new/file ls -l /directory/NeoOffice-2.1/binaries/*Language_Pack*.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 "earlyaccessdownload.php" -o -name "header.html"`; do cat $i | \ cat > $i.tmp mv $i.tmp $i done sh /path/to/file/edited/in/last/step |
03/19/07 | pluby | Done |
Create a 2.1 Early Access 2 branch. This branches the existing website to avoid modifying existing website while it is live. Important: do not cvs update either of the www.planamesa.com or www.neooffice.org servers. That will be done as part of the Pre-Release tasks. Steps:
|
03/19/07 | pluby | Done |
Merge the updates made to the Early Access pages in the download.neooffice.org web pages to their matching regular pages. Note: use the following steps to complete this task:
sh for i in `find . -name "build.php" -o -name "download.php" -o -name "features.php" -o -name "patch.php"`; do cp `dirname $i`/earlyaccess`basename $i` $i done sh for i in `find . -name "build.php" -o -name "download.php" -o -name "features.php" -o -name "patch.php"`; do sed 's#href="earlyaccess#href="#g' $i | \ sed 's#NeoOffice Early Access Program#NeoOffice#g' > $i.tmp mv $i.tmp $i done sh for i in `find . -name "sample.*"`; do cp `dirname $i`/earlyaccess`basename $i` $i done |
03/24/2007 | Narf | 03/25/2007 |
Obtain the 2 NeoOffice-2.1-*.torrent files from the mirrors.freesmug.org mirror maintainer and cvs add these 2 files in the neojava/downloads directory on download.neooffice.org website | 03/25/07 | pluby | Done |
Create a neojava/press_releases directory and cvs add it to the download.neooffice.org. Obtain each localized version of the NeoOffice 2.1 press release in HTML format and save them in this directory using the following naming format so that the webserver's language detection will serve the closest matching file, and cvs add them:
|
03/25/07 | pluby | Done for English |
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 RetroOffice installer RetroOffice-2.2.1-*.dmg to the www.planamesa.org server's /retro/downloads directory. | 08/16/2007 | pluby | Done |
Notify the mirror maintainers that we will be pushing new NeoOffice binaries out to them a few days before the 27 August 2007 release date so that they can prepare for the huge surge in bandwidth usage that their servers will get in the first month or so after release. | 08/20/2007 | pluby | Done |
Make room for the new NeoOffice binaries by removing the NeoOffice Aqua Beta 3 binaries from the www.planamesa.org and eap.neooffice.org mirror sites. Note: the following steps were used to complete this task:
|
08/20/2007 | pluby | Done |
3 business days before the release, copy the 116 NeoOffice installer NeoOffice-2.2.1-*.dmg files 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. | pluby | ||
Copy the 116 NeoOffice installer NeoOffice-2.2.1-*.dmg files from the rsync.neooffice.org server's /neojava/downloads directory to the www.planamesa.net and www.planamesa.org servers' neojava/downloads directory. | pluby |
Pre-Release to Early Access Members
Task | Due Date | Assigned | Status |
Create 2.2.1 Early Access tag for the www.neooffice.org website to avoid modifying production web pages while we modify the web pages in the test website. Steps:
|
08/16/2007 | pluby | Done |
Copy the 116 NeoOffice 2.2.1 installer NeoOffice-2.2.1-*.dmg files from the staging area (see Builds section on this page for that task) into the URLs in listed in the www.neooffice.org website's /neojava/earlyaccessmirrors.php file and chmod 444 the files. | 08/17/2007 | pluby | Done |
Update all version names, file URLs, and patch version in all of the earlyaccess*.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 "earlyaccess*.php" -o -name "header.html"`; do sed 's#NeoOffice 2\.2\.1 Early Access#NeoOffice 2.2\.1#g' $i | \ sed 's#_Early_Access##g' > $i.tmp mv $i.tmp $i done sh for i in `find . -name "earlyaccesspatch.php" -o -name "header.html"`; do sed 's#Patch 2#Patch 0#g' $i | \ sed 's#Patch-2#Patch-0#g' > $i.tmp mv $i.tmp $i done |
08/17/2007 | pluby | Done |
Update the 116 file sizes in all of the earlyaccessdownload.php and earlyaccesslangpackdownload.php files in the www-test.neooffice.org web pages. Note: I used the following steps to do this:
ls -l /directory/NeoOffice-2.2.1_Early_Access/binaries/NeoOffice-2.2.1_Early_Access-*.dmg | \ awk '{print $9 " " $5}' | \ sed 's#^.*NeoOffice-2.2.1_Early_Access#NeoOffice-2.2.1#' | \ sort > /path/to/a/new/file ls -l /directory/NeoOffice-2.2.1/binaries/NeoOffice-2.2.1-*.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 "earlyaccessdownload.php" -o -name "earlyaccesslangpackdownload.php"`; do cat $i | \ cat > $i.tmp mv $i.tmp $i done sh /path/to/file/edited/in/last/step |
08/17/2007 | pluby | Done |
Make the NeoOffice 2.2.1 binaries downloadable from the www.neooffice.org website's Early Access 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 *. | 08/19/2007 | pluby | Done |
Add "2.2.1" as a version in Bugzilla. | 08/19/2007 | pluby | Done |
Close all bugs with a status of "Resolved" by setting the following field values:
|
08/19/2007 | pluby | Done |
Post a release announcement to the NeoJUpdate mailing list. | 08/19/2007 | pluby | Done |
Delete the 116 obsolete NeoOffice 2.2.1 Early Access NeoOffice-2.2.1_Early_Access-*.dmg files from the URLs in listed in the www.neooffice.org website's /neojava/earlyaccessmirrors.php file. | 08/19/2007 | pluby | Done |
Delete the 2 obsolete NeoOffice 2.2.1 Early Access patch installer NeoOffice-2.2.1_Early_Access-Patch-*.dmg files from the URLs in listed in the www.neooffice.org website's /neojava/en/earlyaccesspatch.php file. | 08/19/2007 | pluby | Done |
Release
Task | Due Date | Assigned | Status |
Make the release available on the download.neooffice.org website by doing the following steps:
|
03/26/07 | OPENSTEP | Done |
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. | 03/26/07 | OPENSTEP | Done |
Post a release announcement to the NeoJUpdate mailing list. | 03/26/07 | OPENSTEP | Done |
Shut down the Early Access member's site using the following steps:
|
03/26/07 | pluby | Done |
Remove NeoOffice Aqua Beta 3 binaries from mirrors using the following steps:
|
03/26/07 | OPENSTEP |