Thunderbird:1.5.0.14 2.0.0.14:Major Update:BuildNotes

From MozillaWiki
Jump to: navigation, search

Build Engineer

nthomas

bug 408906 for the config change.

Generate updates

# ssh cltbld@fx-linux-1.9-slave2.mozilla.org
mkdir /builds/updates/1.5.0.14-tb-major-updates/
cd /builds/updates/1.5.0.14-tb-major-updates/
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d patcher -r UPDATE_PACKAGING_R4 mozilla/tools/patcher
# check out MozBuild
cd patcher
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d MozBuild -r UPDATE_PACKAGING_R4 mozilla/tools/release/MozBuild
cd ..
# get the config
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d config mozilla/tools/patcher-configs/moz180-branch-major-update-patcher2.cfg

cd patcher
export CVSROOT=cltbld@cvs.mozilla.org:/cvsroot

# build tools
./patcher2.pl --build-tools --app=thunderbird --tools-rev=UPDATE_PACKAGING_R4 \
--config=../config/moz180-branch-major-update-patcher2.cfg 2>&1 | tee thunderbird_build-tools.log

# download complete MARs
# FIXME - we only really need to "to" mars, not the "from" mars, but there must be "from"
#             mars present for patcher to build the patchinfo
./patcher2.pl --download --app=thunderbird \
 --config=../config/moz180-branch-major-update-patcher2.cfg 2>&1 | tee thunderbird_download.log

# 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 2.0.0.14 1.5.0.14-2.0.0.14
cd ../..

# Create partial patches and snippets
./patcher2.pl --create-patches --app=thunderbird \
--config=../config/moz180-branch-major-update-patcher2.cfg 2>&1 | tee thunderbird-create-patches.log

Compare snippets

cd /builds/updates/1.5.0.14-tb-major-updates/temp/thunderbird/1.5.0.14-2.0.0.14

# check betatest vs releasetest
cd aus2.test
find -type d -iregex '.*betatest.*' | perl -nle '$a = $_; $a =~ s/betatest/releasetest/; system("diff -r -u $_ $a");'

# check beta vs release 
cd ../aus2
find -type d -iregex '.*beta.*' | perl -nle '$a = $_; $a =~ s/beta/release/; system("diff -r -u $_ $a");'
 
# check betatest vs beta
cd ..
find aus2.test -type d -iregex '.*betatest.*' | perl -nle '$a = $_; $a =~ s/betatest/beta/; $a =~ s/\.test//; system("diff -r -u $_ $a");'

Push updates to update server

cd /builds/updates/1.5.0.14-tb-major-updates/temp/thunderbird/1.5.0.14-2.0.0.14
rsync -av -e 'ssh -i /home/cltbld/.ssh/aus' aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20080606-Thunderbird-1.5.0.14-major-test
rsync -av -e 'ssh -i /home/cltbld/.ssh/aus' aus2/      cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20080606-Thunderbird-1.5.0.14-major

Enable test updates

# log on to aus-staging
sudo su - cltbld
~/bin/backupsnip 20080606-Thunderbird-1.5.0.14-major-test
~/bin/pushsnip 20080606-Thunderbird-1.5.0.14-major-test

Update verification

On fx-{linux,mac,win32}-1.9-slave2:

mkdir -p /builds/verify/1.5.0.14-tb-major-updates
cd /builds/verify/1.5.0.14-tb-major-updates
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d updates mozilla/testing/release/updates
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d common mozilla/testing/release/common
cd updates
# substitute the correct platform in the config name 
./verify.sh -c moz180-thunderbird-linux-major.cfg 2>&1 | tee verify.log

Enable updates on release & beta

If you need to cancel/abort updates, the quickest way to do this is here

While waiting for formal "go", backup existing beta channel

 # login to aus2-staging
 $ sudo su - cltbld
 # make sure using latest version of scripts
 $ cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot get -d bin mozilla/tools/release/bin/ 
   cvs checkout: Updating bin
 $ cd /opt/aus2/snippets/staging
 # note the required parameter must match what will be used with pushsnip below. 
 $ ~/bin/backupsnip 20080606-Thunderbird-1.5.0.14-major

Once QA and overall driver gives formal "go" to put updates on beta channel

 # login to aus2-staging
 $ sudo su - cltbld
 $ cd /opt/aus2/snippets/staging
 $ ~/bin/pushsnip 20080606-Thunderbird-1.5.0.14-major