Firefox 3.0:BuildNotes
Contents
Build Engineers
nthomas
Notes
The aim is to prepare a firefox/releases/3.0/ directory with appropriately named copies of the files from the RC3.
Stage & Rename files
# cltbld@stage mkdir /data/cltbld/firefox-3.0 cd /data/cltbld/firefox-3.0 rsync -av --exclude='*partial.mar' /pub/mozilla.org/firefox/releases/3.0rc3/ . rm *SUMS rm -rvf contrib/solaris* find linux-i686 source update -type f | perl -nle '$nf = $_; if ( $nf =~ s/rc3// ) { system("mv","-v",$_,$nf)}' find mac win32 -type f | perl -nle '$nf = $_; if ( $nf =~ s/\ RC\ 3// ) { system("mv","-v",$_,$nf)};' ~/bin/verify-locales.pl -m ~/firefox-3.0rc3/batch1/config/shipped-locales -l bz2 ~/bin/checksum-files . chown -R cltbld:firefox . chmod 644 *SUMS
Verification:
find /pub/mozilla.org/firefox/releases/3.0rc3/ -type f | perl -nle '$a = substr($_,41); $a =~ s/rc3//; $a =~ s/\ RC\ 3//; system("diff","-q",$_,$a);' # Output: diff: contrib/solaris_pkgadd/firefox-3.0.en-US.opensolaris-sparc-pkg.bz2.cksum: No such file or directory diff: contrib/solaris_pkgadd/firefox-3.0.en-US.opensolaris-i386-pkg.bz2: No such file or directory diff: contrib/solaris_pkgadd/firefox-3.0.en-US.opensolaris-sparc-pkg.bz2: No such file or directory diff: contrib/solaris_pkgadd/firefox-3.0.en-US.opensolaris-i386-pkg.bz2.cksum: No such file or directory diff: contrib/solaris_tarball/README.txt: No such file or directory diff: contrib/solaris_tarball/firefox-3.0.en-US.opensolaris-sparc.tar.bz2.cksum: No such file or directory diff: contrib/solaris_tarball/firefox-3.0.en-US.opensolaris-i386.tar.bz2: No such file or directory diff: contrib/solaris_tarball/firefox-3.0.en-US.opensolaris-i386.tar.bz2.cksum: No such file or directory diff: contrib/solaris_tarball/firefox-3.0.en-US.opensolaris-sparc.tar.bz2: No such file or directory Files /pub/mozilla.org/firefox/releases/3.0rc3/MD5SUMS and MD5SUMS differ Files /pub/mozilla.org/firefox/releases/3.0rc3/SHA1SUMS and SHA1SUMS differ diff: update/mac/af/firefox-3.0rc2-3.0.partial.mar: No such file or directory diff: update/mac/ar/firefox-3.0rc2-3.0.partial.mar: No such file or directory ... diff: update/mac/zh-CN/firefox-3.0rc2-3.0.partial.mar: No such file or directory diff: update/mac/zh-TW/firefox-3.0rc2-3.0.partial.mar: No such file or directory
Which is fine (we removed the contrib files, don't want the partial mars, and the filename changes appear in the SUMS file).
Add index.html
Add the text beltzner provided to index.html, check validation, and do
for dir in `find . -type d -mindepth 1 | grep -v contrib`; do cp -p index.html $dir/; done
Setup bouncer
- setup done manually.
Push to mirrors
- push the covering index.html in the top level (Monday 0900 PDT)
# on stage rsync -av /data/cltbld/firefox-3.0/index.html /home/ftp/pub/firefox/releases/3.0/
- push the stage-merged directory to the releases area (Tuesday 0010 PDT)
# on stage rm -v /data/cltbld/firefox-3.0/source/firefox* rsync -av /data/cltbld/firefox-3.0/ /home/ftp/pub/firefox/releases/3.0/
Update rsync modules
From /pub/mozilla.org/zz/rsyncd-mozilla-current.exclude remove
+ firefox/releases/1.5.0.12 + firefox/releases/1.5.0.12/**
and added
+ firefox/releases/3.0 + firefox/releases/3.0/**
FIXME: need a way to provide major update to the laggard Fx1.5.0.x users
Tag with FIREFOX_3_0_RELEASE
On fx-linux-1.9-slave2:
# cvsroot mkdir -p /builds/tags/FIREFOX_3_0_RELEASE/cvsroot cd /builds/tags/FIREFOX_3_0_RELEASE/cvsroot cvs -d cltbld@cvs.mozilla.org:/cvsroot co -r FIREFOX_3_0rc3_RELEASE mozilla 2>&1 | tee checkout.log cd mozilla cvs up -r GECKO19_20080529_RELBRANCH client.mk # edit client.mk and replace 5 instances of FIREFOX_3_0rc3_RELEASE with FIREFOX_3_0_RELEASE cvs ci -m "Bump tags in client.mk for final 3.0 tag (FIREFOX_3_0_RELEASE)" client.mk cvs tag FIREFOX_3_0_RELEASE 2>&1 | tee tag-FIREFOX_3_0_RELEASE.log cvs -q -d cltbld@cvs.mozilla.org:/cvsroot rdiff -r FIREFOX_3_0rc3_RELEASE -r FIREFOX_3_0_RELEASE mozilla 2>&1 | tee ../rdiff.log # l10n mkdir -p /builds/tags/FIREFOX_3_0_RELEASE/l10n cd /builds/tags/FIREFOX_3_0_RELEASE/l10n cvs -d cltbld@cvs.mozilla.org:/l10n co -r FIREFOX_3_0rc3_RELEASE l10n 2>&1 | tee checkout.log cd l10n cvs tag FIREFOX_3_0_RELEASE 2>&1 | tee ../tag-FIREFOX_3_0_RELEASE.log
Update source tarball and push
On stage:
mkdir -p /tmp/source/firefox-3.0 cd /tmp/source/firefox-3.0 rsync -av /pub/mozilla.org/firefox/releases/3.0rc3/source/firefox-3.0rc3-source.tar.bz2 . tar xfj firefox-3.0rc3-source.tar.bz2 cd mozilla cvs -q up -r FIREFOX_3_0_RELEASE cd .. tar cfj firefox-3.0-source.tar.bz2 mozilla rsync -av firefox-3.0-source.tar.bz2 /data/cltbld/firefox-3.0/source/
Pull the source tarball down to the signing machine, generate a gpg sig, and push it back
mkdir -p ~/signing-work/firefox-3.0 cd ~/signing-work/firefox-3.0 rsync -av cltbld@stage.mozilla.org:~/firefox-3.0/source/ stage-unsigned/ rsync -av stage-unsigned/ stage-signed/ cd stage-signed/ sign-files . cd .. # should only push the asc here rsync -nav stage-signed/ cltbld@stage.mozilla.org:~/firefox-3.0/source/ rsync -av stage-signed/ cltbld@stage.mozilla.org:~/firefox-3.0/source/
Then push it to the mirrors
rsync -nav /data/cltbld/firefox-3.0/ /home/ftp/pub/firefox/releases/3.0/ rsync -av /data/cltbld/firefox-3.0/ /home/ftp/pub/firefox/releases/3.0/
Should also have updated MD5SUMS and SHA1SUMS for this, fixed after the fact when a bug got filed.
Remove index.html
Once the website goes live then we can remove the index.html bandaid:
cd /pub/mozilla.org/firefox/releases/3.0/ find . -name index.html | less find . -name index.html | xargs rm -v