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

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.8-release/Darwin_8.7.0_Depend/mozilla/browser/app/profile/channel-prefs.js"
---
> //@line 2 "/builds/tinderbox/Fx-Mozilla1.9-Release/Darwin_8.8.4_Depend/mozilla/browser/app/profile/channel-prefs.js"
Only in source/Firefox.app/Contents/MacOS/extensions: inspector@mozilla.org
Only in source/Firefox.app/Contents/MacOS/extensions: talkback@mozilla.org
Only in source/Firefox.app/Contents/MacOS: init.d
Only in source/Firefox.app/Contents/MacOS: updates
Contents of source/Firefox.app/Contents/MacOS/extensions/inspector@mozilla.org dir only in source or target
1482817926    0 drwxr-xr-x    2 cltbld   cltbld         68 Apr 15 00:25 source/Firefox.app/Contents/MacOS/extensions/inspector@mozilla.org/chrome
1482817927    0 drwxr-xr-x    2 cltbld   cltbld         68 Apr 15 00:25 source/Firefox.app/Contents/MacOS/extensions/inspector@mozilla.org/components
1482817928    0 drwxr-xr-x    3 cltbld   cltbld        102 Dec 17 11:32 source/Firefox.app/Contents/MacOS/extensions/inspector@mozilla.org/defaults
1482817930    0 drwxr-xr-x    2 cltbld   cltbld         68 Apr 15 00:25 source/Firefox.app/Contents/MacOS/extensions/inspector@mozilla.org/defaults/preferences
Contents of source/Firefox.app/Contents/MacOS/extensions/talkback@mozilla.org dir only in source or target
1482817932    0 drwxr-xr-x    3 cltbld   cltbld        102 Apr 15 00:25 source/Firefox.app/Contents/MacOS/extensions/talkback@mozilla.org/components
1482817933    0 drwxr-xr-x    3 cltbld   cltbld        102 Apr 15 00:25 source/Firefox.app/Contents/MacOS/extensions/talkback@mozilla.org/components/talkback
1482817934    0 drwxr-xr-x    3 cltbld   cltbld        102 Dec 17 11:32 source/Firefox.app/Contents/MacOS/extensions/talkback@mozilla.org/components/talkback/Talkback.app
1482817935    0 drwxr-xr-x    4 cltbld   cltbld        136 Apr 15 00:25 source/Firefox.app/Contents/MacOS/extensions/talkback@mozilla.org/components/talkback/Talkback.app/Contents
1482817936    0 drwxr-xr-x    2 cltbld   cltbld         68 Apr 15 00:25 source/Firefox.app/Contents/MacOS/extensions/talkback@mozilla.org/components/talkback/Talkback.app/Contents/MacOS
1482817937    0 drwxr-xr-x    3 cltbld   cltbld        102 Apr 15 00:25 source/Firefox.app/Contents/MacOS/extensions/talkback@mozilla.org/components/talkback/Talkback.app/Contents/Resources
1482817938    0 drwxr-xr-x    7 cltbld   cltbld        238 Apr 15 00:25 source/Firefox.app/Contents/MacOS/extensions/talkback@mozilla.org/components/talkback/Talkback.app/Contents/Resources/English.lproj
1482817939    0 drwxr-xr-x    2 cltbld   cltbld         68 Apr 15 00:25 source/Firefox.app/Contents/MacOS/extensions/talkback@mozilla.org/components/talkback/Talkback.app/Contents/Resources/English.lproj/ArchivingSettings.nib
1482817940    0 drwxr-xr-x    2 cltbld   cltbld         68 Apr 15 00:25 source/Firefox.app/Contents/MacOS/extensions/talkback@mozilla.org/components/talkback/Talkback.app/Contents/Resources/English.lproj/IntroWizard.nib
1482817941    0 drwxr-xr-x    2 cltbld   cltbld         68 Apr 15 00:25 source/Firefox.app/Contents/MacOS/extensions/talkback@mozilla.org/components/talkback/Talkback.app/Contents/Resources/English.lproj/MainMenu.nib
1482817942    0 drwxr-xr-x    2 cltbld   cltbld         68 Apr 15 00:25 source/Firefox.app/Contents/MacOS/extensions/talkback@mozilla.org/components/talkback/Talkback.app/Contents/Resources/English.lproj/ProxySettings.nib
1482817943    0 drwxr-xr-x    2 cltbld   cltbld         68 Apr 15 00:25 source/Firefox.app/Contents/MacOS/extensions/talkback@mozilla.org/components/talkback/Talkback.app/Contents/Resources/English.lproj/SendingSettings.nib
Contents of source/Firefox.app/Contents/MacOS/init.d dir only in source or target
Contents of source/Firefox.app/Contents/MacOS/updates dir only in source or target
1482817979    0 drwxr-xr-x    2 cltbld   cltbld         68 Dec 17 11:32 source/Firefox.app/Contents/MacOS/updates/0
WARN: non-binary files found in diff
WARN: check_updates returned warning for Darwin_Universal-gcc3 downloads/Firefox 2.0.0.20.dmg vs. downloads/firefox-3.0.9.af.mac.dmg: 2
  • the same again, there are more dirs for talkback (.nib)
  • empty init.d dir can't be removed but is harmless
  • updates dir is from testing method I think

Win32

Only in source/bin: .autoreg
diff -r source/bin/defaults/pref/channel-prefs.js target/bin/defaults/pref/channel-prefs.js
1c1
< //@line 2 "/cygdrive/c/builds/tinderbox/Fx-Mozilla1.8-Release/WINNT_5.2_Depend/mozilla/browser/app/profile/channel-prefs.js"
---
> //@line 2 "e:\fx19rel\WINNT_5.2_Depend\mozilla\browser\app\profile\channel-prefs.js"
Only in source/bin/extensions: inspector@mozilla.org
Only in source/bin/extensions: talkback@mozilla.org
Binary files source/bin/freebl3.chk and target/bin/freebl3.chk differ
Only in source/bin: removed-files
Binary files source/bin/softokn3.chk and target/bin/softokn3.chk differ
Contents of source/bin/extensions/inspector@mozilla.org dir only in source or target
239195    0 drwxr-xr-x   3 cltbld   Administ        0 Apr 15 00:27 source/bin/extensions/inspector@mozilla.org/chrome
239196    0 drwxr-xr-x   3 cltbld   Administ        0 Apr 15 00:27 source/bin/extensions/inspector@mozilla.org/chrome/icons
239197    0 drwxr-xr-x   2 cltbld   Administ        0 Apr 15 00:27 source/bin/extensions/inspector@mozilla.org/chrome/icons/default
239201    0 drwxr-xr-x   2 cltbld   Administ        0 Apr 15 00:27 source/bin/extensions/inspector@mozilla.org/components
239203    0 drwxr-xr-x   3 cltbld   Administ        0 Apr 15 00:27 source/bin/extensions/inspector@mozilla.org/defaults
239204    0 drwxr-xr-x   2 cltbld   Administ        0 Apr 15 00:27 source/bin/extensions/inspector@mozilla.org/defaults/preferences
Contents of source/bin/extensions/talkback@mozilla.org dir only in source or target
239209    0 drwxr-xr-x   2 cltbld   Administ        0 Apr 15 00:27 source/bin/extensions/talkback@mozilla.org/components
FAIL: binary files found in diff
FAIL: check_updates returned failure for WINNT_x86-msvc downloads/Firefox Setup 2.0.0.20.exe vs. downloads/firefox-3.0.9.af.win32.installer.exe: 1
  • .autoreg is normal difference when updating (required?)
  • freebl3.chk and softoke3.chk diff is ok, still valid check files bug 404340
  • removed-files is for the regeneration of uninstall logs (IIRC)

Announced to r-d

Enable beta snippets

Generate Null Partner Snippets

Create snippets

Push live

Verify nulls

Enable release snippets

For the vanilla builds.