Releases/Firefox 2.0.0.20 MU 2/BuildNotes
Release Engineers
Nick Thomas
Bugs
bug 487521 - tracking bug
bug ??? - nulls for partners
DONE TO HERE
Generate Major Update Snippets
These are for the "vanilla" builds we're going to update.
Update these config files
- CVS:mozilla/tools/patcher-configs/moz18-branch-major-update-patcher2.cfg
- HG: build/tools/release/updates/moz18-firefox-{linux,mac,win32}-major.cfg
with review as usual.
Then generate the snippets
# ssh cltbld@production-prometheus-vm.build.mozilla.org mkdir -p /builds/2.0.0.20-3.0.9-major-update/snippets cd /builds/2.0.0.20-3.0.9-major-update/snippets cvs -d:ext:cltbld@cvs.mozilla.org:/cvsroot co -r UPDATE_PACKAGING_R7 -d patcher mozilla/tools/patcher cd patcher cvs -d:ext:cltbld@cvs.mozilla.org:/cvsroot co -r UPDATE_PACKAGING_R7 -d MozBuild mozilla/tools/release/MozBuild cd ../ cvs -d:ext:cltbld@cvs.mozilla.org:/cvsroot co -d patcher-configs mozilla/tools/patcher-configs cd patcher export CVSROOT=:ext:cltbld@cvs.mozilla.org:/cvsroot # build tools ./patcher2.pl --build-tools --app=firefox --tools-rev=UPDATE_PACKAGING_R7 --config=../patcher-configs/moz18-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox_build-tools.log # download mars ./patcher2.pl --download --app=firefox --config=../patcher-configs/moz18-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.0.9 2.0.0.20-3.0.9 cd ../.. # Create partial patches and snippets ./patcher2.pl --create-patches --app=firefox --config=../patcher-configs/moz18-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox-create-patches.log
Separate out beta snippets
cd temp/firefox/2.0.0.20-3.0.9
rsync -a aus2/ aus2.beta/
find aus2.beta/ -type d -name "release" -exec rm -rfv {} \;
find aus2/ -type d -name "beta" -exec rm -rfv {} \;
Quick verify
This has changed a bit from last time because we haven't shipped 3.0.9 yet. Therefore we have to do QA using betatest pointing at the candidates dir, then 3.0.9 ships and we later go to beta (using bouncer), and later still enable the release channel (bouncer again). So we want releasetest == beta == release and accept that betatest is different.
# 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");'
# releasetest == release
find aus2.test -type d -iregex '.*releasetest.*' | perl -nle '$a = $_; $a =~ s/releasetest/release/; $a =~ s/aus2\.test/aus2/; system("diff -r -u $_ $a");'
find aus2 -type d -iregex '.*/release$' | perl -nle '$a = $_; $a =~ s/release$/releasetest/; $a =~ s/aus2/aus2.test/; system("diff -r -u $_ $a");'
No differences found.
Push to AUS
cd /builds/2.0.0.20-3.0.9-major-update/snippets/patcher/temp/firefox/2.0.0.20-3.0.9 rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20090414-Firefox-2.0.0.20-3.0.9-MU rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.beta/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20090414-Firefox-2.0.0.20-3.0.9-MU-beta rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20090414-Firefox-2.0.0.20-3.0.9-MU-test
Enable test snippets
Safe to do this without doing null snippets because we're only talking about betatest and releasetest, where no end-users of partner builds will be falling back to (metrics website confirms).
~/bin/backupsnip 20090414-Firefox-2.0.0.20-3.0.9-MU-test ~/bin/pushsnip 20090414-Firefox-2.0.0.20-3.0.9-MU-test
Update verify
Ran update verify on fx-{linux,mac,win32}-1.9-slave2 as follows:
mkdir -p /builds/verify/firefox-20020-309-major/ cd /builds/verify/firefox-20020-309-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 -L -O patch https://bugzilla.mozilla.org/attachment.cgi?id=367544 patch -p3 < patch # everyone ... platform=linux # or mac or win32 cd ../updates ./verify.sh -c moz18-firefox-$platform-major.cfg 2>&1 | tee $platform.log
Logs look fine, and unchanged from last time. Each platform has some standard differences, here's Linux
diff -r source/firefox/defaults/pref/channel-prefs.js target/firefox/defaults/pref/channel-prefs.js 1c1 < //@line 2 "/builds/tinderbox/Fx-Mozilla1.8-release/Linux_2.4.21-53.EL_Depend/mozilla/browser/app/profile/channel-prefs.js" --- > //@line 2 "/builds/tinderbox/Fx-Mozilla1.9-Release/Linux_2.6.18-53.1.13.el5_Depend/mozilla/browser/app/profile/channel-prefs.js" Only in source/firefox/extensions: inspector@mozilla.org Only in source/firefox/extensions: talkback@mozilla.org Contents of source/firefox/extensions/inspector@mozilla.org dir only in source or target 442669 4 drwxr-xr-x 2 cltbld cltbld 4096 Apr 15 00:22 source/firefox/extensions/inspector@mozilla.org/components 442671 4 drwxr-xr-x 3 cltbld cltbld 4096 Dec 17 10:13 source/firefox/extensions/inspector@mozilla.org/defaults 442672 4 drwxr-xr-x 2 cltbld cltbld 4096 Apr 15 00:22 source/firefox/extensions/inspector@mozilla.org/defaults/preferences 442670 4 drwxr-xr-x 2 cltbld cltbld 4096 Apr 15 00:22 source/firefox/extensions/inspector@mozilla.org/chrome Contents of source/firefox/extensions/talkback@mozilla.org dir only in source or target 442674 4 drwxr-xr-x 3 cltbld cltbld 4096 Apr 15 00:22 source/firefox/extensions/talkback@mozilla.org/components 442675 4 drwxr-xr-x 2 cltbld cltbld 4096 Apr 15 00:22 source/firefox/extensions/talkback@mozilla.org/components/talkback WARN: non-binary files found in diff WARN: check_updates returned warning for Linux_x86-gcc3 downloads/firefox-2.0.0.20.tar.gz vs. downloads/firefox-3.0.9.af.linux-i686.tar.bz2: 2
- The channel-prefs.js is a harmless comment change due the path on the build machine changing and us exlicitly not including that file in the complete mar
- extensions/{inspector@mozilla.org,talkback@mozilla.org} are trees of empty dirs. We've removed all the files but the updater can't remove dirs (for safety), no problem because the Addons manager does that for us
- Some locales also give messages like (eg be), due to them removing those plugins from the 3.0 build but we can't remove them for only some locales. Better user experience if the stuff you use is not vanished anyway
Only in source/firefox/searchplugins: amazondotcom.xml Only in source/firefox/searchplugins: answers.xml Only in source/firefox/searchplugins: creativecommons.xml Only in source/firefox/searchplugins: eBay.xml
Enable beta snippets
Generate Null Partner Snippets
Create snippets
Push live
Verify nulls
Enable release snippets
For the vanilla builds.