|
NeoOffice 2.1 Release Tasks
From NeoWiki
Revision as of 06:25, 15 March 2007 (edit) ( | contribs) (Add overview to Builds section) ← Previous diff |
Current revision (15:34, 26 March 2007) (edit) (undo) ( | contribs) (→Release - Mark update e-mail as sent) |
||
(103 intermediate revisions not shown.) | |||
Line 1: | Line 1: | ||
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. | 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: | ||
+ | |||
+ | <table width="100%"> | ||
+ | <tr> | ||
+ | <td width="5%" bgcolor="pink"></td> | ||
+ | <td>Not yet assigned</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width="5%" bgcolor="lightgreen"></td> | ||
+ | <td>Assigned but not yet due</td> | ||
+ | </tr> | ||
+ | </table> | ||
Line 15: | Line 28: | ||
<td> | <td> | ||
<p>Create <tt>NeoOffice-2_1_Early_Access_branch</tt> branch from the HEAD branch for NeoOffice 2.1 Early Access so that we can continue to do bug fixes and release Patches while we aer working on this release.</p> | <p>Create <tt>NeoOffice-2_1_Early_Access_branch</tt> branch from the HEAD branch for NeoOffice 2.1 Early Access so that we can continue to do bug fixes and release Patches while we aer working on this release.</p> | ||
- | <p>Note: | + | <p>Note: After creating the branch, I invoked the following command in my NeoOffice 2.1 Early Access workspace to ensure that I don't accidently pull NeoOffice 2.1 changes into my build: <tt>cvs update -r NeoOffice-2_1_Early_Access_branch</tt></p> |
</td> | </td> | ||
<td>03/13/07</td><td>pluby</td><td>Done</td> | <td>03/13/07</td><td>pluby</td><td>Done</td> | ||
Line 28: | Line 41: | ||
<li> | <li> | ||
<p>In <tt>makefile</tt>, change the following macros to the respective values:</p> | <p>In <tt>makefile</tt>, change the following macros to the respective values:</p> | ||
- | + | <pre> | |
PRODUCT_VERSION=2.1 | PRODUCT_VERSION=2.1 | ||
PRODUCT_DIR_VERSION=2.1 | PRODUCT_DIR_VERSION=2.1 | ||
Line 34: | Line 47: | ||
PRODUCT_DIR_PATCH_VERSION=Patch-0 | PRODUCT_DIR_PATCH_VERSION=Patch-0 | ||
NEO_TAG:=-rHEAD | NEO_TAG:=-rHEAD | ||
- | + | </pre> | |
</li> | </li> | ||
<li>In this release, there will not be a patch that upgrades a NeoOffice 2.1 Early Access installation so reduce the size of future patches by removing any libraries other than <tt>libvcl*.dylib</tt> from the <tt>build.patch_package</tt> target in the <tt>makefile</tt></li> | <li>In this release, there will not be a patch that upgrades a NeoOffice 2.1 Early Access installation so reduce the size of future patches by removing any libraries other than <tt>libvcl*.dylib</tt> from the <tt>build.patch_package</tt> target in the <tt>makefile</tt></li> | ||
Line 51: | Line 64: | ||
</tr> | </tr> | ||
- | </ | + | <tr> |
+ | <td> | ||
+ | <p>Perform a clean checkout and build of the HEAD branch on Mac OS X 10.4 Intel with gcc 4.0.1.</p> | ||
+ | <p>Note: don't forget to copy <tt>custom.neo.mk</tt> file to <tt>custom.mk</tt> so that the clean checkout will build with the trademarked product name</p> | ||
+ | </td> | ||
+ | <td>03/14/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Perform a clean checkout and build of the HEAD branch on Mac OS X 10.4 PowerPC with gcc 3.3.</p> | ||
+ | <p>Note: don't forget to copy <tt>custom.neo.mk</tt> file to <tt>custom.mk</tt> so that the clean checkout will build with the trademarked product name</p> | ||
+ | </td> | ||
+ | <td>03/16/07</td><td>OPENSTEP</td><td><p>Done</p><p>3/17/07</p></td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Verify that none of the Intel build's executables or libraries link to any X11 libraries.</p> | ||
+ | <p>Note: to do this task, install your latest NeoOffice build and, in a terminal, execute the following commands:</p> | ||
+ | <pre> | ||
+ | sh | ||
+ | cd /Applications/NeoOffice.app/Contents/MacOS | ||
+ | for i in `find . -type f`; do echo $i ; otool -L $i 2>&1 | grep X11; done | ||
+ | </pre> | ||
+ | <p>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.</p> | ||
+ | <pre> | ||
+ | /usr/X11R6/lib/libX11.6.dylib (compatibility version 6.2.0, current version 6.2.0) | ||
+ | </pre> | ||
+ | </td> | ||
+ | <td>03/16/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Verify that none of the PowerPC build's executables or libraries link to any X11 libraries.</p> | ||
+ | <p>Note: Use the same steps as used for the matching Intel task.</p> | ||
+ | </td> | ||
+ | <td>03/16/07</td><td>OPENSTEP</td><td><p>Done</p><p>No X11 Dependencies</p><p>3/17/07</p></td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Modify and test <tt>bin/installutils*</tt> sripts to not treat NeoOffice 2.1 Early Access as a match.</p> | ||
+ | <p>In this release, we do not want the installer to preserve the Early Access language pack resource files as some are incompatible with this build and will show as blank text. Also, we don't want the language pack or patch installer to upgrade an Early Access installation as it corrupt that installation.</p> | ||
+ | <p>Note: I tested this code by building the installer, language packs, and patch installer and then doing the following steps:</p> | ||
+ | <ul> | ||
+ | <li>Install the patch installer and verify that it does not upgrade my NeoOffice 2.1 Early Access installation.</li> | ||
+ | <li>Install a NeoOffice 2.1 Early Access language pack, change my machine's preferred language to match the installed language pack, run NeoOffice 2.1 Early Access, and verify that the menus are not English.</li> | ||
+ | <li>With the same preferred language set in the previous step, install NeoOffice 2.1, and verify that the menus are in English.</li> | ||
+ | <li>Install a NeoOffice 2.1 language pack, change my machine's preferred language to match the installed language pack, run NeoOffice 2.1, and verify that the menus are not in English and verify that [http://bugzilla.neooffice.org/bug.php?op=show&bugid=2201&pos=0 bug 2201] no longer occurs.</li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/15/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Change the order in the <tt>makefile</tt> in which icon files in <tt>etc/package</tt> are added to the installer's <tt>share/config/images*.zip</tt> files <tt>etc/package</tt> in the following sequence:</p> | ||
+ | <ul> | ||
+ | <li>Apply <tt>etc/package/neo2toolbarv10.zip</tt> to all <tt>share/config/images*.zip</tt> files.</li> | ||
+ | <li>Apply <tt>images/svx</tt> and <tt>images/svtools</tt> files in the <tt>etc/package/NeoOfficeAquaElements.zip</tt> to only the <tt>share/config/images.zip</tt> file</li> | ||
+ | <li>Apply any <tt>images/svx</tt> and <tt>images/svtools</tt> files in the <tt>etc/package/NeoOfficeAquaElements.zip</tt> file that also exist in the <tt>etc/package/neo2toolbarv10.zip</tt> to all of the <tt>share/config/images*.zip</tt> files except <tt>share/config/images.zip</tt>.</li> | ||
+ | <li>Apply <tt>images/svx</tt> and <tt>images/svtools</tt> files in the <tt>etc/package/AkuaIcons.zip</tt> to only the <tt>share/config/images.zip</tt> file</li> | ||
+ | <li>Apply any <tt>images/svx</tt> and <tt>images/svtools</tt> files in the <tt>etc/package/AkuaIcons.zip</tt> file that also exist in the <tt>etc/package/neo2toolbarv10.zip</tt> to all of the <tt>share/config/images*.zip</tt> files except <tt>share/config/images.zip</tt>.</li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/16/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Commit and test updated icon files in <tt>etc/package</tt>.</p> | ||
+ | <ul> | ||
+ | <li><tt>cd etc/package</tt></li> | ||
+ | <li>Execute the following shell script: | ||
+ | <pre> | ||
+ | #!/bin/csh | ||
+ | # | ||
+ | # execute within etc/package directory | ||
+ | |||
+ | setenv PKGDIR `pwd` | ||
+ | |||
+ | pushd ~ | ||
+ | curl -C - -O http://homepage.mac.com/punto_mac/projects/neo/downloads/Akua_March_Release.dmg | ||
+ | popd | ||
+ | |||
+ | setenv VOL `hdiutil mount ~/Akua_March_Release.dmg | perl -ne 'if ( /(\/Volumes.*)$/ ) { print $1; }'` | ||
+ | if ( "$VOL" != "" ) then | ||
+ | mkdir "Akua Beta Release" | ||
+ | pushd "$VOL" | ||
+ | cp -rf * "$PKGDIR/Akua Beta Release" | ||
+ | popd | ||
+ | pushd "Akua Beta Release" | ||
+ | find . -type f -name \.\* -print0 | xargs -0 -n 1 rm -f | ||
+ | popd | ||
+ | |||
+ | if ( -e AkuaIcons.zip ) then | ||
+ | rm AkuaIcons.zip | ||
+ | endif | ||
+ | zip -r AkuaIcons.zip "Akua Beta Release" | ||
+ | hdiutil unmount "$VOL" | ||
+ | rm -rf "Akua Beta Release" | ||
+ | endif | ||
+ | |||
+ | setenv VOL "" | ||
+ | |||
+ | pushd ~ | ||
+ | curl -C - -O http://www.pimley.net/projects/downloads/NeoOfficeAquaElements.dmg | ||
+ | popd | ||
+ | |||
+ | setenv VOL `hdiutil mount ~/NeoOfficeAquaElements.dmg | perl -ne 'if ( /(\/Volumes.*)$/ ) { print $1; }'` | ||
+ | if ( "$VOL" != "" ) then | ||
+ | mkdir "NeoOffice Aqua Elements 2.1.020211" | ||
+ | pushd "$VOL" | ||
+ | cp -rf * "$PKGDIR/NeoOffice Aqua Elements 2.1.020211" | ||
+ | popd | ||
+ | pushd "NeoOffice Aqua Elements 2.1.020211" | ||
+ | find . -type f -name \.\* -print0 | xargs -0 -n 1 rm -f | ||
+ | popd | ||
+ | |||
+ | if ( -e NeoOfficeAquaElements.zip ) then | ||
+ | rm NeoOfficeAquaElements.zip | ||
+ | endif | ||
+ | zip -r NeoOfficeAquaElements.zip "NeoOffice Aqua Elements 2.1.020211" | ||
+ | hdiutil unmount "$VOL" | ||
+ | rm -rf "NeoOffice Aqua Elements 2.1.020211" | ||
+ | endif | ||
+ | </pre> | ||
+ | </li> | ||
+ | <li>Rebuild installer with new icon zip files and verify proper build.</li> | ||
+ | <li>Reinstall and check that updated icons are available.</li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/16/07</td><td>OPENSTEP</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Get latest version of <tt>DicOOo.sxw</tt> and <tt>FontOOo.sxw</tt> files, replace all references to the Control key with the Command key, and commit files in <tt>etc/share/dict/ooo</tt>.</p> | ||
+ | <p>Note: to do this task, do the following steps:</p> | ||
+ | <ul> | ||
+ | <li>Download the latest <tt>DicOOo.sxw</tt> file from [http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries/dicooo/DicOOo.sxw here]</li> | ||
+ | <li>Create a new directory and in that directory, unzip the downloaded file using the <tt>zip</tt> command.</li> | ||
+ | <li>Change all of the Windows carriage returns in the unzipped files to Unix newlines and ensure that the files end with a Unix newline by executing the following command:</li> | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | <li>Replace all known references to the Control key with the Command key and replace OpenOffice.org with NeoOffice in the first directory by executing the following command:</li> | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | <li>Replace the <tt>etc/share/dict/ooo/DicOOo.sxw</tt> file by executing the following commands:</li> | ||
+ | <pre> | ||
+ | sh | ||
+ | cd /path/to/first/directory | ||
+ | zip -r /path/to/etc/share/dict/ooo/DicOOo.sxw . | ||
+ | </pre> | ||
+ | <li>Copy your <tt>etc/share/dict/ooo/DicOOo.sxw</tt> into your latest NeoOffice installation and run the wizard to verify that the modified file actually works and that the text has been properly changed before commiting the modified file.</li> | ||
+ | <li>Download the latest <tt>FontOOo.sxw</tt> file from [http://oooconv.free.fr/fontooo/FontOOo.sxw here] and repeat the above steps by replacing "DicOOo" with "FontOOo".</li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/16/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Merge any NeoOffice 2.1 Early Access bug fixes committed to the <tt>NeoOffice-2_1_Early_Access_branch</tt> branch.</p> | ||
+ | <p>Note: As of 03/15/2007, I have already merged the fixes included in NeoOffice 2.1 Early Access Patch 2 Test 1. On 03/17/2007 I refixed bug 1971 in vcl module.</p> | ||
+ | </td> | ||
+ | <td>03/18/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Tag the code in the HEAD branch with the <tt>NeoOffice-2_1</tt> tag.</p> | ||
+ | <p>Note: Because the installer build checks out source code from the <tt>anoncvs.neooffice.org</tt> server, the following steps must be done to complete this task properly:</p> | ||
+ | <ul> | ||
+ | <li>Do a <tt>cvs update -Ad</tt> to ensure that you have the latest code in your workspace, verify that none of the files are marked as updated, patched, modified, or have conflicts, and verify that the latest code actually builds through the installer.</li> | ||
+ | <li>In the <tt>makefile</tt>, set the <tt>NEO_TAG</tt> macro to <tt>NEO_TAG:=-rNeoOffice-2_1</tt> and commit the <tt>makefile</tt>.</li> | ||
+ | <li>Tag all files in your workspace by invoking <tt>cvs tag NeoOffice-2_1</tt>.</li> | ||
+ | <li>On the <tt>cvs.neooffice.org</tt> server, run the script to synchronize the <tt>anoncvs.neooffice.org</tt> server.</li> | ||
+ | <li>Verify that the installer still builds by deleting the <tt>build.source_zip</tt> file and invoking <tt>make NOLANGPACKS=true</tt>.</li> | ||
+ | <li>If there are any build errors, fix and commit them, retag the changed files by invoking <tt>cvs tag -F NeoOffice-2_1</tt>, and repeating the previous two steps.</li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/18/07</td><td>OPENSTEP</td><td><p>Done</p><p>3/18/07</p></td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Create releasable NeoOffice 2.1 build for Intel.</p> | ||
+ | <p>Note: the following steps are overkill, but they ensure that all recent changes to the NeoOffice custom code has been built:</p> | ||
+ | <ul> | ||
+ | <li>Do a <tt>cvs update -d -rNeoOffice-2_1</tt> and verify that none of the files are marked as updated, patched, modified, or have conflicts. If any such errors appear, the previous task (tagging of the workspace) has not been done properly and it needs to done properly before you can proceed with this task.</li> | ||
+ | <li>Do a <tt>cvs update -Ad</tt> so that you can do bug fixing and release patches after you create your releasable build</li> | ||
+ | <li>Delete all <tt>build.neo_*</tt> and <tt>build.odf-converter*</tt> files. This will force the installer to rebuild the odf-converter code and all of the NeoOffice custom code without causing any of the OpenOffice.org or ooo-build code to be rebuilt.</li> | ||
+ | <li>Invoke <tt>make</tt> to create the releasable installer and language packs.</li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/19/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr"> | ||
+ | <td> | ||
+ | <p>Create releasable NeoOffice 2.1 build for PowerPC.</p> | ||
+ | <p>Note: Use the same steps as used for the matching Intel task.</p> | ||
+ | </td> | ||
+ | <td>03/19/07</td><td>OPENSTEP</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Create backup copy of releasable Intel binaries and upload them to staging server.</p> | ||
+ | <p>The following steps are the steps that I used to create my backup copy:</p> | ||
+ | <ul> | ||
+ | <li>Create an empty <tt>NeoOffice-2.1</tt> directory outside of the workspace</li> | ||
+ | <li>Copy all 58 <tt>install/*.dmg</tt> files from your releasable build into the empty <tt>NeoOffice-2.1</tt> directory and <tt>chmod 444 *.dmg</tt> in that directory</li> | ||
+ | <li>Create a CD master <tt>NeoOffice-2.1.cdr</tt> file of the <tt>NeoOffice-2.1</tt> directory using the following command:</li> | ||
+ | <pre> | ||
+ | hdiutil create -srcfolder /path/to/NeoOffice-2.1/directory \ | ||
+ | -format UDTO -ov -o /path/to/output/NeoOffice-2.1.cdr | ||
+ | </pre> | ||
+ | </ul> | ||
+ | <p><tt>sftp</tt> all 58 files up to staging server and <tt>chmod 444 *.dmg</tt> all of the files on the staging server.</p> | ||
+ | <p><tt>diff</tt> the <tt>ls -l *Intel.dmg | awk '{print $9 " " $5} | sort'</tt> output of the files on the server and in local <tt>NeoOffice-2.1</tt> directory.</p> | ||
+ | </td> | ||
+ | <td>03/19/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Create backup copy of releasable PowerPC binaries and upload them to staging server.</p> | ||
+ | <p>Note: Use the same steps as used for the matching Intel task (except <tt>diff</tt> using <tt>ls -l *PowerPC.dmg | awk '{print $9 " " $5} | sort'</tt>.</p> | ||
+ | </td> | ||
+ | <td>03/19/07</td><td>OPENSTEP</td><td><p>Done</p><p>3/19/07</p></td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Verify that the releasable installer and one or more language packs install and run on Intel for the following Mac OS X versions:</p> | ||
+ | <ul> | ||
+ | <li>10.4.9</li> | ||
+ | <li>1 March 2007 10.5.0 developer seed</li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/19/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Verify that the releasable installer and one or more language packs install and run on PowerPC for the following Mac OS X versions:</p> | ||
+ | <ul> | ||
+ | <li>10.3.9</li> | ||
+ | <li>10.4.9</li> | ||
+ | <li>1 March 2007 10.5.0 developer seed</li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/19/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | </table> | ||
== Website == | == Website == | ||
+ | <table width="100%" border="1"> | ||
+ | |||
+ | <tr> | ||
+ | <td><b>Task</b></td><td width="10%"><b>Due Date</b></td><td width="10%"><b>Assigned</b></td><td width="10%"><b>Status</b></td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Since we are dropping support of NeoOffice 1.2.2 and no longer doing CD sales, remove all pages and links to these in the <tt>download.neooffice.org</tt> website.</p> | ||
+ | <p>Note: here are the overall changes that I made:</p> | ||
+ | <ul> | ||
+ | <li><tt>cvs remove</tt> all files having the name <tt>old*</tt> or <tt>*cd*</tt>.</li> | ||
+ | <li>Delete all links to the pages deleted in the last step found using the following commands:</li> | ||
+ | <pre> | ||
+ | grep -r '<a href=".*cd.*">' * | ||
+ | grep -r '<a href="old.*">' * | ||
+ | </pre> | ||
+ | <li>Commit the changes and <tt>cvs update -Ad</tt> on both of the <tt>www.planamesa.com</tt> and <tt>www.neooffice.org</tt> servers.</li> | ||
+ | <li>Remove any invocations of the <tt>bin/shuffle.sh</tt> script against any of the deleted files using <tt>crontab -e</tt> on both servers.</li> | ||
+ | |||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/14/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Create 2.1 Early Access branch. This branches the existing website to avoid modifying existing website while it is live. Steps:</p> | ||
+ | <ul> | ||
+ | <li>Construct a local checkout of the website: <tt>cvs co web/src/www</tt>.</li> | ||
+ | <li><tt>cvs tag -b NeoOffice-2_1_Early_Access_branch web/src/www</tt></li> | ||
+ | <li>Login to www.planamesa.com</li> | ||
+ | <li><tt>cd www</tt></li> | ||
+ | <li><tt>cvs update -d -rNeoOffice-2_1_Early_Access_branch</tt></li> | ||
+ | <li>Login to hotspare www.neooffice.org</li> | ||
+ | <li><tt>cd /var/www/htdocs/download_root/</tt></li> | ||
+ | <li><tt>cvs update -d -rNeoOffice-2_1_Early_Access_branch</tt></li> | ||
+ | <li><tt>chmod -Rf ug+rw .* *</tt></li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/17/07</td><td>OPENSTEP</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Update all version names, file URLs, and patch version in all of the <tt>earlyaccess*.php</tt> files in the <tt>download.neooffice.org</tt> web pages.</p> | ||
+ | <p>Note: I used the following steps to do this:</p> | ||
+ | <ul> | ||
+ | <li>Update the version name and file URLs by executing the following commands in the <tt>neojava</tt> directory of the web pages. Important: the script excludes the <tt>earlyaccess.php</tt> page as we do not want to remove "Early Access" from those pages:</li> | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | <li>Manually edit the <tt>neojava/welcomelog.php</tt> page and add <tt>NeoOffice 2.1</tt> as another element in the <tt>$logproducts</tt> array.</li> | ||
+ | <li>Reset the patch version to "Patch 0" by executing the following commands in the <tt>neojava</tt> directory of the web pages.</li> | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | <li>Manually edit all of the <tt>earlyaccesspatch.php</tt> pages, uncomment the last table row (the one that says "No patches have been released") and comment out the other two table rows (the PowerPC and Intel patch links).</li> | ||
+ | <li>Manually edit the <tt>neojava/donateredirect.php</tt> page, set <tt>$earlyaccessproduct</tt> to <tt>NeoOffice 2.1</tt>, set <tt>$earlyaccessproductfamily[0]</tt> to <tt>NeoOffice 2.1 Early Access</tt>, and set <tt>$earlyaccesspatch</tt> to <tt>Patch 0</tt>.</li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/19/2007</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Update the 114 language packs' file sizes in all of the <tt>earlyaccessdownload.php</tt> files in the <tt>download.neooffice.org</tt> web pages.</p> | ||
+ | <p>Note: I used the following steps to do this:</p> | ||
+ | <ul> | ||
+ | <li>Get a file containing the new release's file names and the matching file sizes from the NeoOffice 2.1 Early Access release by executing the following command:</li> | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | <li>Get a file containing the new release's file names and the matching file sizes by executing the following commands:</li> | ||
+ | <pre> | ||
+ | ls -l /directory/NeoOffice-2.1/binaries/*Language_Pack*.dmg | \ | ||
+ | awk '{print $9 " " $5}' | \ | ||
+ | sort > /path/to/a/new/file | ||
+ | </pre> | ||
+ | <li>Create a chained list of <tt>sed</tt> commands by executing the following command:</li> | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | <li>Manually edit the file created in the last step and insert the following lines before the first <tt>sed</tt> command:</li> | ||
+ | <pre> | ||
+ | for i in `find . -name "earlyaccessdownload.php" -o -name "header.html"`; do | ||
+ | cat $i | \ | ||
+ | </pre> | ||
+ | <li>Manually edit the same file and insert the following lines after the last <tt>sed</tt> command:</li> | ||
+ | <pre> | ||
+ | cat > $i.tmp | ||
+ | mv $i.tmp $i | ||
+ | done | ||
+ | </pre> | ||
+ | <li><tt>cd</tt> to the <tt>neojava</tt> directory and execute the following command to update all of the file sizes:</li> | ||
+ | <pre> | ||
+ | sh /path/to/file/edited/in/last/step | ||
+ | </pre> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/19/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>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 <tt>cvs update</tt> either of the <tt>www.planamesa.com</tt> or <tt>www.neooffice.org</tt> servers. That will be done as part of the [[#Pre-Release_to_Early_Access_Members|Pre-Release]] tasks. Steps:</p> | ||
+ | <ul> | ||
+ | <li>Construct a local checkout of the website: <tt>cvs co web/src/www</tt>.</li> | ||
+ | <li><tt>cvs tag -b NeoOffice-2_1_Early_Access_2_branch web/src/www</tt></li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/19/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Merge the updates made to the Early Access pages in the <tt>download.neooffice.org</tt> web pages to their matching regular pages.</p> | ||
+ | <p>Note: use the following steps to complete this task:</p> | ||
+ | <ul> | ||
+ | <li>Copy the applicable Early Access pages to their matching regular page by executing the following commands within the <tt>neojava</tt> directory:</li> | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | <li>Replace any Early Access links in the regular pages that were overwritten in the previous step by executing the following commands within the <tt>neojava</tt> directory:</li> | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | <li>Manually edit all of the <tt>download.php</tt> pages, put back the old <tt><a name="download"></tt> section, change any <tt>NeoOffice 2.0 Aqua Beta 3</tt> or <tt>NeoOffice 2.0 Aqua B 3</tt> references to <tt>NeoOffice 2.1</tt>, change any <tt>NeoOffice-2.0_Aqua_Beta_3</tt> references to <tt>NeoOffice-2.1</tt>, and update the two file sizes in this section to the new file sizes.</li> | ||
+ | <li>Manually edit all of the <tt>header.html</tt> pages, uncomment the "Download NeoOffice 2.1 for free" table row, and comment out all of the other Early Access table rows.</li> | ||
+ | <li>Manually edit all of the <tt>index.php</tt> pages, copy the "29 August 2006" line in the "News" section to a new line above it, change the date and version numbers in the new line, and delete the sentence with the download link in the 29 August 2006 line.</li> | ||
+ | <li>Make the Early Access snapshot the snapshot for the <tt>index.php</tt> pages by executing the following commands in the <tt>neojava/images</tt> directory:</li> | ||
+ | <pre> | ||
+ | sh | ||
+ | for i in `find . -name "sample.*"`; do | ||
+ | cp `dirname $i`/earlyaccess`basename $i` $i | ||
+ | done | ||
+ | </pre> | ||
+ | <li>Manually edit all of the <tt>paypalearlyaccess*.php</tt> pages so that users cannot accidently buy Early Access memberships by commenting out the <tt><form>...</form></tt> block, commenting out the PHP <tt>include</tt> command in the <tt><form>...</form></tt> block, and uncommenting the table at the end of the page.</li> | ||
+ | <li>Manually edit the <tt>neojava/welcomelog.php</tt> page, delete all of the <tt>$logproducts</tt> array elements except the first, and set the first to an empty string.</li> | ||
+ | <li>Manually edit the <tt>neojava/donateredirect.php</tt> page, set <tt>$earlyaccessproduct</tt> to an empty string, set <tt>$earlyaccessproductfamily[0]</tt> to an empty string, set <tt>$currentproduct</tt> to <tt>NeoOffice 2.1</tt> and set <tt>$currentpatch</tt> to <tt>Patch 0</tt>.</li> | ||
+ | <li>Manually edit the <tt>neojava/.htaccess</tt> file and uncomment the <tt>RedirectMatch</tt> directive that redirects requests for all <tt>*earlyaccess*.php</tt> pages.</li> | ||
+ | <li>Checkout the pages in a test area of <tt>download.neooffice.org</tt> server and make sure that the download links, patch page, and donation buttons still work. Once verified, delete checkout from the test area.</li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/24/2007</td><td>Narf</td><td>03/25/2007</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td>Obtain the 2 <tt>NeoOffice-2.1-*.torrent</tt> files from the <tt>mirrors.freesmug.org</tt> mirror maintainer and <tt>cvs add</tt> these 2 files in the <tt>neojava/downloads</tt> directory on <tt>download.neooffice.org</tt> website</td> | ||
+ | <td>03/25/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Create a <tt>neojava/press_releases</tt> directory and <tt>cvs add</tt> it to the <tt>download.neooffice.org</tt>. 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 <tt>cvs add</tt> them:</p> | ||
+ | <ul> | ||
+ | <li>English - Save as two files: <tt>NeoOffice_2.1.html.en</tt> and <tt>NeoOffice_2.1.html.html</tt></li> | ||
+ | <li>Other languages - Save using the format <tt>NeoOffice_2.1.html.<two-digit-language-code></tt> replacing <tt><two-digit-language-code></tt> with the standard language code (e.g. <tt>de</tt> for German, <tt>fr</tt> for French, etc.</li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/25/07</td><td>pluby</td><td>Done for English</td> | ||
+ | </tr> | ||
+ | |||
+ | </table> | ||
== Mirrors == | == Mirrors == | ||
Line 72: | Line 552: | ||
<tr> | <tr> | ||
- | <td>Notify rsync server and | + | <td>Notify the rsync server and mirror maintainers that we will be pushing new binaries out to them a few days before the 27 March 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 reelease.</td> |
<td>03/12/07</td><td>pluby</td><td>Done</td> | <td>03/12/07</td><td>pluby</td><td>Done</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
- | <td>Provide list of URLs of binaries and their respective file sizes to the rsync server so that the rsync server can copy them to the rsync server.</td> | + | <td> |
- | <td>03/21/07</td><td> | + | <p>Remove NeoOffice 1.2.2 binaries from mirrors after completing the removal of the links NeoOffice 1.2.2 download pages from the <tt>download.neooffice.org</tt> website (see [[#Website|Website]] section on this page for that task).</p> |
+ | <p>Note: the following steps were used to complete this task:</p> | ||
+ | <ul> | ||
+ | <li>Delete all <tt>*1.2.2*.dmg</tt> files from both of the <tt>www.planamesa.net</tt> and <tt>www.planamesa.org</tt> servers.</li> | ||
+ | <li>Contact the rsync server maintainer and have them delete all <tt>*1.2.2*.dmg</tt> files on the rsync server.</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>download.neooffice.org</tt> website's <tt>neojava/mirrors.php</tt> file.</li> | ||
+ | <li>Contact any mirror maintainers that still have these files to confirm that they are rsynching to the rsync server regularly.</li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/16/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td>Provide list of 116 URLs of binaries and their respective file sizes to the rsync server maintainer so that the rsync server can copy them to the rsync server.</td> | ||
+ | <td>03/21/07</td><td>OPENSTEP</td><td>Done</td> | ||
</tr> | </tr> | ||
Line 84: | Line 578: | ||
<td>Verify that the binaries are available from the rsync server and verify that each of the mirrors has synched them to their site. Try to contact any mirrors that have not synched to see if their is any problem or if the site can no longer be a mirror.</td> | <td>Verify that the binaries are available from the rsync server and verify that each of the mirrors has synched them to their site. Try to contact any mirrors that have not synched to see if their is any problem or if the site can no longer be a mirror.</td> | ||
<td>03/23/07</td><td>pluby</td><td></td> | <td>03/23/07</td><td>pluby</td><td></td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Make room for the new binaries by removing the NeoOffice Aqua Beta 3 binaries from the <tt>www.planamesa.org</tt> and <tt>eap.neooffice.org</tt> mirror sites.</p> | ||
+ | <p>Note: the following steps were used to complete this task:</p> | ||
+ | <ul> | ||
+ | <li>Delete all <tt>*Aqua_Beta_3*.dmg</tt> files from both of the <tt>www.planamesa.net</tt> and <tt>www.planamesa.org</tt> servers.</li> | ||
+ | <li>Remove the <tt>www.planamesa.net</tt> and <tt>www.planamesa.org</tt> servers from the <tt>neojava/mirrors.php</tt> file in the <tt>download.neooffice.org</tt> website.</li> | ||
+ | <li>Login to www.planamesa.com</li> | ||
+ | <li>cd www</li> | ||
+ | <li>cvs update -d -rNeoOffice-2_1_Early_Access_2_branch</li> | ||
+ | <li>Login to hotspare www.neooffice.org</li> | ||
+ | <li>cd /var/www/htdocs/download_root/</li> | ||
+ | <li>cvs update -d -rNeoOffice-2_1_Early_Access_branch</li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/21/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td>Upload the binaries to the <tt>www.planamesa.org</tt> and <tt>eap.neooffice.org</tt> mirror sites listed in the <tt>neojava/mirrors.php</tt> file on the <tt>download.neooffice.org</tt> website.</td> | ||
+ | <td>03/23/07</td><td>pluby</td><td>Done</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
+ | == Pre-Release to Early Access Members== | ||
+ | |||
+ | <table width="100%" border="1"> | ||
+ | |||
+ | <tr> | ||
+ | <td><b>Task</b></td><td width="10%"><b>Due Date</b></td><td width="10%"><b>Assigned</b></td><td width="10%"><b>Status</b></td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td>Copy the 2 NeoOffice 2.1 main installer <tt>NeoOffice-2.1-*.dmg</tt> files from the staging area into the Early Access system's download directory on the <tt>eap.neooffice.org</tt> server and <tt>chmod 444</tt> both files. Important: these 2 files are restricted to Early Access members only and they should <b>not</b> be copied into any public directories.</td> | ||
+ | <td>03/19/07</td><td>OPENSTEP</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td>Copy the 114 NeoOffice 2.1 language pack installer <tt>NeoOffice-2.1-Language_Pack*.dmg</tt> files from the staging area into the <tt>neojava/downloads</tt> directory on the <tt>eap.neooffice.org</tt> server and <tt>chmod 444</tt> all the files in that directory. Since these installers are useless without having already installed NeoOffice 2.1, it is OK that these files are in a public directory.</td> | ||
+ | <td>03/19/07</td><td>OPENSTEP</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td>Upload the 2 NeoOffice 2.1 main installer <tt>NeoOffice-2.1-*.dmg</tt> files from the staging area into each of the Early Access mirror URLs listed in the <tt>downloads/index.php</tt> file on the <tt>eap.neooffice.org</tt> website.</td> | ||
+ | <td>03/19/07</td><td>pluby</td><td>Done on 03/21/07 when this feature was implemented</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Make the NeoOffice 2.1 binaries active in the Early Access system.</p> | ||
+ | <p>Note: the following steps need to be done one after the other as quickly as possible to minimize the number of users that experience disruption or errors while the swithover is taking place:</p> | ||
+ | <ul> | ||
+ | <li>Update the <tt>download.neooffice.org</tt> website using the following steps:</li> | ||
+ | <ul> | ||
+ | <li>Login to www.planamesa.com</li> | ||
+ | <li><tt>cd www</tt></li> | ||
+ | <li><tt>cvs update -d -rNeoOffice-2_1_Early_Access_2_branch</tt></li> | ||
+ | <li>Login to hotspare www.neooffice.org</li> | ||
+ | <li><tt>cd /var/www/htdocs/download_root/</tt></li> | ||
+ | <li><tt>cvs update -d -rNeoOffice-2_1_Early_Access_2_branch</tt></li> | ||
+ | <li><tt>chmod -Rf ug+rw .* *</tt></li> | ||
+ | </ul> | ||
+ | <li>Login to the <tt>www.planamesa.net</tt> server and perform the following steps:</li> | ||
+ | <ul> | ||
+ | <li>Run the Early Access database backup script so that we have a backup in case any damage to the database occurs in the next steps.</li> | ||
+ | <li>Login to the Early Access database and change the download filename by executing the following SQL query:</li> | ||
+ | <pre> | ||
+ | update paypal_items | ||
+ | set filename = 'NeoOffice-2.1' | ||
+ | where filename = 'NeoOffice-2.1_Early_Access'; | ||
+ | </pre> | ||
+ | <li>In a web browser, to the [http://eap.neooffice.org/downloads/index.php Early Access Program member's page], login, verify that only the new NeoOffice 2.1 files are listed, and verify that the download links actually start a download.</li> | ||
+ | <li>Run the Early Access database backup script again so that we have a backup after the above database changes.</li> | ||
+ | <li>In the Early Access database, execute the following SQL query to obtain a list of the active Early Access members:</li> | ||
+ | <pre> | ||
+ | select payer_email from paypal_payments, paypal_items | ||
+ | where paypal_payments.item_number = paypal_items.item_number; | ||
+ | </pre> | ||
+ | <li>Send an e-mail using the <tt>bin/eap_mailing.ph</tt> script to all of the members in the query from the Early Access support e-mail address notifying the members that they can download the NeoOffice 2.1 release between now and the official release date through the Early Access system.</li> | ||
+ | </ul> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/20/07</td><td>OPENSTEP</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td>Add "2.1" as a version in [http://bugzilla.neooffice.org/ Bugzilla].</td> | ||
+ | <td>03/21/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td><p>Close all bugs with a status of "Resolved" by setting the following field values:</p> | ||
+ | <ul> | ||
+ | <li>Set "Status" field to "Closed"</li> | ||
+ | <li>Set "Resolution" field to "Fixed"</li> | ||
+ | <li>Set "Target Version" field to "2.1"</li> | ||
+ | <li>Set "Closed in Version" field to "2.1"</li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/21/07</td><td>mickeyinlalaland</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td>Delete the 114 obsolete NeoOffice 2.1 Early Access language pack installer <tt>NeoOffice-2.1_Early_Access-Language_Pack*.dmg</tt> files from the <tt>neojava/downloads</tt> directory on the <tt>eap.neooffice.org</tt> server.</td> | ||
+ | <td>03/21/07</td><td>OPENSTEP</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td>Delete the 2 NeoOffice 2.1 Early Access main installer <tt>*.dmg</tt> files from the Early Access system's download directory on the <tt>eap.neooffice.org</tt> server.</td> | ||
+ | <td>03/21/07</td><td>OPENSTEP</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td>Delete the 2 obsolete NeoOffice 2.1 Early Access language pack installer <tt>NeoOffice-2.1_Early_Access-*.dmg</tt> files from the <tt>neojava/downloads</tt> directory on the <tt>eap.neooffice.org</tt> server.</td> | ||
+ | <td>03/21/07</td><td>OPENSTEP</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | |||
+ | <tr> | ||
+ | <td>Delete the 2 obsolete NeoOffice 2.1 Early Access patch installer <tt>NeoOffice-2.1_Early_Access-Patch-*.dmg</tt> files from the <tt>neojava/downloads/patches</tt> directory on the <tt>eap.neooffice.org</tt> server.</td> | ||
+ | <td>03/21/07</td><td>OPENSTEP</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | </table> | ||
== Release == | == Release == | ||
+ | |||
+ | <table width="100%" border="1"> | ||
+ | |||
+ | <tr> | ||
+ | <td><b>Task</b></td><td width="10%"><b>Due Date</b></td><td width="10%"><b>Assigned</b></td><td width="10%"><b>Status</b></td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Make the release available on the <tt>download.neooffice.org</tt> website by doing the following steps:</p> | ||
+ | <ul> | ||
+ | <li>Login to www.planamesa.com</li> | ||
+ | <li><tt>cd www</tt></li> | ||
+ | <li><tt>cvs update -Ad</tt></li> | ||
+ | <li>Login to hotspare www.neooffice.org</li> | ||
+ | <li><tt>cd /var/www/htdocs/download_root/</tt></li> | ||
+ | <li><tt>cvs update -Ad</tt></li> | ||
+ | <li><tt>chmod -Rf ug+rw .* *</tt></li> | ||
+ | <li>Load the [http://download.neooffice.org/neojava/ download.neooffice.org] website in a web browser and make sure that the download links, patch page, and donation buttons still work.</li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/26/07</td><td>OPENSTEP</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <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>03/26/07</td><td>OPENSTEP</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td>Post a release announcement to the [http://download.neooffice.org/neojava/contact.php NeoJUpdate mailing list].</td> | ||
+ | <td>03/26/07</td><td>OPENSTEP</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td> | ||
+ | <p>Shut down the Early Access member's site using the following steps:</p> | ||
+ | <ul> | ||
+ | <li>Construct a local checkout of the website: <tt>cvs co web/src/planamesa.net</tt></li> | ||
+ | <li><tt>cd web/src/planamesa.net/downloads</tt>, manually edit the .htaccess file, uncomment the <tt>RedirectMatch</tt> directive, and <tt>cvs commit</tt> the file.</li> | ||
+ | <li><tt>cd web/src/planamesa.net</tt> and invoke <tt>tar zcvf ~/planamesa.net.tar.gz .htaccess *</tt></li> | ||
+ | <li>Upload the <tt>planamesa.net.tar.gz</tt> file to the <tt>stuff</tt> directory on the <tt>www.planamesa.net</tt> server.</li> | ||
+ | <li>Login to the <tt>www.planamesa.net</tt> server, <tt>cd ~</tt>, <tt>chmod 400 ~/stuff/planamesa.net.tar.gz</tt>, and <tt>tar zxvf ~/stuff/planamesa.net.tar.gz</tt>.</li> | ||
+ | <li>Load the [http://eap.neooffice.org/downloads/index.php Early Access member's site] in a web browser and verify that your browser is redirected to the [http://download.neooffice.org/neojava/download.php NeoOffice 2.1 download page].</li> | ||
+ | <li>Delete the 2 NeoOffice 2.1 main installer *.dmg files from the Early Access system's download directory on the <tt>eap.neooffice.org</tt> server.</li> | ||
+ | <li>Delete each of the expired NeoOffice 2.1 Early Access memberships (but do not delete the NeoOffice 2.x Early Access subscriptions) in the <tt>paypal_items</tt> table.</li> | ||
+ | <li>Run the Early Access database backup script so that we have a backup in case any damage to the database occurs in the next steps.</li> | ||
+ | <li>Download copies of the backups to permanent backup media.</li> | ||
+ | <li>Notify the maintainer of the <tt>neo.caslab.queensu.ca</tt> mirror that they can delete their Early Access binaries directory.</li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/26/07</td><td>pluby</td><td>Done</td> | ||
+ | </tr> | ||
+ | |||
+ | |||
+ | <tr bgcolor="lightgreen"> | ||
+ | <td> | ||
+ | <p>Remove NeoOffice Aqua Beta 3 binaries from mirrors using the following steps:</p> | ||
+ | <ul> | ||
+ | <li>Delete all <tt>*Aqua_Beta*.dmg</tt> files, if they have not been deleted earlier, from the <tt>neojava/downloads</tt> directory both of the <tt>www.planamesa.net</tt> and <tt>www.planamesa.org</tt> servers.</li> | ||
+ | <li>Delete all <tt>*Aqua_Beta*.dmg</tt> patch files from the <tt>neojava/downloads/patches</tt> directory on the <tt>www.planamesa.net</tt> server.</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>Contact the rsync server maintainer and have them delete all <tt>*Aqua_Beta*.dmg</tt> files on the rsync server.</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>download.neooffice.org</tt> website's <tt>neojava/mirrors.php</tt> file.</li> | ||
+ | <li>Contact any mirror maintainers that still have these files to confirm that they are rsynching to the rsync server regularly.</li> | ||
+ | </ul> | ||
+ | </td> | ||
+ | <td>03/26/07</td><td>OPENSTEP</td><td></td> | ||
+ | </tr> | ||
+ | |||
+ | </table> |
Current revision
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.1 Early Access build. However, in order to fix a few ooo-build bugs found in NeoOffice 2.1 Early Access, we need to upgrade to a newer ooo-build tag. Also, we are going to bundle the latest Akua icon set. These two changes will mean that in this release, there will not be a patch that upgrades a NeoOffice 2.1 Early Access installation.
Task | Due Date | Assigned | Status |
Create NeoOffice-2_1_Early_Access_branch branch from the HEAD branch for NeoOffice 2.1 Early Access so that we can continue to do bug fixes and release Patches while we aer working on this release. Note: After creating the branch, I invoked the following command in my NeoOffice 2.1 Early Access workspace to ensure that I don't accidently pull NeoOffice 2.1 changes into my build: cvs update -r NeoOffice-2_1_Early_Access_branch |
03/13/07 | pluby | Done |
Perform a clean checkout of the HEAD branch and set build to build with a new version and NeoOffice trademarked product name. This includes the following steps:
|
03/14/07 | pluby | Done |
Upgrade the build to use ooo-build's newer OOO_BUILD_2_1_7 tag. TODO: Fill in detail steps that I performed |
03/14/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 |
03/14/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 |
03/16/07 | OPENSTEP | Done 3/17/07 |
Verify that none of the 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) |
03/16/07 | pluby | Done |
Verify that none of the PowerPC build's executables or libraries link to any X11 libraries. Note: Use the same steps as used for the matching Intel task. |
03/16/07 | OPENSTEP | Done No X11 Dependencies 3/17/07 |
Modify and test bin/installutils* sripts to not treat NeoOffice 2.1 Early Access as a match. In this release, we do not want the installer to preserve the Early Access language pack resource files as some are incompatible with this build and will show as blank text. Also, we don't want the language pack or patch installer to upgrade an Early Access installation as it corrupt that installation. Note: I tested this code by building the installer, language packs, and patch installer and then doing the following steps:
|
03/15/07 | pluby | Done |
Change the order in the makefile in which icon files in etc/package are added to the installer's share/config/images*.zip files etc/package in the following sequence:
|
03/16/07 | pluby | Done |
Commit and test updated icon files in etc/package.
|
03/16/07 | OPENSTEP | 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 . |
03/16/07 | pluby | Done |
Merge any NeoOffice 2.1 Early Access bug fixes committed to the NeoOffice-2_1_Early_Access_branch branch. Note: As of 03/15/2007, I have already merged the fixes included in NeoOffice 2.1 Early Access Patch 2 Test 1. On 03/17/2007 I refixed bug 1971 in vcl module. |
03/18/07 | pluby | Done |
Tag the code in the HEAD branch with the NeoOffice-2_1 tag. 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:
|
03/18/07 | OPENSTEP | Done 3/18/07 |
Create releasable NeoOffice 2.1 build for Intel. Note: the following steps are overkill, but they ensure that all recent changes to the NeoOffice custom code has been built:
|
03/19/07 | pluby | Done |
Create releasable NeoOffice 2.1 build for PowerPC. Note: Use the same steps as used for the matching Intel task. |
03/19/07 | OPENSTEP | 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:
hdiutil create -srcfolder /path/to/NeoOffice-2.1/directory \ -format UDTO -ov -o /path/to/output/NeoOffice-2.1.cdr sftp all 58 files up to staging server and chmod 444 *.dmg all of the files on the staging server. diff the ls -l *Intel.dmg | awk '{print $9 " " $5} | sort' output of the files on the server and in local NeoOffice-2.1 directory. |
03/19/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 ls -l *PowerPC.dmg | awk '{print $9 " " $5} | sort'. |
03/19/07 | OPENSTEP | Done 3/19/07 |
Verify that the releasable installer and one or more language packs install and run on Intel for the following Mac OS X versions:
|
03/19/07 | pluby | Done |
Verify that the releasable installer and one or more language packs install and run on PowerPC for the following Mac OS X versions:
|
03/19/07 | pluby | Done |
Website
Task | Due Date | Assigned | Status |
Since we are dropping support of NeoOffice 1.2.2 and no longer doing CD sales, remove all pages and links to these in the download.neooffice.org website. Note: here are the overall changes that I made:
grep -r '<a href=".*cd.*">' * grep -r '<a href="old.*">' * |
03/14/07 | pluby | Done |
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 by HeapSys and our volunteer mirrors obtain the NeoOffice binaries by nightly runs of the following command on their mirrors:
rsync -r --delete rsync://www.heapsys.com/ftp/ /path/to/NeoOffice/mirror/directory
Task | Due Date | Assigned | Status |
Notify the rsync server and mirror maintainers that we will be pushing new binaries out to them a few days before the 27 March 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 reelease. | 03/12/07 | pluby | Done |
Remove NeoOffice 1.2.2 binaries from mirrors after completing the removal of the links NeoOffice 1.2.2 download pages from the download.neooffice.org website (see Website section on this page for that task). Note: the following steps were used to complete this task:
|
03/16/07 | pluby | Done |
Provide list of 116 URLs of binaries and their respective file sizes to the rsync server maintainer so that the rsync server can copy them to the rsync server. | 03/21/07 | OPENSTEP | Done |
Verify that the binaries are available from the rsync server and verify that each of the mirrors has synched them to their site. Try to contact any mirrors that have not synched to see if their is any problem or if the site can no longer be a mirror. | 03/23/07 | pluby | |
Make room for the new 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:
|
03/21/07 | pluby | Done |
Upload the binaries to the www.planamesa.org and eap.neooffice.org mirror sites listed in the neojava/mirrors.php file on the download.neooffice.org website. | 03/23/07 | pluby | Done |
Pre-Release to Early Access Members
Task | Due Date | Assigned | Status |
Copy the 2 NeoOffice 2.1 main installer NeoOffice-2.1-*.dmg files from the staging area into the Early Access system's download directory on the eap.neooffice.org server and chmod 444 both files. Important: these 2 files are restricted to Early Access members only and they should not be copied into any public directories. | 03/19/07 | OPENSTEP | Done |
Copy the 114 NeoOffice 2.1 language pack installer NeoOffice-2.1-Language_Pack*.dmg files from the staging area into the neojava/downloads directory on the eap.neooffice.org server and chmod 444 all the files in that directory. Since these installers are useless without having already installed NeoOffice 2.1, it is OK that these files are in a public directory. | 03/19/07 | OPENSTEP | Done |
Upload the 2 NeoOffice 2.1 main installer NeoOffice-2.1-*.dmg files from the staging area into each of the Early Access mirror URLs listed in the downloads/index.php file on the eap.neooffice.org website. | 03/19/07 | pluby | Done on 03/21/07 when this feature was implemented |
Make the NeoOffice 2.1 binaries active in the Early Access system. Note: the following steps need to be done one after the other as quickly as possible to minimize the number of users that experience disruption or errors while the swithover is taking place:
update paypal_items set filename = 'NeoOffice-2.1' where filename = 'NeoOffice-2.1_Early_Access'; select payer_email from paypal_payments, paypal_items where paypal_payments.item_number = paypal_items.item_number; |
03/20/07 | OPENSTEP | Done |
Add "2.1" as a version in Bugzilla. | 03/21/07 | pluby | Done |
Close all bugs with a status of "Resolved" by setting the following field values:
|
03/21/07 | mickeyinlalaland | Done |
Delete the 114 obsolete NeoOffice 2.1 Early Access language pack installer NeoOffice-2.1_Early_Access-Language_Pack*.dmg files from the neojava/downloads directory on the eap.neooffice.org server. | 03/21/07 | OPENSTEP | Done |
Delete the 2 NeoOffice 2.1 Early Access main installer *.dmg files from the Early Access system's download directory on the eap.neooffice.org server. | 03/21/07 | OPENSTEP | Done |
Delete the 2 obsolete NeoOffice 2.1 Early Access language pack installer NeoOffice-2.1_Early_Access-*.dmg files from the neojava/downloads directory on the eap.neooffice.org server. | 03/21/07 | OPENSTEP | Done |
Delete the 2 obsolete NeoOffice 2.1 Early Access patch installer NeoOffice-2.1_Early_Access-Patch-*.dmg files from the neojava/downloads/patches directory on the eap.neooffice.org server. | 03/21/07 | OPENSTEP | 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 |