Thunderbird: Update:BuildNotes

From MozillaWiki
Jump to: navigation, search

Build Engineer


bug 408906 for the config change.

Generate updates

# ssh
mkdir /builds/updates/
cd /builds/updates/
cvs -d co -d patcher -r UPDATE_PACKAGING_R4 mozilla/tools/patcher
# check out MozBuild
cd patcher
cvs -d co -d MozBuild -r UPDATE_PACKAGING_R4 mozilla/tools/release/MozBuild
cd ..
# get the config
cvs -d co -d config mozilla/tools/patcher-configs/moz180-branch-major-update-patcher2.cfg

cd patcher

# build tools
./ --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
./ --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
cd ../..

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

Compare snippets

cd /builds/updates/

# 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/
rsync -av -e 'ssh -i /home/cltbld/.ssh/aus' aus2.test/
rsync -av -e 'ssh -i /home/cltbld/.ssh/aus' aus2/

Enable test updates

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

Update verification

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

mkdir -p /builds/verify/
cd /builds/verify/
cvs -d co -d updates mozilla/testing/release/updates
cvs -d co -d common mozilla/testing/release/common
cd updates
# substitute the correct platform in the config name 
./ -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 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-

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-