Releases/Thunderbird 3.1.3/BuildNotes
From MozillaWiki
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.
Contents
Release Engineers
gozer, jhopkins
Notes
Generate major update
# ssh cltbld@momo-build-adm-01 $> cd /home/cltbld/patcher/mozilla/tools/patcher
# Edit the appropriate patcher-config/*.cfg file. # - Change the http:// paths between <current-update>. # - Paste in the <release 3.1> tag (adjust for the version you are releasing) # Note: copy from one of the other files and replace <x.y.z> tag with <release> tag # - Edit the "from=" and "to=" values as needed. # Download .mar files locally (choose one) # TB 3.1.x $> ./patcher2.pl --download --app=thunderbird --config=../patcher-configs/moz192-thunderbird-branch-major-update-patcher2.cfg # TB 3.0.x $> ./patcher2.pl --download --app=thunderbird --config=../patcher-configs/moz19-thunderbird-branch-major-update-patcher2.cfg # TB 2.x $> ./patcher2.pl --download --app=thunderbird --config=../patcher-configs/moz19-thunderbird-branch-major-update-patcher2.cfg # Create magic symlink(s) before generating snippets # 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/thunderbird $> ln -s 3.1 2.0.0.24-3.1 $> ln -s 3.1 3.0.5-3.1 $> cd ../.. # Create partial patches and snippets for 3.0.x / mozilla-1.9.1 $> ./patcher2.pl --create-patches --app=thunderbird --config=patcher-configs/moz19-thunderbird-branch-major-update-patcher2.cfg # tar things up $> cd temp/thunderbird $> cd 3.0.6-3.1.1 # symlink made earlier $> mv aus2 20100716-Thunderbird-3.0.6-3.1.1-MU $> mv aus2.test 20100716-Thunderbird-3.0.6-3.1.1-MU-test $> tar cvzf 20100716-Thunderbird-3.0.6-3.1.1-MU.tgz 20100716-Thunderbird-3.0.6-3.1.1-MU $> tar cvzf 20100716-Thunderbird-3.0.6-3.1.1-MU-test.tgz 20100716-Thunderbird-3.0.6-3.1.1-MU-test
# Create partial patches and snippets for 3.1.x / mozilla-1.9.2 $> ./patcher2.pl --create-patches --app=thunderbird --config=patcher-configs/moz192-thunderbird-branch-major-update-patcher2.cfg # tar things up (see above)
Quick verify
Check that releasetest = beta = release.
cd temp/thunderbird/2.0.0.24-3.1 # releasetest == beta $> find aus2.test -type d -iregex '.*/releasetest$' | perl -nle '$a = $_; $a =~ s/releasetest/beta/; $a =~ s/aus2\.test/aus2/; system("diff -r -u $_ $a");' $> find aus2 -type d -iregex '.*/beta$' | perl -nle '$a = $_; $a =~ s/beta$/releasetest/; $a =~ s/aus2/aus2.test/; system("diff -r -u $_ $a");' # beta == release $> find aus2 -type d -iregex '.*/beta$' | perl -nle '$a = $_; $a =~ s/beta/release/; system("diff -r -u $_ $a");' $> find aus2 -type d -iregex '.*/release$' | perl -nle '$a = $_; $a =~ s/release$/beta/; system("diff -r -u $_ $a");'
Push to AUS
$> mkdir 20091206-Thunderbird-2.0.0.23-3.0-MU-test 20091206-Thunderbird-2.0.0.23-3.0-MU $> rsync -av aus2.test/ 20091206-Thunderbird-2.0.0.23-3.0-MU-test/ $> rsync -av aus2/ 20091206-Thunderbird-2.0.0.23-3.0-MU/ $> tar zcvf 20091206-Thunderbird-2.0.0.23-3.0-MU.tar.gz 20091206-Thunderbird-2.0.0.23-3.0-MU-test 20091206-Thunderbird-2.0.0.23-3.0-MU $> SSH_AUTH_SOCK= scp 20091206-Thunderbird-2.0.0.23-3.0-MU.tar.gz gozer@mpt-vpn.mozilla.com: # gozer@mpt-vpn.mozilla.com $> scp 20091206-Thunderbird-2.0.0.23-3.0-MU.tar.gz aus2-staging.mozilla.org:/tmp/ # aus2-staging.mozilla.org $> cd /opt/aus2/snippets/staging && tar zxvf /tmp/20091206-Thunderbird-2.0.0.23-3.0-MU.tar.gz
Enable test snippets
# cltbld@aus2-staging $> ~/bin/backupsnip 20091206-Thunderbird-2.0.0.24-3.1-MU-test $> ~/bin/pushsnip 20091206-Thunderbird-2.0.0.24-3.1-MU-test $> ~/bin/pushsnip 20100622-Thunderbird-3.0.5-3.1-MU-test
Stage & Rename files
# tbirdbld@stage.mozilla.org $> mkdir ~/thunderbird-3.1 && cd ~/thunderbird-3.1 # No peeking $> chmod 700 ~/thunderbird-3.1
# Copy 3.1 rc2 $> rsync -av \ /pub/mozilla.org/thunderbird/releases/3.1rc2/ \ ~/thunderbird-3.1/
# Remove partial upgrades if they aren't useful (eg. RC1 -> RC2) $> find ~/thunderbird-3.1 -name '*partial.mar' -print0 | xargs -0 rm
# Check for renaming: $> find . -type f | perl -lne 'print if s/(.*)(:?rc| RC )[2-3]/join " ", "mv", quotemeta($_), quotemeta($1)/e' # Rename $> find . -type f | perl -lne 'print if s/(.*)(:?rc| RC )[2-3]/join " ", "mv", quotemeta($_), quotemeta($1)/e' 2>&1 | sh -x | tee ../thunderbird-3.0-rename.log
# Get shipped-locales $> wget -O~/thunderbird-3.1-shipped-locales http://hg.mozilla.org/releases/comm-1.9.2/raw-file/THUNDERBIRD_3_1_RELEASE/mail/locales/shipped-locales # Verify locales $> cp -f ~cltbld/bin/verify-locales.pl ~/ # XXX: Fixme, deal with hard-coded 'Firefox' $> perl -pi -e's/Firefox/Thunderbird/g' ~/verify-locales.pl $> perl -pi -e's/firefox/thunderbird/g' ~/verify-locales.pl $> ~/verify-locales.pl \ -m ~/thunderbird-3.1-shipped-locales \ -l bz2 \ -d ~/thunderbird-3.1 # PASS: all files present, no extras
# Rergenerate MD5/SHA1 checksum files $> ( cd ~/thunderbird-3.1 && ~cltbld/bin/checksum-files . ) # Verify checksums are good $> ( cd ~/thunderbird-3.1 && md5sum -c ~/thunderbird-3.0/MD5SUMS ) | cut -d: -f2 | sort | uniq -c # 439 OK $> ( cd ~/thunderbird-3.1 && sha1sum -c ~/thunderbird-3.0/SHA1SUMS ) | cut -d: -f2 | sort | uniq -c # 439 OK # Sanity set ownership $> chown -R tbirdbld:thunderbird ~/thunderbird-3.1 # Create empty index.html files for dir in `find ~/thunderbird-3.1 -type d -mindepth 1`; do touch $dir/index.html; done # Verify permission and ownership find . ! -user tbirdbld find . ! -group thunderbird find . -type f ! -perm 644 find . -mindepth 1 -type d ! -perm 755 ! -name 'contrib*' find . -maxdepth 1 -type d ! -perm 2775 -name 'contrib*' # Pretty, consistent last-modified times $> find . -print0 | xargs -0 touch -c -t 201006241000
# Push to ftp.m.o rsync -av ~/thunderbird-3.1/ /pub/mozilla.org/thunderbird/releases/3.1/
Attach CVS patch to Bug
eg. Bug 579142
Attach a patch (cvs diff -u) and request review from a colleague.
Once reviewed, submit the patch to CVS.
Send a notification email
Let people know what's been done. Note: this is a wide list so keep traffic low.
To: thunderbird-drivers@mozilla.org Subj: Thunderbird 2.0.0.24 => 3.1.1 Major Update available in test channels" Thunderbird 2.0.0.24 => 3.1.1 Major Update available in betatest and releasetest channels, unthrottled.
Message #tb-qa and #tbdrivers on IRC.