Thunderbird:1.5.0.14 2.0.0.14:Major Update:BuildNotes
From MozillaWiki
Contents
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