Releases/Firefox 4.0b1/BuildNotes

From MozillaWiki
Jump to: navigation, search

Build Engineers

  • rail

Tracking bug

Signed-off Revision(s)

Tags

On mozilla-central:

Build # Tag Changeset
1 GECKO20b1_20100628_RELBRANCH d08120d3792e
FIREFOX_4_0b1_BUILD1 9874f5c5cb63
2 FIREFOX_4_0b1_BUILD2, FIREFOX_4_0b1_RELEASE 65c30e4ee631

Build data

Build # Type Build ID Build machine
1 [Windows installer/zip] 20100628211307 mw32-ix-slave03
[Mac dmg] 20100628201214 bm-xserve17
[Mac64 dmg] 20100628201518 moz2-darwin10-slave07
[Linux compressed] 20100628202324 mv-moz2-linux-ix-slave07
[Linux64 compressed] 20100628201409 moz2-linux64-slave03
2 [Windows installer/zip] 20100630141702 mw32-ix-slave03
[Mac dmg] 20100630131607 bm-xserve17
[Mac64 dmg] 20100630131936 moz2-darwin10-slave07
[Linux compressed] 20100630132217 mv-moz2-linux-ix-slave07
[Linux64 compressed] 20100630132356 moz2-linux64-slave03

Notes

  • Done on pm

Build 1

  • Clobbered any releases on pm with clobberer
  • Started pm master (had been shutdown because it's unused)
  • Moved the following slaves to pm:
    • mv-moz2-linux-ix-slave07
    • moz2-linux64-slave03
    • bm-xserve17
    • moz2-darwin10-slave07
    • mw32-ix-slave03
  • Landed config update in repo
  • Manually tagged configs, buildbotcustom, and tools with FIREFOX_4_0b1_BUILD1 and FIREFOX_4_0b1_RELEASE
  • Removed *.pyc from moz2-master/ and reconfig'd pm
  • mozilla-central already closed
  • sendchange:
buildbot sendchange --username=nthomas --master=localhost:9010 --branch=mozilla-central -m "Firefox 4.0b1 build1" Go

Tag

No problems. Landed 0483e52295f6 for version bump and reopened mozilla-central.

Source

No problems.

Build

Linux build failed the hg clone of mozilla-central. Set a clobber for pm/mozilla-central/linux_build and forced a second build. Otherwise fine.

Unit tests

All platforms browser-chrome

This is part of mochitest-other fails, eg linux32:

TEST-START | chrome://mochikit/content/browser/toolkit/mozapps/extensions/test/browser/browser_bug562890.js
TEST-PASS | chrome://mochikit/content/browser/toolkit/mozapps/extensions/test/browser/browser_bug562890.js | Should have an add-ons manager window
TEST-PASS | chrome://mochikit/content/browser/toolkit/mozapps/extensions/test/browser/browser_bug562890.js | Should be displaying the correct UI
TEST-PASS | chrome://mochikit/content/browser/toolkit/mozapps/extensions/test/browser/browser_bug562890.js | Prefs button should be hidden for addon with no optionsURL set
TEST-UNEXPECTED-FAIL | chrome://mochikit/content/browser/toolkit/mozapps/extensions/test/browser/browser_bug562890.js | Prefs button should be shown for addon with a optionsURL set - Got true, expected false
TEST-INFO | chrome://mochikit/content/browser/toolkit/mozapps/extensions/test/browser/browser_bug562890.js | Console message: [JavaScript Error: "this._lastStatus is null" {file: "chrome://browser/content/browser.js" line: 9606}]
TEST-INFO | chrome://mochikit/content/browser/toolkit/mozapps/extensions/test/browser/browser_bug562890.js | Console message: [JavaScript Error: "this._lastStatus is null" {file: "chrome://browser/content/browser.js" line: 9606}]
TEST-INFO | chrome://mochikit/content/browser/toolkit/mozapps/extensions/test/browser/browser_bug562890.js | Console message: [JavaScript Warning: "Unknown property 'border-radius'.  Declaration dropped." {file: "https://addons.mozilla.org/media/css/zamboni/discovery-pane-min.css?build=033e8bb" line: 1}]
TEST-UNEXPECTED-FAIL | chrome://mochikit/content/browser/toolkit/mozapps/extensions/test/browser/browser_bug562890.js | Timed out
TEST-UNEXPECTED-FAIL | chrome://mochikit/content/browser/toolkit/mozapps/extensions/test/browser/browser_bug562890.js | Found an unexpected tab at the end of test run: about:addons
TEST-INFO | checking window state

philor filed bug 575524. Fixed on relbranch.

macosx64 xpcshell

Hit bug 561350 - test_punycodeURIs.js times out - which keeps this suite hidden on the Firefox tree. Ignorable.

mac32 crashtest

Had a hang:

REFTEST INFO | Loading a blank page
REFTEST TEST-START | file:///builds/slave/release-macosx-unittest-crashtest/build/reftest/tests/layout/svg/crashtests/478511-1.svg
REFTEST TEST-PASS | file:///builds/slave/release-macosx-unittest-crashtest/build/reftest/tests/layout/svg/crashtests/478511-1.svg | (LOAD ONLY)
REFTEST INFO | Loading a blank page
TEST-UNEXPECTED-FAIL | file:///builds/slave/release-macosx-unittest-crashtest/build/reftest/tests/layout/svg/crashtests/478511-1.svg | application timed out after 330 seconds with no output
Can't trigger Breakpad, just killing process
No bug on file, consistent in 3 runs. Possibly from running on builder rather than mini. Sent this to the minis to cross check:
# talos-master02
buildbot sendchange --master=localhost:9012 -u nthomas -b mozilla-central-macosx-opt-unittest -r 9874f5c5cb63 http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build1/mac/en-US/Firefox%204.0%20Beta%201.dmg http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build1/mac/en-US/Firefox%204.0%20Beta%201.tests.zip

Fails when installdmg.sh doesn't cope when given a file with %20 in it. Make some temporary symlinks on ftp (should have quoted filenames) and redo

buildbot sendchange --master=localhost:9012 -u nthomas -b mozilla-central-macosx-opt-unittest -r 9874f5c5cb63 http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build1/mac/en-US/Firefox4.0Beta1.dmg http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build1/mac/en-US/Firefox4.0Beta1.tests.zip

Crashtest is green from this, and in two more runs on minis, so lets put this down to testing in the wrong place. CONDITIONAL PASS

macosx64 reftest

Hit this:

REFTEST TEST-UNEXPECTED-FAIL | file:///builds/slave/release-macosx64-unittest-reftest/build/reftest/tests/layout/reftests/font-matching/synthetic-bold-2.html | (!=)

No bug on file, consistent in 3 runs. Possibly from running on builder rather than mini. Sent this to the minis to cross check:

# test-master01
buildbot sendchange --master=localhost:9012 -u nthomas -b mozilla-central-macosx64-opt-unittest -r 9874f5c5cb63 http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build1/mac64/en-US/Firefox4.0Beta1.dmg http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build1/mac64/en-US/Firefox4.0Beta1.tests.zip

Was green on mini three times. CONDITIONAL PASS.

Sign

en-US.xpi removed from stage:

[ffxbld@surf build1]$ cd /pub/mozilla.org/firefox/nightly/4.0b1-candidates/build1
[ffxbld@surf build1]$ mv en-US.xpi ~/en-US_4.0b1.xpi

Run usual signing script:

#!/bin/bash
set -x
set -e

PRODUCT=firefox
VERSION=4.0b1
BUILD=1
TAG=FIREFOX_4_0b1_RELEASE
REPO="mozilla-central"
EMAIL=rail@mozilla.com
KEYDIR=d:/2009-keys

mkdir -p ~/signing-work/${PRODUCT}-${VERSION}
cd ~/signing-work/${PRODUCT}-${VERSION}
cd ~/hg-tools
hg pull
hg up -r ${TAG}
cd -

mkdir -p ~/signing-work/${PRODUCT}-${VERSION}
cd ~/signing-work/${PRODUCT}-${VERSION}
cp ~/hg-tools/release/signing/* .

make PRODUCT=${PRODUCT} VERSION=${VERSION} \
  BUILD=${BUILD} REPO=${REPO} EMAIL=${EMAIL} \
  KEYDIR=${KEYDIR} USE_NEW=1

Failed copying and signing XPI files (the same as for the alphas). Signing process continued:

make checksum-files create-sigs stage verify verify-sigs fake-upload \
  PRODUCT=${PRODUCT} VERSION=${VERSION} BUILD=${BUILD} REPO=${REPO} \
  EMAIL=${EMAIL} KEYDIR=${KEYDIR} USE_NEW=1

Inspected stdout, signing log. They looked good. Ran the following:

make postsign PRODUCT=${PRODUCT} VERSION=${VERSION} \
    BUILD=${BUILD} REPO=${REPO} EMAIL=${EMAIL}

Got "Signature verification succeeded" email

L10N verification

Failed. Expected because we don't ship L10N this time.

Updates

No problems

Update verify

Failed downloading the previous release from /pub/mozilla.org//firefox/releases/3.7a5 instead of /pub/mozilla.org//firefox/releases/devpreview/1.9.3a5. Proposed patch. Reviewed by joduinn.

Green after rerunning with the fix, but the logs contain

Only in target/Firefox.app/Contents/MacOS/extensions: testpilot@labs.mozilla.com

when comparing updated 3.7a5 with 4.0b1 (target), for all platforms. Which means testpilot is not being added on update. Filed bug 575552

We are also not removing components/nsAddonRepository.js on complete update

Only in source/MozillaDeveloperPreview.app/Contents/MacOS/components: nsAddonRepository.js

bug 568728 moved the js file into a jsm but didn't add the js to removed-files.in. Filed bug 575559 to fix the problem and figure out if it blocks b1.

And the win32 update verify log reveals we're not packaging TestPilot into the installer properly, filed bug 575566.

Final checks before push

# ffxbld@stage
cd /pub/mozilla.org/firefox/nightly/4.0b1-candidates/build1/
find . ! -user ffxbld
find . ! -group firefox
find . -type f ! -perm 644
find . -mindepth 1 -type d ! -perm 755 ! -name 'contrib*'
find . -mindepth 1 -type d ! -perm 755 ! -name 'contrib*'
^^ Last line is WRONG, should be |find . -maxdepth 1 -type d ! -perm 2775 -name 'contrib*'|

Virus check

#ffxbld@stage
clamdscan -m /mnt/netapp/stage/archive.mozilla.org/pub/firefox/nightly/4.0b1-candidates/build1/
/mnt/netapp/stage/archive.mozilla.org/pub/firefox/nightly/4.0b1-candidates/build1: OK

----------- SCAN SUMMARY -----------
Infected files: 0
Time: 49.818 sec (0 m 49 s)

Update Bouncer

Added manually. Instead of using :lang placeholder en-US used because sentry.pl substitutes :lang with zh-TW for firefox releases (sentry.pl).


Build 2

  • using pm
  • updated buildbotcustom due to bug 571199
    • applied a patch to disable update verify bump
  • updated buildbot-configs with changes landed by catlee
  • checked in bump verify fix
  • clobber requested by catlee
  • removed *.pyc files in moz2-build directory
  • master reconfiged
  • m-c tree closed

Started automation:

buildbot sendchange --username=rail --master=localhost:9010 --branch=mozilla-central -m "Firefox 4.0b1 build2" Go

Tag

No problems. Opened the tree.

Source

No problems.

Build

  • Linux: green
  • Linux64: green
  • Win32: green
  • Macosx64: green

Unittests

  • bug 570816 moved unit tests to run on the mini farm between build1 and 2
  • linux build slaves: green
  • linux64 build slaves: green

test-master01.build.mozilla.org wasn't included to talosMaster and unittestsMasters (see bug 571573, so I sent sencdchanges from pm manually:

buildbot sendchange --master test-master01.build.mozilla.org:9012 \
  --username sendchange --branch mozilla-central-release-linux \
  --revision 65c30e4ee631 \
  http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/linux-i686/en-US/firefox-4.0b1.tar.bz2
  
buildbot sendchange --master test-master01.build.mozilla.org:9012 \
  --username sendchange-unittests --branch mozilla-central-release-linux-opt-unittest \
  --revision 65c30e4ee631 \
  http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/linux-i686/en-US/firefox-4.0b1.tar.bz2 \
  http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/linux-i686/en-US/firefox-4.0b1.tests.zip
    
    
buildbot sendchange --master test-master01.build.mozilla.org:9012 \
  --username sendchange --branch mozilla-central-release-linux64 \
  --revision 65c30e4ee631 \
  http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/linux-x86_64/en-US/firefox-4.0b1.tar.bz2

buildbot sendchange --master test-master01.build.mozilla.org:9012 \
  --username sendchange-unittests --branch mozilla-central-release-linux64-opt-unittest \
  --revision 65c30e4ee631 \
  http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/linux-x86_64/en-US/firefox-4.0b1.tar.bz2 \
  http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/linux-x86_64/en-US/firefox-4.0b1.tests.zip


buildbot sendchange --master test-master01.build.mozilla.org:9012 \
  --username sendchange --branch mozilla-central-release-macosx64 \
  --revision 65c30e4ee631 \
  'http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/mac64/en-US/Firefox 4.0 Beta 1.dmg'

buildbot sendchange --master test-master01.build.mozilla.org:9012 \
  --username sendchange-unittests --branch mozilla-central-release-macosx64-opt-unittest \
  --revision 65c30e4ee631 \
  'http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/mac64/en-US/Firefox 4.0 Beta 1.dmg' \
  'http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/mac64/en-US/Firefox 4.0 Beta 1.tests.zip'  


buildbot sendchange --master test-master01.build.mozilla.org:9012 \
  --username sendchange --branch mozilla-central-release-win32 \
  --revision 65c30e4ee631 \
  'http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/unsigned/win32/en-US/firefox-4.0b1.zip'

buildbot sendchange --master test-master01.build.mozilla.org:9012 \
  --username sendchange-unittests --branch mozilla-central-release-win32-opt-unittest \
  --revision 65c30e4ee631 \
  'http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/unsigned/win32/en-US/firefox-4.0b1.zip' \
  'http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/unsigned/win32/en-US/firefox-4.0b1.tests.zip'


buildbot sendchange --master test-master01.build.mozilla.org:9012 \
  --username sendchange --branch mozilla-central-release-macosx \
  --revision 65c30e4ee631 \
  'http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/mac/en-US/Firefox 4.0 Beta 1.dmg'

buildbot sendchange --master test-master01.build.mozilla.org:9012 \
  --username sendchange-unittests --branch mozilla-central-release-macosx-opt-unittest \
  --revision 65c30e4ee631 \
  'http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/mac/en-US/Firefox 4.0 Beta 1.dmg' \
  'http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/mac/en-US/Firefox 4.0 Beta 1.tests.zip'

On builders, same macosx64 xpcshell, mac32 crashtest, macosx64 reftest as build1 NEED TO LOOK AT UNIT TEST RESULTS ON MINIS

  • Rev3 MacOSX Leopard 10.5.8 mozilla-central-release opt test crashtest (branch: mozilla-central-release-macosx-opt-unittest): green
  • Rev3 MacOSX Snow Leopard 10.6.2 mozilla-central-release opt test reftest (branch: mozilla-central-release-macosx64-opt-unittest): green
  • Rev3 MacOSX Snow Leopard 10.6.2 mozilla-central-release opt test xpcshell (branch: mozilla-central-release-macosx64-opt-unittest): orange. Hit bug 561350 - test_punycodeURIs.js times out - which keeps this suite hidden on the Firefox tree. Ignorable.
TEST-UNEXPECTED-FAIL | /Users/cltbld/talos-slave/mozilla-central-release-snowleopard-opt-u-xpcshell/build/xpcshell/tests/test_uriloader_exthandler/unit/test_punycodeURIs.js | test failed (with xpcshell return code: 0), see following log:
  >>>>>>>
  *** HandlerServiceTest: getFile: requesting UMimTyp
TEST-INFO | (xpcshell/head.js) | test 1 pending
TEST-PASS | /Users/cltbld/talos-slave/mozilla-central-release-snowleopard-opt-u-xpcshell/build/xpcshell/tests/test_uriloader_exthandler/unit/test_punycodeURIs.js | [run_test : 144] http://xn--wgv71a309e.jp/ == http://xn--wgv71a309e.jp/
TEST-INFO | (xpcshell/head.js) | test 2 pending
TEST-INFO | (xpcshell/head.js) | test 2 finished
TEST-INFO | (xpcshell/head.js) | running event loop
TEST-UNEXPECTED-FAIL | /Users/cltbld/talos-slave/mozilla-central-release-snowleopard-opt-u-xpcshell/build/xpcshell/tests/test_uriloader_exthandler/unit/test_punycodeURIs.js | Expected File /Users/cltbld/talos-slave/mozilla-central-release-snowleopard-opt-u-xpcshell/build/xpcshell/tests/test_uriloader_exthandler/unit/result.txt does not exist after 30 seconds - See following stack:
JS frame :: /Users/cltbld/talos-slave/mozilla-central-release-snowleopard-opt-u-xpcshell/build/xpcshell/head.js :: do_throw :: line 257
JS frame :: /Users/cltbld/talos-slave/mozilla-central-release-snowleopard-opt-u-xpcshell/build/xpcshell/tests/test_uriloader_exthandler/unit/test_punycodeURIs.js :: checkFile :: line 55
JS frame :: /Users/cltbld/talos-slave/mozilla-central-release-snowleopard-opt-u-xpcshell/build/xpcshell/head.js :: anonymous :: line 96
TEST-INFO | (xpcshell/head.js) | exiting test

  <<<<<<<

Signing

# cltsing@cm-keymaster01.mozilla.org
cd ~/signing-work
mv firefox-4.0b1 firefox-4.0b1-build1
# ffxbld@stage
cd /pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2
mv en-US.xpi ~/en-US_4.0b1-build2.xpi

Run usual signing script:

#!/bin/bash
set -x
set -e

PRODUCT=firefox
VERSION=4.0b1
BUILD=2
TAG=FIREFOX_4_0b1_RELEASE
REPO="mozilla-central"
EMAIL=rail@mozilla.com
KEYDIR=d:/2009-keys

mkdir -p ~/signing-work/${PRODUCT}-${VERSION}
cd ~/signing-work/${PRODUCT}-${VERSION}
cd ~/hg-tools
hg pull
hg up -r ${TAG}
cd -

mkdir -p ~/signing-work/${PRODUCT}-${VERSION}
cd ~/signing-work/${PRODUCT}-${VERSION}
cp ~/hg-tools/release/signing/* .

make PRODUCT=${PRODUCT} VERSION=${VERSION} \
  BUILD=${BUILD} REPO=${REPO} EMAIL=${EMAIL} \
  KEYDIR=${KEYDIR} USE_NEW=1


Failed copying and signing XPI files (the same as for the alphas). Signing process continued:

make checksum-files create-sigs stage verify verify-sigs fake-upload \
  PRODUCT=${PRODUCT} VERSION=${VERSION} BUILD=${BUILD} REPO=${REPO} \
  EMAIL=${EMAIL} KEYDIR=${KEYDIR} USE_NEW=1

Inspected stdout, signing log. They looked good. Ran the following:

make postsign PRODUCT=${PRODUCT} VERSION=${VERSION} \
    BUILD=${BUILD} REPO=${REPO} EMAIL=${EMAIL}

Got "Signature verification succeeded" email

Updates

First run failed.

ASSERT: BumpFilePath() - Could not bump path: firefox/nightly/4.0b1-candidates/build1/update/%platform%/%locale%/firefox-3.7a5-4.0b1.partial.mar at ../tools/release/patcher-config-bump.pl line 151.

Second run with this patch checked in was green.

Repack mar files

To deal with the add-if instructions for TestPilot we're going to do a onetime repack of the mars (and fix the snippets).

 # ffxbld@stage
 cd /pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/
 mv update update-backup

 # mv-moz2-linux-ix-slave07
 mkdir ~/mar-fix; cd $_
 
 cp /builds/slave/linux_build/build/obj-firefox/dist/host/bin/mar .
 export MAR=`pwd`/mar
 export BASE=`pwd`
 
 rsync -av stage.mozilla.org:/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/update-backup/ originals/
 rsync -a --exclude '*.mar' originals/ tmp/
 rsync -a --exclude '*.mar' originals/ fixed/
 
 for p in linux-i686  linux-x86_64 mac mac64 win32; do
   for martype in partial complete; do
     if [[ $martype == 'partial' ]]; then
       marfile='firefox-3.7a5-4.0b1.partial.mar'
     else
       marfile='firefox-4.0b1.complete.mar'
     fi
 
     cd $BASE/tmp/$p/en-US/
     if [[ $? != 0 ]]; then
       echo failed to change dir to $BASE/tmp/$p/en-US, bailing out
       exit 1
     fi
     rm -rf *
     if [[ $? != 0 ]]; then
       echo failed to remove old files, bailing out
       exit 1
     fi
     
     $MAR -x $BASE/originals/$p/en-US/$marfile
     if [[ $? != 0 ]]; then
       echo failed to unpack original mar $BASE/originals/$p/en-US/$marfile, bailing out
       exit 1
     fi
     bzcat update.manifest | \
       perl -pe 's!^add-if "(Contents/MacOS/)?extensions/testpilot.*?"!add!' | \
       bzip2 -9 -c > update.manifest.new
     if [[ $? == 0 ]]; then
       mv update.manifest{.new,}
     fi
     files=`find . -type f | cut -c3-`
     cd $BASE
     $MAR -C $BASE/tmp/$p/en-US/ -c $BASE/fixed/$p/en-US/$marfile $files
     if [[ $? == 0 ]]; then
       echo $marfile for $p created successfully
     fi
   done
 done

 # check
 mkdir $BASE/unpack-check; cd $_
 for ver in originals fixed; do
   for p in linux-i686 linux-x86_64 mac mac64 win32; do
     for martype in partial complete; do
       if [[ $martype == 'partial' ]]; then
          marfile='firefox-3.7a5-4.0b1.partial.mar'
       else
          marfile='firefox-4.0b1.complete.mar'
       fi
       mkdir -p $BASE/unpack-check/$ver/$p/$martype
       cd $BASE/unpack-check/$ver/$p/$martype
       $MAR -x $BASE/$ver/$p/en-US/$marfile
       bunzip2 -c update.manifest > update.manifest.plain
     done
   done
 done
 cd $BASE/unpack-check
 diff -ru originals fixed > the_diff

The update.manifest.plain files differ by the s/add-if/add/ change, for all 5 platforms and both update types.

# push to stage
cd $BASE
rsync -av -e 'ssh -i ../.ssh/ffxbld_dsa' fixed/ ffxbld@stage.mozilla.org:/pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/update
Fix snippets

Make patcher regenerate the snippets, just need to jam the mar files into the right place.

# cltbld@aus2-staging
cd /builds/slave/updates/build/temp/firefox

# clean slate, and put the partials in the right place
mv 3.7a5-4.0b1 3.7a5-4.0b1-bak
mkdir -p 3.7a5-4.0b1/ftp/firefox/nightly/4.0b1-candidates/build2/
rsync -av ~/mar-fix/fixed/ 3.7a5-4.0b1/ftp/firefox/nightly/4.0b1-candidates/build2/update/

# patcher reads complete files size/hash out of 4.0b1 dir, *shakes fist*
mv 4.0b1 4.0b1-bak
 
cd /builds/slave/updates/build/
perl patcher2.pl --download --app=firefox --brand=Firefox --config=patcher-configs/moz193-branch-patcher2.cfg

perl patcher2.pl --create-patchinfo --app=firefox --brand=Firefox --config=patcher-configs/moz193-branch-patcher2.cfg
cd temp/firefox/3.7a5-4.0b1
rsync -av -e 'ssh -oIdentityFile=~/.ssh/cltbld_dsa' aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20100630-Firefox-4.0b1-fixed2
rsync -av -e 'ssh -oIdentityFile=~/.ssh/cltbld_dsa' aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20100630-Firefox-4.0b1-fixed2-test
# cltbld@aus2-staging
~/bin/backupsnip 20100630-Firefox-4.0b1-fixed2-test
~/bin/pushsnip   20100630-Firefox-4.0b1-fixed2-test

We're using 20100630-Firefox-4.0b1-fixed2-test rather than 20100630-Firefox-4.0b1-fixed-test.

Updates from build1

As cltbld@aus2-staging

 cd /opt/aus2/snippets/staging
 for i in beta test; do
   channel=$i
   if [[ $i == test ]]; then
     channel=releasetest
   fi
   export $channel
   mkdir -p 20100706-Firefox-4.0b1-$i-buildN-to-build2/Firefox
   rsync -a --exclude 'partial.txt' 20100630-Firefox-4.0b1-fixed2/Firefox/3.7a5/ 20100706-Firefox-4.0b1-$i-buildN-to-build2/Firefox/4.0b1/
   mv 20100706-Firefox-4.0b1-$i-buildN-to-build2/Firefox/4.0b1/Linux_x86-gcc3/{20100610052642,20100628202324}
   mv 20100706-Firefox-4.0b1-$i-buildN-to-build2/Firefox/4.0b1/Linux_x86_64-gcc3/{20100610053237,20100628201409}
   mv 20100706-Firefox-4.0b1-$i-buildN-to-build2/Firefox/4.0b1/Darwin_Universal-gcc3/{20100610053455,20100628201214}
   mv 20100706-Firefox-4.0b1-$i-buildN-to-build2/Firefox/4.0b1/Darwin_x86_64-gcc3/{20100610053411,20100628201518}
   mv 20100706-Firefox-4.0b1-$i-buildN-to-build2/Firefox/4.0b1/WINNT_x86-msvc/{20100610063440,20100628211307}
   # Didn't change the bouncer product this time
   # Create "partials"
   for j in `find 20100706-Firefox-4.0b1-$i-buildN-to-build2/ -type f`; do dir=`dirname $j` && cp $j $dir/partial.txt && sed -i -e 's/type=complete/type=partial/' $dir/partial.txt; done
   # Change the update channel
   for j in `find 20100706-Firefox-4.0b1-$i-buildN-to-build2/ -mindepth 6 -maxdepth 6 -type d`; do newdir=`echo $j | sed -e "s/beta$/$channel/"` && if [[ $j != $newdir ]]; then mv $j/ $newdir/; fi; done
  done
 
 # Push test snippets
 ~/bin/backupsnip 20100706-Firefox-4.0b1-test-buildN-to-build2
 ~/bin/pushsnip   20100706-Firefox-4.0b1-test-buildN-to-build2

L10N Verification

Due to bug 571199 we don't run L10N Verification for en-US only builds.

Update Verification

Forced runs after the repacking was complete. Now get the following harmless differences (see bug 575559).

  • all partials except win32
diff -r source/firefox/removed-files target/firefox/removed-files
44a45
> components/nsAddonRepository.js
  • mac32 - comment change in channel-prefs.js (s/moz2_slave/slave)
  • win32 - the usual chk files

PASS.

Final checks before push

# ffxbld@stage
cd /pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/
find . ! -user ffxbld
find . ! -group firefox
find . -type f ! -perm 644
./update/linux-i686/en-US/firefox-3.7a5-4.0b1.partial.mar
./update/linux-i686/en-US/firefox-4.0b1.complete.mar
./update/linux-x86_64/en-US/firefox-3.7a5-4.0b1.partial.mar
./update/linux-x86_64/en-US/firefox-4.0b1.complete.mar
./update/mac/en-US/firefox-3.7a5-4.0b1.partial.mar
./update/mac/en-US/firefox-4.0b1.complete.mar
./update/mac64/en-US/firefox-3.7a5-4.0b1.partial.mar
./update/mac64/en-US/firefox-4.0b1.complete.mar
./update/win32/en-US/firefox-3.7a5-4.0b1.partial.mar
./update/win32/en-US/firefox-4.0b1.complete.mar
find . -mindepth 1 -type d ! -perm 755 ! -name 'contrib*'
find . -mindepth 1 -type d ! -perm 755 ! -name 'contrib*'

List and fix permissions

[ffxbld@surf build2]$ find . -type f ! -perm 644 -exec ls -l {} \;
-rw-rw-r-- 1 ffxbld firefox 2598299 Jun 30 20:35 ./update/linux-i686/en-US/firefox-3.7a5-4.0b1.partial.mar
-rw-rw-r-- 1 ffxbld firefox 12097788 Jun 30 20:35 ./update/linux-i686/en-US/firefox-4.0b1.complete.mar
-rw-rw-r-- 1 ffxbld firefox 3655941 Jun 30 20:35 ./update/linux-x86_64/en-US/firefox-3.7a5-4.0b1.partial.mar
-rw-rw-r-- 1 ffxbld firefox 13613064 Jun 30 20:35 ./update/linux-x86_64/en-US/firefox-4.0b1.complete.mar
-rw-rw-r-- 1 ffxbld firefox 4649099 Jun 30 20:35 ./update/mac/en-US/firefox-3.7a5-4.0b1.partial.mar
-rw-rw-r-- 1 ffxbld firefox 20786641 Jun 30 20:35 ./update/mac/en-US/firefox-4.0b1.complete.mar
-rw-rw-r-- 1 ffxbld firefox 3211363 Jun 30 20:35 ./update/mac64/en-US/firefox-3.7a5-4.0b1.partial.mar
-rw-rw-r-- 1 ffxbld firefox 12896710 Jun 30 20:35 ./update/mac64/en-US/firefox-4.0b1.complete.mar
-rw-rw-r-- 1 ffxbld firefox 4952983 Jun 30 20:35 ./update/win32/en-US/firefox-3.7a5-4.0b1.partial.mar
-rw-rw-r-- 1 ffxbld firefox 12639764 Jun 30 20:35 ./update/win32/en-US/firefox-4.0b1.complete.mar
[ffxbld@surf build2]$ find . -type f ! -perm 644 -exec chmod 644 {} \;
[ffxbld@surf build2]$ find . -type f ! -perm 644

Virus check

#ffxbld@stage
clamdscan -m /mnt/netapp/stage/archive.mozilla.org/pub/firefox/nightly/4.0b1-candidates/build2/

----------- SCAN SUMMARY -----------
Infected files: 0
Time: 62.275 sec (1 m 2 s)

Update Bouncer

Done in build1

Push to mirrors

rsync -av --exclude=*tests* --exclude=*crashreporter* --exclude=*.log --exclude=*.txt --exclude=*unsigned* --exclude=*update-backup* /pub/mozilla.org/firefox/nightly/4.0b1-candidates/build2/ /pub/mozilla.org/firefox/releases/4.0b1

Add index.html to cover the files before release time

cd /pub/mozilla.org/firefox/releases/4.0b1
curl -sL https://bugzilla.mozilla.org/attachment.cgi?id=456169 > index.html
for dir in `find . -mindepth 1 -type d`; do cp -pv index.html $dir/; done

Final verify

on pm:

Changed release_config symlink (in repo):

ln -sf release-firefox-mozilla-central.py release_config1.py

Removed *.pyc files from master dir. Reconfigured. Idle mv-moz2-linux-ix-slave06 moved from pm03.

No problems. mv-moz2-linux-ix-slave06 moved back to pm03.

Symlink change reverted:

ln -sf release-firefox-mozilla-1.9.2.py release_config1.py

Reconfigured master.

Push snippets to beta channel

~/bin/backupsnip 20100630-Firefox-4.0b1-fixed2
~/bin/pushship   20100630-Firefox-4.0b1-fixed2

And update the 4.0b1 users (separate QA signoff required)

~/bin/backupsnip 20100706-Firefox-4.0b1-beta-buildN-to-build2
~/bin/pushsnip   20100706-Firefox-4.0b1-beta-buildN-to-build2

Remove index.html files

Once we are fully announced we can remove the index.html files:

# ffxbld@stage
cd /pub/mozilla.org/firefox/releases/4.0b1/
find . -name index.html
find . -name index.html | xargs rm -v

Release

Nothing to be done.