Releases/Firefox 3.5.5/BuildNotes

From MozillaWiki
Jump to: navigation, search

Build Engineers

catlee https://bugzilla.mozilla.org/show_bug.cgi?id=525814

Signed-off Revision(s)

Build1: c204f7bb0064

Tags

On releases/mozilla-1.9.1:

Build # Tag Changeset
1 FIREFOX_3_5_5_BUILD1 FIREFOX_3_5_5_RELEASE 57f71400f4cf

Build data

Build # Type Build ID Build machine
1 [Windows installer/zip] 20091102152451 moz2-win32-slave57
[Mac compressed] 20091102134505 moz2-darwin9-slave18
[Linux compressed] 20091102141836 moz2-linux-slave22

Notes

  • Useful docs and FAQs here.
  • Done on production-master02

Build 1

  • Cleaned up all possible linux and mac slaves
  • Win32 slaves: moz2-win32-slave[52-59]
    • /e/builds/moz2_slave/{win32_build,win32_repack,win32_update_verify}/*
  • Landed version bump, reconfig'ed production-master02
  • Kicked off automation:
 buildbot sendchange --username=catlee --master=localhost:9010 --branch=releases/mozilla-1.9.1 -m "Firefox 3.5.5 build1" GOOOO

Socorro product data updates

  • Pinged IT to add the following entries to the Socorro db:
insert into productdims (product, version, branch, release) values ('Firefox','3.5.5', '1.9.1', 'major');
insert into productdims (product, version, branch, release) values ('Firefox','3.5.6pre', '1.9.1', 'development');

bug 525957

Tag

No problems. Tagged build/{tools,buildbotcustom,buildbot-configs} with FIREFOX_3_5_5_RELEASE.

Source

No problems

Build/Repack

Linux build died because hg.m.o died. Cleaned up linux slave, and re-built linux build. Ran

 python force_release_l10n.py -m http://localhost:8010 -t FIREFOX_3_5_5_RELEASE -v -b releases/mozilla-1.9.1 -p linux -n catlee

to re-trigger l10n builds.

11 win32 repacks failed when two slaves hadn't been cleaned out properly. Ran

PYTHONPATH=../../:../../buildbot python force_release_l10n.py -m http://production-master02.build.mozilla.org:8010 -v -t FIREFOX_3_5_5_RELEASE -s shipped-locales-win32 -n nthomas

with shipped-locales for ar bn-BD ca cy eo eu it kn mk ml ta-LK.

Removed en-US.xpi from 3.5.5-candidates/build1/ dir.

Sign

L10nVerify

Unexpected output:

diff -r firefox-3.5.5-build1/diffs/win32.tr.diff firefox-3.5.4-build3/diffs/win32.tr.diff
0a1
> Binary files source/bin/AccessibleMarshal.dll and target/bin/AccessibleMarshal.dll differ
21a23,24
> Binary files source/bin/components/browserdirprovider.dll and target/bin/components/browserdirprovider.dll differ
> Binary files source/bin/components/brwsrcmp.dll and target/bin/components/brwsrcmp.dll differ
34a38
> Binary files source/bin/crashreporter.exe and target/bin/crashreporter.exe differ
205a210,216
> Binary files source/bin/firefox.exe and target/bin/firefox.exe differ
> Binary files source/bin/js3250.dll and target/bin/js3250.dll differ
> Binary files source/bin/mozcrt19.dll and target/bin/mozcrt19.dll differ
> Binary files source/bin/nspr4.dll and target/bin/nspr4.dll differ
> Binary files source/bin/nss3.dll and target/bin/nss3.dll differ
> Binary files source/bin/nssckbi.dll and target/bin/nssckbi.dll differ
> Binary files source/bin/nssutil3.dll and target/bin/nssutil3.dll differ
210a222,224
> Binary files source/bin/plc4.dll and target/bin/plc4.dll differ
> Binary files source/bin/plds4.dll and target/bin/plds4.dll differ
> Binary files source/bin/plugins/npnul32.dll and target/bin/plugins/npnul32.dll differ
212a227,229
> Binary files source/bin/smime3.dll and target/bin/smime3.dll differ
> Binary files source/bin/sqlite3.dll and target/bin/sqlite3.dll differ
> Binary files source/bin/ssl3.dll and target/bin/ssl3.dll differ
218a236
> Binary files source/bin/updater.exe and target/bin/updater.exe differ
225a244,245
> Binary files source/bin/xpcom.dll and target/bin/xpcom.dll differ
> Binary files source/bin/xul.dll and target/bin/xul.dll differ

which indicates a difference between en-US and tr for 3.5.4 build3. That locale was rebuilt after the main repack run (bug 522989), and from the 3.5.4 notes we see that tr was signed like en-US rather than use the re-signing mode (for which there are no proper docs FIXME). So these differences will just be in the small part of the executables where signature is stored. Partly confirmed by comparing the unsigned bits for 3.5.4build3 en-US and tr, which don't exhibit this problem.

Generate updates and push betatest snippets

No problems, backupsnip didn't fail with verbose output enabled.

3.5.3 -> 3.5.5 updates

Disconnected slave from buildbot

Patched moz191-branch-patcher2.cfg

Ran:

 perl patcher2.pl --download --app=firefox --brand=Firefox --config=patcher-configs/moz191-branch-patcher2.cfg

Got one warning:

 read_past_updates(): Invalid past-update specification:

Ran:

 perl patcher2.pl --create-patches --partial-patchlist-file=patchlist-353.cfg --app=firefox --brand=Firefox --config=patcher-configs/moz191-branch-patcher2.cfg

Died with:

 Exception: cmd failed mar -x /builds/slave/updates/build/temp/firefox/3.5.5/ftp/firefox-3.5.5.en-GB.linux-i686.complete.mar

Assumed the disk was full (only 342 MB free)

Clobbered temp/firefox/3.5.3-3.5.5, and rm -rf linux-fennec-*. 3.4 GB free.

Re-ran patcher.

Died again. Removed mozilla-1.9.1-linux*, /builds/scratchbox/users/ctlbld/home/cltbld/build/*. 11 GB fre.

Re-ran patcher. It succeeded this time!

 find temp/firefox/3.5.3-3.5.5/ftp/firefox/nightly/3.5.5-candidates/build1 -type f -exec chmod 644 {} \;
 find temp/firefox/3.5.3-3.5.5/ftp/firefox/nightly/3.5.5-candidates/build1 -type d -exec chmod 755 {} \;
 cd temp/firefox/3.5.3-3.5.5/ftp/firefox/nightly/3.5.5-candidates/build1
 rsync -av -e "ssh -oIdentityFile=$HOME/.ssh/ffxbld_dsa" --exclude=*complete.mar update ffxbld@stage-old.mozilla.org:/pub/mozilla.org/firefox/nightly/3.5.5-candidates/build1/
 cd ../../../../..
 rsync -av aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20091103-Firefox-3.5.3-3.5.5-partials
 rsync -av aus2.test cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20091103-Firefox-3.5.3-3.5.5-partials-test
 rsync -av aus2.beta cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20091103-Firefox-3.5.3-3.5.5-partials-beta

On aus2-staging:

  # Fix up bad rsync above
  cd 20091103-Firefox-3.5.3-3.5.5-partials-test; mv aus2.test/Firefox .; rm -rf aus2.test
  cd 20091103-Firefox-3.5.3-3.5.5-partials-beta; mv aus2.beta/Firefox .; rm -rf aus2.beta
 ~/bin/backupsnip 20091103-Firefox-3.5.3-3.5.5-partials-test && ~/bin/pushsnip 20091103-Firefox-3.5.3-3.5.5-partials-test

Update verify

Automated runs green for all platforms.

3.5.3 -> 3.5.5 update verify

Checked in this patch and kicked the update_verify builders on pm02.

  • Linux: green
  • Mac: green
  • Windows: green

Publish updates to beta channel

be sure to push the 3.5.3 -> 3.5.5 beta snippets in addition to the normal ones

Update Bouncer

No problems

Final checks before push

   cd /pub/mozilla.org/firefox/nightly/3.5.5-candidates/build1/
   find . ! -user ffxbld
   find . ! -group firefox
   find . -type f ! -perm 644
   find . -type d -mindepth 1 ! -perm 755 ! -name 'contrib*'
   find . -type d -maxdepth 1 ! -perm 2775  -name 'contrib*'

Only showed solaris contrib builds, which is expected.

Push to mirrors

 # ffxbld@stage
 rsync -av --exclude=*.log --exclude=*.txt --exclude=*unsigned* /pub/mozilla.org/firefox/nightly/3.5.5-candidates/build1/ /pub/mozilla.org/firefox/releases/3.5.5/
 # cltbld@stage
 vim /pub/mozilla.org/zz/rsyncd-mozilla-current.exclude
 # replace 3.5.4 with 3.5.5

Virus Scan

Poked IT to scan files bug 526761

Final Verification

Reverted patch c8ff41800fa2, then kicked final_verification.

A few 404 errors from two different mirrors. All files checked out when tested manually. Apparently we started checking for en-US again to determine when mirrors were available.

Push updates to release channel

~/bin/pushsnip 20091102-Firefox-3.5.5
~/bin/pushsnip 20091103-Firefox-3.5.3-3.5.5-partials

And when QA is ready for the beta channel

~/bin/pushsnip 20091102-Firefox-3.5.5-beta
~/bin/pushsnip 20091103-Firefox-3.5.3-3.5.5-partials-beta

bug 526928 to push this patch live and unthrottle 3.5, 3.5.1, 3.5.2, and 3.5.3.

Release

cd /home/ftp/pub/firefox/releases 
rm latest-3.5 && ln -s 3.5.5 latest-3.5

XULRunner build

Created the builds by going to the buildbot waterfall for mozilla-1.9.1 and forcing builds for linux (not x64), mac and windows xulrunner. Set the branch to 'releases/mozilla-1.9.1' and revision to 'FIREFOX_3_5_5_RELEASE'.

When they finished, as xrbld@stage moved the dir from /pub/mozilla.org/xulrunner/nightly/2009/11/2009-11-03-07-mozilla-1.9.1/ to ..../nightly/1.9.1.5-candidates/build1. Removed the broken symlink at xulrunner/nightly/2009-11-03-07-mozilla-1.9.1. Contacted mfinkle and dtownsend for smoketest QA.

Won't be shipping XULRunner builds because of a bad regression, fix will be in 1.9.1.6.

3.0.15 -> 3.5.x Major Update Refresh

Snippet Generation

On fx-linux-1.9-slave2:

cd /builds
rm -rf tags/FIREFOX_3_0_15_BUILD3 tags/THUNDERBIRD_3_0a2_BUILD1 updates/firefox-3.0.15

mkdir -p /builds/3.0.15-3.5.5-major-update/snippets
cd /builds/3.0.15-3.5.5-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.5.5 3.0.15-3.5.5
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 releasetest = beta = release. New in 3.0.15 we now use a new dir for beta

cd temp/firefox/3.0.15-3.5.5
# 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

New in 3.0.15 - 3 dirs to sync now instead of 2

cd /builds/3.0.15-3.5.5-major-update/snippets/patcher/temp/firefox/3.0.15-3.5.5
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20091105-Firefox-3.0.15-3.5.5-MU-test
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.beta/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20091105-Firefox-3.0.15-3.5.5-MU-beta
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20091105-Firefox-3.0.15-3.5.5-MU
Enable test snippets
ssh -i ~/.ssh/aus2 cltbld@aus2-staging
cd /opt/aus2/snippets/staging
screen
~/bin/backupsnip 20091105-Firefox-3.0.15-3.5.5-MU-test
~/bin/pushsnip   20091105-Firefox-3.0.15-3.5.5-MU-test
Update verify

Ran update verify on fx-{linux,mac,win32}-1.9-slave2 as follows:

mkdir -p /builds/verify/firefox-3015-355-major/
cd /builds/verify/firefox-3015-355-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

Check logs for results - whatever is after "succeeded".

Linux complete snippet for the af locale was busted due to a 0-byte download during snippet generation. Edited the af locale with the correct values and pushed to test channels again.

-bash-3.2$ ~/bin/pushsnip 20091105-Firefox-3.0.15-3.5.5-MU-test
Running /usr/bin/rsync -PaO /opt/aus2/snippets/staging/20091105-Firefox-3.0.15-3.5.5-MU-test/ /opt/aus2/incoming/3
building file list ... 
1304 files to consider
./
Firefox/3.0.15/Linux_x86-gcc3/2009101600/af/betatest/complete.txt
         455 100%    0.00kB/s    0:00:00 (xfer#1, to-check=867/1304)
Firefox/3.0.15/Linux_x86-gcc3/2009101600/af/releasetest/complete.txt
         405 100%  395.51kB/s    0:00:00 (xfer#2, to-check=864/1304)

sent 32405 bytes  received 70 bytes  21650.00 bytes/sec
total size is 317668  speedup is 9.78

Went back and did the partial snippets too.

-bash-3.2$ ~/bin/pushsnip 20091105-Firefox-3.0.15-3.5.5-MU-test
Running /usr/bin/rsync -PaO /opt/aus2/snippets/staging/20091105-Firefox-3.0.15-3.5.5-MU-test/ /opt/aus2/incoming/3
building file list ... 
1304 files to consider
Firefox/3.0.15/Linux_x86-gcc3/2009101600/af/betatest/partial.txt
         454 100%    0.00kB/s    0:00:00 (xfer#1, to-check=866/1304)
Firefox/3.0.15/Linux_x86-gcc3/2009101600/af/releasetest/partial.txt
         404 100%  394.53kB/s    0:00:00 (xfer#2, to-check=863/1304)

sent 32405 bytes  received 64 bytes  64938.00 bytes/sec
total size is 317680  speedup is 9.78

Ran update_verify for just this locale:

 ./verify.sh -c moz19-firefox-linux-major.cfg.af 2>&1 | tee linux-af.log
Results
All locales:

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

(fr) Only in ..../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

(mn)
    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

(uk) Only in source/firefox/searchplugins: price-ua.xml

Linux:

Mac:
All locales:
    Only in source/Firefox.app/Contents/MacOS/plugins: Default Plugin.plugin
    Only in source/Firefox.app/Contents/MacOS/res/cursors: CVS
    Contents of source/Firefox.app/Contents/MacOS/plugins/Default Plugin.plugin dir 
    only in source or target
    1681264092    0 drwxr-xr-x    4 cltbld   cltbld        136 Nov  6 09:14 source/Firefox.app/Contents/MacOS/plugins/Default Plugin.plugin/Contents
    1681264093    0 drwxr-xr-x    2 cltbld   cltbld         68 Nov  6 09:14 source/Firefox.app/Contents/MacOS/plugins/Default Plugin.plugin/Contents/MacOS
    1681264095    0 drwxr-xr-x    3 cltbld   cltbld        102 Nov  6 09:14 source/Firefox.app/Contents/MacOS/plugins/Default Plugin.plugin/Contents/Resources
    1681264096    0 drwxr-xr-x    2 cltbld   cltbld         68 Nov  6 09:14 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

Win32:
All locales:
    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
Publish updates to beta and release channels

First verify that AUS is throttling 3.0.15 beta and release - AUS config

88 $productThrottling = array(
89      'Firefox' => array(
90          '3.0.15' => 0
91      )
92 );
...
106 $throttleExceptions = array(
107     '3.0.15' => array (
108         'betatest',
109         'releasetest'
110     )
111 );

In preparation

# cltbld@aus2-staging
time ~/bin/backupsnip 20091105-Firefox-3.0.15-3.5.5-MU
real    64m59.166s
user    1m0.947s
sys     1m53.271s

After smoke-signal from driver

~/bin/pushsnip 20091105-Firefox-3.0.15-3.5.5-MU-beta
~/bin/pushsnip 20091105-Firefox-3.0.15-3.5.5-MU