|
NeoOffice 2.2.1 Release Tasks
From NeoWiki
Revision as of 16:39, 20 August 2007 (edit) ( | contribs) (Reorder sections to match actual order) ← Previous diff |
Revision as of 17:12, 20 August 2007 (edit) (undo) ( | contribs) (→Release - Update existing tasks) Next diff → |
||
Line 710: | Line 710: | ||
== Release == | == 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, 27 August 2007 translates to anytime after 5:00 am on 26 August 2007 in California. | ||
<table width="100%" border="1"> | <table width="100%" border="1"> | ||
Line 717: | Line 719: | ||
</tr> | </tr> | ||
- | <tr> | + | <tr bgcolor="lightgreen"> |
- | <td | + | <td>Make the NeoOffice 2.2.1 binaries downloadable from the <tt>www.neooffice.org</tt> website's download pages by updating the <tt>www.neooffice.org</tt> website's pages to match what is in the <tt>www-test.neooffice.org</tt> website's pages. Login into the <tt>www.neooffice.org</tt> server, <tt>cd</tt> to the its webroot directory, and invoke the following command: <tt>cvs update -Ad ; chmod -Rf ug+rw .htaccess *</tt>.</td> |
- | + | <td></td><td>pluby</td><td></td> | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | <td> | + | |
</tr> | </tr> | ||
- | <tr> | + | <tr bgcolor="lightgreen"> |
<td>Post the press release as an article on [http://trinity.neooffice.org 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.</td> | <td>Post the press release as an article on [http://trinity.neooffice.org 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.</td> | ||
- | <td> | + | <td></td><td>pluby</td><td></td> |
</tr> | </tr> | ||
- | <tr> | + | <tr bgcolor="lightgreen"> |
- | <td>Post a release announcement to the [http:// | + | <td>Post a release announcement to the [http://www.neooffice.org/neojava/contact.php NeoJUpdate mailing list].</td> |
- | <td> | + | <td></td><td>pluby</td><td></td> |
</tr> | </tr> | ||
- | <tr> | + | <tr bgcolor="lightgreen"> |
- | <td> | + | <td>Delete the 116 NeoOffice 2.2.1 <tt>NeoOffice-2.2.1-*.dmg</tt> files from the URLs in listed in the <tt>www.neooffice.org</tt> website's <tt>/neojava/earlyaccessmirrors.php</tt> file.</td> |
- | + | <td></td><td>pluby</td><td></td> | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | <td> | + | |
</tr> | </tr> | ||
<tr bgcolor="lightgreen"> | <tr bgcolor="lightgreen"> | ||
<td> | <td> | ||
- | <p>Remove NeoOffice | + | <p>Remove NeoOffice 2.1 binaries from mirrors using the following steps:</p> |
<ul> | <ul> | ||
- | <li>Delete all <tt> | + | <li>Delete all <tt>NeoOffice-2.1-*.dmg</tt> files <tt>rsync.neooffice.org</tt> servers <tt>/neojava/downloads</tt> directory.</li> |
- | <li>Delete | + | <li>Delete the 2 obsolete NeoOffice 2.2.1 Early Access patch installer <tt>NeoOffice-2.2.1_Early_Access-Patch-*.dmg</tt> files from the URLs in listed in the <tt>www.neooffice.org</tt> website's <tt>/neojava/mirrors.php</tt> file.</li> |
<li>Delete all <tt>*Aqua_Beta*.torrent</tt> files from the <tt>download.neooffice.org</tt> website on both of the <tt>www.planamesa.com</tt> and <tt>www.neooffice.org</tt> servers.</li> | <li>Delete all <tt>*Aqua_Beta*.torrent</tt> files from the <tt>download.neooffice.org</tt> website on both of the <tt>www.planamesa.com</tt> and <tt>www.neooffice.org</tt> servers.</li> | ||
- | + | <li>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 <tt>www.neooffice.org</tt> website's <tt>/neojava/mirrors.php</tt> file.</li> | |
- | <li>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 <tt> | + | |
<li>Contact any mirror maintainers that still have these files to confirm that they are rsynching to the rsync server regularly.</li> | <li>Contact any mirror maintainers that still have these files to confirm that they are rsynching to the rsync server regularly.</li> | ||
</ul> | </ul> | ||
</td> | </td> | ||
- | <td> | + | <td></td><td>pluby</td><td></td> |
</tr> | </tr> | ||
</table> | </table> |
Revision as of 17:12, 20 August 2007
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 |
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 |
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 |
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 |
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, 27 August 2007 translates to anytime after 5:00 am on 26 August 2007 in California.
Task | Due Date | Assigned | Status |
Make the NeoOffice 2.2.1 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 | ||
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 URLs in listed in the www.neooffice.org website's /neojava/earlyaccessmirrors.php file. | pluby | ||
Remove NeoOffice 2.1 binaries from mirrors using the following steps:
|
pluby |