Releases/Firefox 3.6/BuildNotes: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 109: Line 109:
   /home/ffxbld/firefox-3.6/ /pub/mozilla.org/firefox/releases/3.6/
   /home/ffxbld/firefox-3.6/ /pub/mozilla.org/firefox/releases/3.6/


Still to push the main files.
Redid 'Ownernship/permission verification', then pushed the files (complete Jan 22 20:22 PST):
rsync -av /home/ffxbld/firefox-3.6/ /pub/mozilla.org/firefox/releases/3.6/


== Update rsync modules ==
== Update rsync modules ==

Revision as of 04:22, 21 January 2010

Until we're about to ship this page will serve as a spot to put down a rough checklist of what needs to be done to ship.

Release Engineers

Tracking Bug

bug 540666

Notes

Stage and Rename files

Much the same as Firefox 3.5.

# ffxbld@stage
mkdir firefox-3.6
cd firefox-3.6
rsync -av --exclude='*partial.mar' --exclude=source --exclude=*SUMS /pub/mozilla.org/firefox/releases/3.6rc2/ .
find contrib linux-i686 update -type f | perl -nle '$nf = $_; if ( $nf =~ s/rc2// ) { system("mv","-v",$_,$nf)}' 
find mac win32 -type f | perl -nle '$nf = $_; if ( $nf =~ s/\ RC\ 2// ) { system("mv","-v",$_,$nf)};'
wget -O../firefox-3.6-shipped-locales http://hg.mozilla.org/releases/mozilla-1.9.2/raw-file/FIREFOX_3_6rc2_RELEASE/browser/locales/shipped-locales
~cltbld/bin/verify-locales.pl -m ~/firefox-3.6-shipped-locales -l bz2
~cltbld/bin/checksum-files .
chown -R ffxbld:firefox linux-i686 mac update win32
chmod 644 *SUMS

Content verification

find /pub/mozilla.org/firefox/releases/3.6rc2/ -type f | perl -nle '$a = substr($_,41); $a =~ s/rc2//; $a =~ s/\ RC\ 2//; system("diff","-q",$_,$a);'

Output:

diff: contrib/solaris_tarball/firefox-3.6rc1-3.6.en-US.solaris-10-fcs-sparc.partial.mar: No such file or directory
diff: contrib/solaris_tarball/firefox-3.6rc1-3.6.en-US.solaris-10-fcs-i386.partial.mar: No such file or directory
diff: contrib/solaris_tarball/firefox-3.6rc1-3.6.en-US.opensolaris-i386.partial.mar: No such file or directory
diff: contrib/solaris_tarball/firefox-3.6rc1-3.6.en-US.opensolaris-sparc.partial.mar: No such file or directory
diff: source/firefox-3.6.bundle.asc: No such file or directory
diff: source/firefox-3.6.bundle: No such file or directory
diff: source/firefox-3.6.source.tar.bz2.asc: No such file or directory
diff: source/firefox-3.6.source.tar.bz2: No such file or directory
diff: update/linux-i686/af/firefox-3.6rc1-3.6.partial.mar: No such file or directory
diff: update/linux-i686/ar/firefox-3.6rc1-3.6.partial.mar: No such file or directory
...
diff: update/win32/zh-CN/firefox-3.6rc1-3.6.partial.mar: No such file or directory
diff: update/win32/zh-TW/firefox-3.6rc1-3.6.partial.mar: No such file or directory
Files /pub/mozilla.org/firefox/releases/3.6rc2/MD5SUMS and MD5SUMS differ
Files /pub/mozilla.org/firefox/releases/3.6rc2/SHA1SUMS and SHA1SUMS differ

Everything above is expected: We don't want the partials, we regenerated *SUMS because of filename changes, and we haven't yet regenerated source packages yet.

Ownernship/permission verification

find . ! -user ffxbld
find . ! -group firefox
find . -type f ! -perm 644
find . -mindepth 1 -type d ! -perm 755 ! -name 'contrib*'
find . -maxdepth 1 -type d ! -perm 2775  -name 'contrib*'

Virus check

This will have been done for 3.6rc2 and background scans but double check

clamscan -r --quiet -i .

No problems found.

Add index files

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

Generate major update

We currently have majortest snippets pointing at 3.6rc2 in bouncer but we should point at the 3.6 files for tracking purposes. Also need to have a releasetest channel for QA to check. Updated config. ...

Bouncer Setup

win32, linux, mac + 4 solaris for installer, and again for complete update. ie no WinCE done.

Tag and Source package regeneration

Used the automation to add the FIREFOX_3_6_RELEASE tag on mozilla-1.9.2 and l10n repositories. Two patches needed

Landed and reconfig master. Backout buildbotcustom patch. Set clobbers on mozilla-1.9.2, tag & source, any master. (bug 500473 is open to support this properly.)

Forced the tag step, which worked for l10n but took the top of the relbranch instead of the FIREFOX_3_6rc2_RELEASE revision. Setting 'build = 2' would have avoided this. Fix:

# cltbld@moz2-linux-slave20
cd /builds/slave/tag/mozilla-1.9.2
hg tag -f -u ffxbld -f -r 448d0d2d310c -m "Moved tag FIREFOX_3_6_RELEASE to changeset 448d0d2d310c (as release automation incorrectly chose the tip of the relbranch). CLOSED TREE" FIREFOX_3_6_RELEASE
hg push -e "ssh -l ffxbld -i ~cltbld/.ssh/ffxbld_dsa" -f ssh://hg.mozilla.org/releases/mozilla-1.9.2

Then force the source step and then moved firefox/nightly/3.6-candidates/ away

# ffxbld @ stage
rsync -av /pub/mozilla.org/firefox/nightly/3.6-candidates/ ~/3.6-candidates/ && rm -rf /pub/mozilla.org/firefox/nightly/3.6-candidates

cd ~/firefox-3.6
rsync -av ~/3.6-candidates/build1/source/ source/
~cltbld/bin/checksum-files .

NB: This actually includes revision 4289e7a61d2f, which is not part of the release build. We can't assume the tip of the relbranch

Then, pull the source/ dir and SUMS files onto the signing machine and generate a sigs for them:

mkdir -p ~/signing-work/firefox-3.6
cd ~/signing-work/firefox-3.6
cvs -d:ext:cltbld@cvs.mozilla.org:/mofo co -d signing release/signing/tools
rsync -av -e 'ssh -i /home/cltsign/.ssh/ffxbld_dsa' ffxbld@stage.mozilla.org:~/firefox-3.6/source stage-unsigned/
rsync -av -e 'ssh -i /home/cltsign/.ssh/ffxbld_dsa' ffxbld@stage.mozilla.org:~/firefox-3.6/*SUMS stage-unsigned/
rsync -av stage-unsigned/ stage-signed/
cd stage-signed/
../signing/sign-files .
cd ..
# should only push 4 x asc here, two for source files, 2 for SUMS
rsync -nav -e 'ssh -i /home/cltsign/.ssh/ffxbld_dsa' stage-signed/ ffxbld@stage.mozilla.org:~/firefox-3.6/
rsync  -av -e 'ssh -i /home/cltsign/.ssh/ffxbld_dsa' stage-signed/ ffxbld@stage.mozilla.org:~/firefox-3.6/

Push to Mirrors

Push the covering index.html to mirrors ahead of the main push:

rsync -av --exclude 'contrib*' --exclude '*.exe' --exclude '*.dmg' \
 --exclude '*.bz2' --exclude '*.asc' --exclude '*.mar' --exclude '*.xpi' \
 --exclude '*.bundle' --exclude '*SUMS' --exclude KEY \
 /home/ffxbld/firefox-3.6/ /pub/mozilla.org/firefox/releases/3.6/

Redid 'Ownernship/permission verification', then pushed the files (complete Jan 22 20:22 PST):

rsync -av /home/ffxbld/firefox-3.6/ /pub/mozilla.org/firefox/releases/3.6/

Update rsync modules

Push Major Update

Symlink update

Remove index.html files

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

cd /pub/mozilla.org/firefox/releases/3.6/
find . -name index.html | less
find . -name index.html | xargs rm -v