Releases/Firefox 3.5.1/BuildNotes

From MozillaWiki
Jump to: navigation, search

Build Engineers

release tracking bug

Signed-off Revision(s)

Build1: b91c9ee69e6e


On releases/mozilla-1.9.1:

Build # Tag Changeset
1 GECKO1911_20090715_RELBRANCH b91c9ee69e6e
FIREFOX_3_5_1_BUILD1 FIREFOX_3_5_1_RELEASE a97db942191c

Build data

Type Build ID Build machine
[Windows installer/zip]
[Mac compressed]
[Linux compressed]


Build 1

  • Cleaned up previous release's build dirs
  • l10n-changesets updated in bug 502627
  • Land version bump, reconfig production-master
  • Kick-off automation:
buildbot sendchange --username=bhearsum --master=localhost:9010 --branch=releases/mozilla-1.9.1 -m "Firefox 3.5.1 build1" goforit


Tag blew up on pt-BR. Pike fixed it and it was pushed manually from moz2-linux-slave10 like so:

hg push -e 'ssh -l ffxbld -i ~cltbld/.ssh/ffxbld_dsa' -f ssh://

To finish off the tagging, had to land patch, reconfig buildbot, and do the sendchange again. The patch was left in until repacks started because a reconfig would prevent Dependent schedulers from firing. No problems after that


No problems


  • Linux
    • No build problems
    • A bunch of repacks blew up because some slaves weren't cleaned up properly.
    • To fix, landed and reconfig for patch and re-kicked automation:
buildbot sendchange --username=bhearsum --master=localhost:9010 --branch=releases/mozilla-1.9.1 -m "Firefox 3.5.1 build1" goforit
  • Mac
    • Repack needs to be kicked in the same way as Linux with | this patch and then:
buildbot sendchange --username=bhearsum --master=localhost:9010 --branch=releases/mozilla-1.9.1 -m "Firefox 3.5.1 build1" goforit
  • Win32
    • Repack needs to be kicked in the same way as Linux with | this patch and then:
buildbot sendchange --username=bhearsum --master=localhost:9010 --branch=releases/mozilla-1.9.1 -m "Firefox 3.5.1 build1" goforit
  • Had to delete en-US.xpi from stage


instructions No problems


  • Nothing of note

Generate updates and push betatest snippets

  • Failed out because UPDATE_PACKAGING_R9 tag wasn't created in mozilla-1.9.1.
    • Tagged the UPDATE_PACKAGING_R8 revision with UPDATE_PACKAGING_R9 and started from scratch.
  • While backupsnip was running I noticed that beta snippets were pointing to bouncer, and not in their own directory. This patch plus the following commands run on moz2-linux-slave22 fixed us up:
cd /builds/slave/updates/build/temp/firefox/3.5rc3-3.5.1
mv aus2 aus2.BAD
mv aus2.test aus2.BAD
cd /builds/slave/updates/build/patcher-configs
cvs up
cd /builds/slave/updates/build
perl --create-patchinfo --partial-patchlist-file=patchlist.cfg --app=firefox --brand=Firefox --config=patcher-configs/moz191-branch-patcher2.cfg
cd temp/firefox/3.5rc3-3.5.1
rsync -av aus2/
rsync -av aus2.beta/
rsync -av aus2.test/

Then on aus2-staging

# cltbld
cd /opt/aus2/snippets/staging
~/bin/backupsnip 20090715-Firefox-3.5.1-test
~/bin/pushsnip 20090715-Firefox-3.5.1-test

todo We need to flip useBetaChannel for the next release, and maybe do more. I haven't had a chance to test if the patcher config bump script is broken or not.

Update verify

  • Linux timed out after a very, very slow download
    • Kicked a second run - turned green, no problems
  • Win32 had the normal .chk file errors, otherwise ok
  • Mac - turned green, no problems in log

Publish updates to beta channel

# cltbld @ aus2-staging
cd /opt/aus2/snippets/staging
time ~/bin/backupsnip 20090715-Firefox-3.5.1-beta
Running /bin/tar cfvj /opt/aus2/snippets/backup/20090716-1-pre-20090715-Firefox-3.5.1-beta.tar.bz2 .
real    47m32.971s
user    0m47.968s
sys     1m28.596s
~/bin/pushsnip 20090715-Firefox-3.5.1-beta

Update Bouncer


Final checks before push

this is done - (bhearsum) Each of the find calls should return no output.

cd /pub/
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*'

No Solaris builds at this point, so no output from any of these commands.

Push to mirrors

# ffxbld@stage
rsync -av --exclude=*.log --exclude=*.txt --exclude=*unsigned* /pub/ /pub/
  • NOTE: Interesting that the changes to rsyncd-mozilla-current.exclude were already done when I went to do this. Found justdave had already done this.
# cltbld@stage
vim /pub/
# replace 3.5rc3 with 3.5.1.

Final Verification

Good. All were either 200 or 302.

Push updates to release channel

# cltbld @ aus2-staging
cd /opt/aus2/snippets/staging
# just in case of dropped connection mid-way through
# Skipped this time, because the earlier backupsnip was just a few hours ago
#time ~/bin/backupsnip 20090715-Firefox-3.5.1
time ~/bin/pushsnip 20090715-Firefox-3.5.1
real    0m38.010s
user    0m0.069s
sys     0m3.751s


# login as cltbld to any of the production build machines. From there, do:
# ssh -l ffxbld stage.m.o
cd /home/ftp/pub/firefox/releases 
rm latest-3.5 && ln -s 3.5.1 latest-3.5

Remove the index.html files (bug 505326)

cd /home/ftp/pub/firefox/releases 
find . -name 'index.html' -exec rm -v {} \;

XULRunner build

Tracked separately in bug 505701.

Create 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_1_RELEASE'.

When they finish, as xrbld@stage move the dir from /pub/ to ..../nightly/ Remove the broken symlink at xulrunner/nightly/2009-07-xx-xx-mozilla-1.9.1. Contact mfinkle and dtownsend for smoketest QA.

Publishing is done in a similar (but not identical!) way as 3.0.13:

# cltbld@stage

mkdir -p ~/xulrunner-${VERSION}/batch1/stage-unsigned/{runtimes,source,sdk}
cd ~/xulrunner-${VERSION}/batch1/stage-unsigned
rsync -av --exclude=*sdk* --exclude=*info* \
  /home/ftp/pub/xulrunner/nightly/${VERSION}-candidates/build${BUILD}/ runtimes/
rsync -av --include=*sdk* --exclude=* \
  /home/ftp/pub/xulrunner/nightly/${VERSION}-candidates/build${BUILD}/ sdk/
cp -pv /pub/${FX_VERSION}/source/firefox-${FX_VERSION}-source.tar.bz2 \
cd ~/xulrunner-${VERSION}/batch1
rsync -av stage-unsigned/ stage-signed/

Then create detached signatures per usual process (with PRODUCT=xulrunner, VERSION=, don't need BUILD or TAG), skip the win32 signing section, do pgp, verify and upload. Back on stage:

cd ~/xulrunner-${VERSION}/batch1/stage-signed
cp /pub/${FX_VERSION}/KEY .
~/bin/checksum-files .
chown -R cltbld:xulrunner .
find . -type f -exec chmod -v 644 {} \;
find . -type d -exec chmod -v 755 {} \;
cd ~/xulrunner-${VERSION}/batch1
rsync -nav stage-signed/* /home/ftp/pub/xulrunner/releases/${VERSION}/


If all is fine then

rsync -av stage-signed/* /home/ftp/pub/xulrunner/releases/${VERSION}/

Update the links in these two wiki pages for the version change