Releases/Thunderbird 3.0/BuildNotes
From MozillaWiki
< Releases | Thunderbird 3.0
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
Notes
Generate major update
# ssh momo-vm-02 $> mkdir -p /builds/3.0.11-3.5rc3build2-major-update-test/snippets $> cd /buildbot/updates/build # download mars $> ./patcher2.pl --download --app=thunderbird --config=patcher-configs/moz19-thunderbird-branch-major-update-patcher2.cfg # 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.0 2.0.0.23-3.0 $> cd ../.. # Create partial patches and snippets $> ./patcher2.pl --create-patches --app=thunderbird --config=patcher-configs/moz19-thunderbird-branch-major-update-patcher2.cfg 2>&1 | tee ../2.0.0.23-3.0.log
Quick verify
Check that releasetest = beta = release.
cd temp/thunderbird/2.0.0.23-3.0 # 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
$> cd /builds/3.0.11-3.5rc3build2-major-update-test/snippets/patcher/temp/firefox/3.0.11-3.5rc3 $> 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 $> 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.23-3.0-MU-test $> ~/bin/pushsnip 20091206-Thunderbird-2.0.0.23-3.0-MU-test
Stage & Rename files
# tbirdbld@stage.mozilla.org $> mkdir ~/thunderbird-3.0 && cd ~/thunderbird-3.0 # No peeking $> chmod 700 ~/thunderbird-3.0
# Copy 3.0 rc3 $> rsync -av \ --exclude="*.log" \ --exclude="*.txt" \ --exclude="*unsigned*" \ --exclude="*.partial.mar" \ --exclude="*.crashreporter-symbols.zip" \ --exclude="MD5SUMS" --exclude="MD5SUMS.asc" \ --exclude="SHA1SUMS" --exclude="SHA1SUMS.asc" \ /pub/mozilla.org/thunderbird/nightly/3.0rc3-candidates/build1/ \ ~/thunderbird-3.0/
# Grab solaris builds from rc2 $> rsync -av \ --exclude="*.partial.mar" --exclude="*.partial.mar.*sum" \ /pub/mozilla.org/thunderbird/releases/3.0rc2/contrib* \ ~/thunderbird-3.0/
# 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.0-shipped-locales http://hg.mozilla.org/releases/comm-1.9.1/raw-file/THUNDERBIRD_3_0rc3_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.0-shipped-locales \ -l bz2 \ -d ~/thunderbird-3.0 # PASS: all files present, no extras
# Rergenerate MD5/SHA1 checksum files $> ( cd ~/thunderbird-3.0 && ~cltbld/bin/checksum-files . ) # Verify checksums are good $> ( cd ~/thunderbird-3.0 && md5sum -c ~/thunderbird-3.0/MD5SUMS ) | cut -d: -f2 | sort | uniq -c # 439 OK $> ( cd ~/thunderbird-3.0 && sha1sum -c ~/thunderbird-3.0/SHA1SUMS ) | cut -d: -f2 | sort | uniq -c # 439 OK
# Sanity set ownership $> chown -R tbirdbld:thunderbird ~/thunderbird-3.0
# Create empty index.html files for dir in `find ~/thunderbird-3.0 -type d -mindepth 1`; do touch index.html $dir/; done
# Pretty, consistent last-modified times $> find . -print0 | xargs -0 touch -c -t 200912072000
# 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*'
# Push to ftp.m.o rsync -av ~/thunderbird-3.0/ /pub/mozilla.org/thunderbird/releases/3.0/