Releases/Firefox 3.0.18/BuildNotes
Contents
- 1 Build Engineer(s)
- 2 Bonsai queries
- 3 Tags
- 4 Notes
- 4.1 Build 1
- 4.1.1 Tag
- 4.1.2 Source
- 4.1.3 Build & Repack
- 4.1.4 Sign
- 4.1.5 L10nVerify
- 4.1.6 Generate Updates
- 4.1.7 Publish Updates to Test Channels (betatest & releasetest)
- 4.1.8 Update Verify
- 4.1.9 Stage
- 4.1.10 XULRunner
- 4.1.11 3.0.18 -> 3.6 Major Update Refresh
- 4.1.12 Push updates to beta channel
- 4.1.13 Sign Installers
- 4.1.14 Update Bouncer
- 4.1.15 Push to mirrors
- 4.1.16 Final Verification
- 4.1.17 Publish Updates to Release Channel
- 4.1.18 Release
- 4.1.19 Release matching XULRunner build
- 4.1 Build 1
Build Engineer(s)
jhford, nthomas
Bonsai queries
Tags
Build 1:
Module | Branch | Tag | Pull date |
cvsroot/mozilla | HEAD | GECKO190_20100203_RELBRANCH | 2010-02-02 11:31 PST |
GECKO190_20100203_RELBRANCH | FIREFOX_3_0_18_BUILD1 FIREFOX_3_0_18_RELEASE | 2010-02-02 18:33 PST | |
l10n/l10n | HEAD | GECKO190_20100203_RELBRANCH | 2009-09-22 05:34 PDT |
GECKO190_20100203_RELBRANCH | FIREFOX_3_0_18_BUILD1 FIREFOX_3_0_18_RELEASE | 2010-02-02 18:55 PST |
Notes
Build 1
- on fx-linux-1.9-slave2:
- rm -rf /builds/verify/{firefox-20020-3015-major,firefox-3015-36b4-major,firefox-3.0.17,firefox-3017-357-major,firefox-3017-36rc1-major,firefox-3.0.17-final,firefox-355-36b4-major,firefox-357-36final-major,firefox-357-36rc1-major}/ /builds/source/firefox-3.0.17/ /builds/data/cltbld/firefox-3.0.17 /builds/tinderbox/Fx-Mozilla1.9-l10n-Release/Linux_2.6.18-53.1.13.el5_Depend/ /builds/tinderbox/Fx-Mozilla1.9-Release/Linux_2.6.18-53.1.13.el5_Depend/ /builds/tags/* /builds/3.0.17-3.5.7-major-update/ /builds/updates/firefox-3.0.17/
- On fx-mac-1.9-slave2:
- rm -rf /builds/verify/firefox-3.0.17/ /builds/verify/firefox-3017-357-major
- On fx-win32-1.9-slave2 deleted:
- /e/xr19rel/WINNT_5.2_Depend
- /e/fx19l10nrel/WINNT_5.2_Depend
- /e/fx19rel/WINNT_5.2_Depend
- Available space on slaves:
- fx-linux-1.9-slave2 39 GB on /builds
- fx-mac-1.9-slave2 26 GB on /
- fx-win32-1.9-slave2 14.2 GB on D: / 14.1 GB on E:
- landed automation config and tagged with RELEASE_AUTOMATION_M15_1
- checked for local changes (dummy factories) in production-1.9-master:/builds/buildbot/trunk-automation-master/buildbot-configs, reconfiged to get exception; buildbot stop and start.
- tagged hg:build/tools with FIREFOX_3_0_18_RELEASE
- Kicked off automation:
buildbot sendchange --username=jhford --master=localhost:9989 -m"Firefox 3.0.18build1 release" RunForestRun!
Tag
No problems were experienced. Version bumps were landed [1]
Source
No problems were experienced
Build & Repack
No problems were experienced
Sign
No Problems were experienced
L10nVerify
no problems
Generate Updates
no problems
Publish Updates to Test Channels (betatest & releasetest)
no problems
Update Verify
no problems aside from the normal .chk file differences. I used
curl http://production-1.9-master.build.mozilla.org:8810/builders/win32_update_verify/builds/22/steps/shell_8/logs/stdio 2>/dev/null|grep differ
to ensure that the only files that were no the same were softokn3.chk and freebl3.chk
Stage
No problems
XULRunner
May not be needed, depending on feedback to this newsgroup post.
3.0.18 -> 3.6 Major Update Refresh
- version bumps for patcher config and update verify config
Snippet Generation
On fx-linux-1.9-slave2:
mkdir -p /builds/3.0.18-3.6-major-update/snippets cd /builds/3.0.18-3.6-major-update/snippets cvs -d:ext:cltbld@cvs.mozilla.org:/cvsroot co -d patcher-configs mozilla/tools/patcher-configs cvs -d:ext:cltbld@cvs.mozilla.org:/cvsroot co -r UPDATE_PACKAGING_R9 -d patcher mozilla/tools/patcher cd patcher cvs -d:ext:cltbld@cvs.mozilla.org:/cvsroot co -r UPDATE_PACKAGING_R9 -d MozBuild mozilla/tools/release/MozBuild export CVSROOT=:ext:cltbld@cvs.mozilla.org:/cvsroot # build tools ./patcher2.pl --build-tools --app=firefox --tools-rev=UPDATE_PACKAGING_R9 --config=../patcher-configs/moz19-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox_build-tools.log # download mars ./patcher2.pl --download --app=firefox --config=../patcher-configs/moz19-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox_download.log # FIXME - patcher needs to see that the MARs that it thinks are partials # are there or else it will not attempt to generate patchinfo cd temp/firefox ln -s 3.6 3.0.18-3.6 cd ../.. # Create partial patches and snippets ./patcher2.pl --create-patches --app=firefox --config=../patcher-configs/moz19-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox-create-patches.log
Quick Verify
Check that betatest releasetest = beta = release (normally betatest would be different but 3.6 is well shipped and all the channels point at bouncer this time).
cd temp/firefox/3.0.18-3.6 # betatest == releasetest find aus2.test -type d -iregex '.*/betatest$' | perl -nle '$a = $_; $a =~ s/betatest/releasetest/; system("diff -r -u $_ $a");' find aus2.test -type d -iregex '.*/releasetest$' | perl -nle '$a = $_; $a =~ s/releasetest/betatest/; system("diff -r -u $_ $a");' # releasetest == beta find aus2.test -type d -iregex '.*/releasetest$' | perl -nle '$a = $_; $a =~ s/releasetest/beta/; $a =~ s/aus2\.test/aus2.beta/; system("diff -r -u $_ $a");' find aus2.beta -type d -iregex '.*/beta$' | perl -nle '$a = $_; $a =~ s/beta$/releasetest/; $a =~ s/aus2\.beta/aus2.test/; system("diff -r -u $_ $a");' # beta == release find aus2.beta -type d -iregex '.*/beta$' | perl -nle '$a = $_; $a =~ s/aus2\.beta/aus2/; $a =~ s/beta/release/; system("diff -r -u $_ $a");' find aus2 -type d -iregex '.*/release$' | perl -nle '$a = $_; $a =~ s/release$/beta/; $a =~ s/aus2/aus2.beta/; system("diff -r -u $_ $a");'
Push to AUS
cd /builds/3.0.18-3.6-major-update/snippets/patcher/temp/firefox/3.0.18-3.6 rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20100204-Firefox-3.0.18-3.6-MU-test rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.beta/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20100204-Firefox-3.0.18-3.6-MU-beta rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20100204-Firefox-3.0.18-3.6-MU
Enable test snippets
ssh -i ~/.ssh/aus2 cltbld@aus2-staging.mozilla.org
~/bin/backupsnip 20100204-Firefox-3.0.18-3.6-MU-test ~/bin/pushsnip 20100204-Firefox-3.0.18-3.6-MU-test
Update verify
Ran update verify on fx-{linux,mac,win32}-1.9-slave2 as follows:
mkdir -p /builds/verify/firefox-3018-36-major/ cd /builds/verify/firefox-3018-36-major/ hg clone http://hg.mozilla.org/build/tools # get patch to trawl "Only in" directories cd tools/release/common # on mac & linux curl -sL https://bugzilla.mozilla.org/attachment.cgi?id=367544 | patch -p3 # on win32 wget --no-check-certificate -O patch https://bugzilla.mozilla.org/attachment.cgi?id=367544§ patch -p3 < patch # everyone ... cd ../updates platform=linux # or mac or win32 ./verify.sh -c moz19-firefox-$platform-major.cfg 2>&1 | tee $platform.log
Results
Windows:
Only in source/bin: .autoreg diff -r source/bin/defaults/pref/channel-prefs.js target/bin/defaults/pref/channel-prefs.js 1c1 < //@line 2 "e:\fx19rel\WINNT_5.2_Depend\mozilla\browser\app\profile\channel-prefs.js" --- > //@line 2 "e:\builds\moz2_slave\win32_build\build\browser\app\profile\channel-prefs.js" Binary files source/bin/freebl3.chk and target/bin/freebl3.chk differ Binary files source/bin/nssdbm3.chk and target/bin/nssdbm3.chk differ Only in source/bin: removed-files Binary files source/bin/softokn3.chk and target/bin/softokn3.chk differ
3x chk files are expected (until bug 489961 is resolved), .autoreg and removed-files are OK, and harmless comment change in channel-prefs.js
Mac:
diff -r source/Firefox.app/Contents/MacOS/defaults/pref/channel-prefs.js target/Firefox.app/Contents/MacOS/defaults/pref/channel-prefs.js 1c1 < //@line 2 "/builds/tinderbox/Fx-Mozilla1.9-Release/Darwin_8.8.4_Depend/mozilla/browser/app/profile/channel-prefs.js" --- > //@line 2 "/builds/slave/macosx_build/build/browser/app/profile/channel-prefs.js" Only in source/Firefox.app/Contents/MacOS/plugins: Default Plugin.plugin Only in source/Firefox.app/Contents/MacOS/res/cursors: CVS Only in source/Firefox.app/Contents: Plug-Ins Contents of source/Firefox.app/Contents/MacOS/plugins/Default Plugin.plugin dir only in source or target 1770374064 0 drwxr-xr-x 4 cltbld cltbld 136 Feb 4 18:53 source/Firefox.app/Contents/MacOS/plugins/Default Plugin.plugin/Contents 1770374066 0 drwxr-xr-x 2 cltbld cltbld 68 Feb 4 18:53 source/Firefox.app/Contents/MacOS/plugins/Default Plugin.plugin/Contents/MacOS 1770374067 0 drwxr-xr-x 3 cltbld cltbld 102 Feb 4 18:53 source/Firefox.app/Contents/MacOS/plugins/Default Plugin.plugin/Contents/Resources 1770374068 0 drwxr-xr-x 2 cltbld cltbld 68 Feb 4 18:53 source/Firefox.app/Contents/MacOS/plugins/Default Plugin.plugin/Contents/Resources/English.lproj Contents of source/Firefox.app/Contents/MacOS/res/cursors/CVS dir only in source or target Contents of source/Firefox.app/Contents/Plug-Ins dir only in source or target 1770374096 0 drwxr-xr-x 3 cltbld cltbld 102 Feb 2 20:10 source/Firefox.app/Contents/Plug-Ins/PrintPDE.plugin 1770374097 0 drwxr-xr-x 4 cltbld cltbld 136 Feb 4 18:53 source/Firefox.app/Contents/Plug-Ins/PrintPDE.plugin/Contents 1770374098 0 drwxr-xr-x 2 cltbld cltbld 68 Feb 4 18:53 source/Firefox.app/Contents/Plug-Ins/PrintPDE.plugin/Contents/MacOS 1770374099 0 drwxr-xr-x 3 cltbld cltbld 102 Feb 2 20:10 source/Firefox.app/Contents/Plug-Ins/PrintPDE.plugin/Contents/Resources 1770374100 0 drwxr-xr-x 3 cltbld cltbld 102 Feb 4 18:53 source/Firefox.app/Contents/Plug-Ins/PrintPDE.plugin/Contents/Resources/English.lproj 1770374101 0 drwxr-xr-x 2 cltbld cltbld 68 Feb 4 18:53 source/Firefox.app/Contents/Plug-Ins/PrintPDE.plugin/Contents/Resources/English.lproj/PrintPDE.nib
Some empty directories (which the updater can't remove) and the harmless comment change.
Linux: harmless comment change
diff -r source/firefox/defaults/pref/channel-prefs.js target/firefox/defaults/pref/channel-prefs.js 1c1 < //@line 2 "/builds/tinderbox/Fx-Mozilla1.9-Release/Linux_2.6.18-53.1.13.el5_Depend/mozilla/browser/app/profile/channel-prefs.js" --- > //@line 2 "/builds/slave/linux_build/build/browser/app/profile/channel-prefs.js"
Locale specific: leftover searchplugins
- fr
Only in source/firefox/searchplugins: MediaDICO-fr.xml
- hu
Only in source/firefox/searchplugins: amazondotcom.xml Only in source/firefox/searchplugins: answers.xml Only in source/firefox/searchplugins: eBay.xml Only in source/firefox/searchplugins: yahoo.xml
- it
Only in source/firefox/searchplugins: demauro.xml
- uk
Only in source/firefox/searchplugins: price-ua.xml
Locale specific: no locale for 3.6
- mn
FAIL: no partial update found for https://aus2.mozilla.org/update/1/Firefox/3.0.18/2010020219/Linux_x86-gcc3/mn/betatest/update.xml?force=1 FAIL: download_mars returned non-zero exit code: 1
Fix buildID's in snippets
The linux and windows buildIDs for 3.6 had been switched in the patcher config. Fixed by moving the first round of snippets into a backup directory, adjusting the config, running the last command of Snippet Generation. Diffing each aus2 directory against the backup confirmed the only changes were the buildIDs. Then all of Quick Verify, Push To AUS, and Enable test snippets. New dirs are 20100210-Firefox-3.0.18-3.6-MU{,-beta,-test}.
Push updates to beta channel
# cltbld@aus2-staging.m.o # make sure scripts are up to date cd bin cvs update ~/bin/backupsnip 20100203-Firefox-3.0.18-beta
~/bin/pushsnip 20100203-Firefox-3.0.18-beta
Sign Installers
- Done manually on the day before release using these installer-signing-instructions here
On Stage complete stage-merged:
# cltbld@stage cd /data/cltbld/firefox-3.0.18/ rsync -av batch1/mar/ stage-merged/ rsync -av batch1/stage-signed/ stage-merged/
Create MD5 and SHA1 checksum files
# on stage cd /data/cltbld/firefox-3.0.18/stage-merged/ ~/bin/checksum-files .
Fix permissions & ownership (on the two SUM files, and the detached sigs)
chown -R cltbld:firefox . chmod 644 *SUMS
Update Bouncer
Added with bouncer buddy, including solaris entries for tarballs and complete updates.
Push to mirrors
- push the stage-merged directory to the releases area:
# ffxbld@stage rsync -av /data/cltbld/firefox-3.0.18/stage-merged/ /home/ftp/pub/firefox/releases/3.0.18/
- edit the exclude file (as cltbld) /pub/mozilla.org/zz/rsyncd-mozilla-current.exclude to add the new release (3.0.18) and remove the previous release (3.0.17).
Final Verification
On any machine with reasonable net connection
- I chose fx-linux-1.9-slave2.build
- Nick removed mirrorservice.org
hg clone http://hg.mozilla.org/build/tools cd tools/release/updates cat moz19-firefox-{win32,mac,linux}.cfg | grep -v major | sed 's/betatest/releasetest/' > update.cfg ./verify.sh -t update.cfg 2>&1 | tee quickVerify.log
Look for any HTTP error codes besides 200 ("OK") and 302 ("Found"):
grep HTTP quickVerify.log | grep -v 200 | grep -v 302
Repeat for major update files
cat moz19-firefox-{win32,mac,linux}-major.cfg | grep -v major | sed 's/betatest/releasetest/' > update-mu.cfg ./verify.sh -t update-mu.cfg 2>&1 | tee quickVerify-MU.log grep HTTP quickVerify-MU.log | grep -v 200 | grep -v 302
Before pushing final updates, verify that "release" and "releasetest" channel match:
# on aus2-staging cd /opt/aus2/snippets/staging/20100203-Firefox-3.0.18 find -type d -iregex '.*release.*' | perl -nle '$a = $_; $a =~ s/release/releasetest/; system("diff -r -u $_ ../20100203-Firefox-3.0.18-test/$a");'
Publish Updates to Release Channel
Since bug 508406 we should run backupsnip every time we push for a given code branch, and not rely on it being run elsewhere. This will take about 10 minutes to run and can be done ahead of time:
~/bin/backupsnip 20100203-Firefox-3.0.18
After go email from driver:
~/bin/pushsnip 20100203-Firefox-3.0.18
Provided pascal has all the billboards done we can enable the major update
~/bin/backupsnip 20100210-Firefox-3.0.18-3.6-MU-beta ~/bin/pushsnip 20100210-Firefox-3.0.18-3.6-MU-beta ~/bin/pushsnip 20100210-Firefox-3.0.18-3.6-MU
No throttling changes to make.
Release
# ffxbld@stage cd /home/ftp/pub/firefox/releases rm latest-3.0 && ln -s 3.0.18 latest-3.0
Release matching XULRunner build
No longer required (bug 544678)