Releases/Firefox 3.0.18/BuildNotes

From MozillaWiki
Jump to: navigation, search

Build Engineer(s)

jhford, nthomas

Tracking release bug

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

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)