Releases/Thunderbird 17.0esr/BuildNotes

From MozillaWiki
Jump to: navigation, search

Build 1

Checklist

Notes

Release was started using release-runner (bhearsum/rail), but the l10n-changesets were still handled manually by pointing the url to the release changesets commited to hg.

Build 1

Tagging failed due to race condition, see bug 812606.

Build 2

Mark discovered bug 812992

Build 3

Automation didn't bump/pick up properly. See bug 813538 - Tagging which uses an existing relbranch can fail to bump version files

Build 4

Mark discovered that there is no Thunderbird-17.0esr product in bouncer. I ran the bouncer submitter step manually.

Generate en-US MAR files

See bug 813757 - Firefox and Thunderbird 17.0esr builds don't have en-US MAR file for the details

  • mv-moz2-linux-ix-slave06
cd /builds/slave/tb-rel-c-esr17-lnx-bld/build

IP=`/sbin/ifconfig eth0 | grep "inet " | awk '{print $2}' | awk -F: '{print $2}'`
ssh -oBatchMode=no cltbld@buildbot-master12.build.mozilla.org \
  "curl --fail -k -Fslave_ip=$IP -Fduration=14400 --user user:pass \
  https://signing1.build.scl1.mozilla.com:9120/token" \
  > token
rm -f nonce

export MOZ_OBJDIR=objdir-tb
export MOZ_PKG_PRETTYNAMES=1
export MOZ_PKG_VERSION=17.0esr
export MOZ_UPDATE_CHANNEL=esr
export MOZ_SIGN_CMD="/tools/python-2.6.5/bin/python /builds/slave/tb-rel-c-esr17-lnx-bld/tools/release/signing/signtool.py --cachedir /builds/slave/tb-rel-c-esr17-lnx-bld/signing_cache -t /builds/slave/tb-rel-c-esr17-lnx-bld/build/token -n /builds/slave/tb-rel-c-esr17-lnx-bld/build/nonce -c /builds/slave/tb-rel-c-esr17-lnx-bld/tools/release/signing/host.cert -H signing1.build.scl1.mozilla.com:9120 -H signing2.build.scl1.mozilla.com:9120"

make -C objdir-tb/mozilla/tools/update-packaging
$MOZ_SIGN_CMD -H signing2.build.scl1.mozilla.com:9120 -f mar -f gpg objdir-tb/mozilla/dist/update/linux-i686/en-US/thunderbird-17.0esr.complete.mar
  • linux64-ix-slave04
cd /builds/slave/tb-rel-c-esr17-lnx64-bld/build

IP=`/sbin/ifconfig eth0 | grep "inet " | awk '{print $2}' | awk -F: '{print $2}'`
ssh -oBatchMode=no cltbld@buildbot-master12.build.mozilla.org \
  "curl --fail -k -Fslave_ip=$IP -Fduration=14400 --user user:pass \
  https://signing1.build.scl1.mozilla.com:9120/token" \
  > token
rm -f nonce

export MOZ_OBJDIR=objdir-tb
export MOZ_PKG_PRETTYNAMES=1
export MOZ_PKG_VERSION=17.0esr
export MOZ_UPDATE_CHANNEL=esr
export MOZ_SIGN_CMD="/tools/python-2.6.5/bin/python /builds/slave/tb-rel-c-esr17-lnx64-bld/tools/release/signing/signtool.py --cachedir /builds/slave/tb-rel-c-esr17-lnx64-bld/signing_cache -t /builds/slave/tb-rel-c-esr17-lnx64-bld/build/token -n /builds/slave/tb-rel-c-esr17-lnx64-bld/build/nonce -c /builds/slave/tb-rel-c-esr17-lnx64-bld/tools/release/signing/host.cert -H signing1.build.scl1.mozilla.com:9120 -H signing2.build.scl1.mozilla.com:9120"

make -C objdir-tb/mozilla/tools/update-packaging
$MOZ_SIGN_CMD -f mar -f gpg objdir-tb/mozilla/dist/update/linux-x86_64/en-US/thunderbird-17.0esr.complete.mar
  • bld-lion-r5-054
cd /builds/slave/tb-rel-c-esr17-osx64-bld/build
IP=`/sbin/ifconfig en0 | grep "inet " | awk '{print $2}'`
ssh -oBatchMode=no cltbld@buildbot-master12.build.mozilla.org   "curl --fail -k -Fslave_ip=$IP -Fduration=14400 --user user:pass \
  https://mac-signing3.build.scl1.mozilla.com:9120/token"   > token

export MOZ_OBJDIR=objdir-tb
export MOZ_PKG_PRETTYNAMES=1
export MOZ_PKG_VERSION=17.0esr
export MOZ_UPDATE_CHANNEL=esr
export MOZ_SIGN_CMD="python /builds/slave/tb-rel-c-esr17-osx64-bld/tools/release/signing/signtool.py --cachedir /builds/slave/tb-rel-c-esr17-osx64-bld/signing_cache -t /builds/slave/tb-rel-c-esr17-osx64-bld/build/token -n /builds/slave/tb-rel-c-esr17-osx64-bld/build/nonce -c /builds/slave/tb-rel-c-esr17-osx64-bld/tools/release/signing/host.cert -H mac-signing3.build.scl1.mozilla.com:9120 -H mac-signing3.build.scl1.mozilla.com:9120"

make -C objdir-tb/i386/mozilla/tools/update-packaging
$MOZ_SIGN_CMD -f mar -f gpg objdir-tb/i386/mozilla/dist/update/mac/en-US/thunderbird-17.0esr.complete.mar

* w64-ix-slave96

ssh -oBatchMode=no cltbld@buildbot-master12.build.mozilla.org \
  "curl --fail -k -Fslave_ip=10.12.40.127 -Fduration=14400 --user user:pass \
  https://signing1.build.scl1.mozilla.com:9120/token" \
  > token

export MOZ_OBJDIR=objdir-tb
export MOZ_PKG_PRETTYNAMES=1
export MOZ_PKG_VERSION=17.0esr
export MOZ_UPDATE_CHANNEL=esr
export MOZ_SIGN_CMD="python e:/builds/moz2_slave/tb-rel-c-esr17-w32-bld/tools/release/signing/signtool.py --cachedir e:/builds/moz2_slave/tb-rel-c-esr17-w32-bld/signing_cache -t e:/builds/moz2_slave/tb-rel-c-esr17-w32-bld/build/token -n e:/builds/moz2_slave/tb-rel-c-esr17-w32-bld/build/nonce -c e:/builds/moz2_slave/tb-rel-c-esr17-w32-bld/tools/release/signing/host.cert -H signing1.build.scl1.mozilla.com:9120"

make -C objdir-tb/mozilla/tools/update-packaging
$MOZ_SIGN_CMD -f mar -f gpg objdir-tb/mozilla/dist/update/win32/en-US/thunderbird-17.0esr.complete.mar
  • Copied all files to linux64-ix-slave14 (including firefox) to generate update checksums and sign them
for p in linux-i686 linux-x86_64 mac win32; do
  mkdir -p $p/en-US/
  wget -O $p/en-US/thunderbird-17.0esr.checksums.old \
    http://ftp.mozilla.org/pub/mozilla.org/thunderbird/candidates/17.0esr-candidates/build4/$p/en-US/thunderbird-17.0esr.checksums
  python ~/mozilla-central/build/checksums.py \
    -d sha512 -d md5 -d sha1 \
    -o $p/en-US/thunderbird-17.0esr.checksums.new \
    update/$p/en-US/thunderbird-17.0esr.complete.mar*
    rm -f $p/en-US/thunderbird-17.0esr.checksums
    cat $p/en-US/thunderbird-17.0esr.checksums.{old,new} > \
     $p/en-US/thunderbird-17.0esr.checksums
    rm -f $p/en-US/thunderbird-17.0esr.checksums.{old,new}
done

IP=`/sbin/ifconfig eth0 | grep "inet " | awk '{print $2}' | awk -F: '{print $2}'`
ssh -oBatchMode=no cltbld@buildbot-master12.build.mozilla.org \
  "curl --fail -k -Fslave_ip=$IP -Fduration=14400 --user user:pass \
  https://signing1.build.scl1.mozilla.com:9120/token" \
  > token
/tools/python-2.6.5/bin/python /builds/slave/rel-m-esr17-lnx64-bld/tools/release/signing/signtool.py \
  -t ~/token -n ~/nonce -c /builds/slave/rel-m-esr17-lnx64-bld/tools/release/signing/host.cert \
  -H signing1.build.scl1.mozilla.com:9120 -H signing1.build.scl1.mozilla.com:9120 -f gpg \
  `find . -type f -name '*17.0esr.checksums'`
 find . -type f -exec chmod 644 {} \;
 find . -type d -exec chmod 755 {} \;
  • on stage.m.p
# have to put the files in a readable place
extract_and_run_command.py -j2 clamdscan -m --no-summary -- /tmp/esr
cd /pub/mozilla.org/thunderbird/candidates/17.0esr-candidates/build4
rsync -avn ~/esr/thunderbird/ ./
# compare checksums files, make sure that they only add new lines
rsync -av ~/esr/thunderbird/ ./
  • Run generate checksums builder to update CHECKSUMS files
  • compare CHECKSUMS files with ones in releases directory
  • Run check permisssions
  • rsync to /releases/ (-n first)
rsync -avn --exclude=*tests* --exclude=*crashreporter* \
  --exclude=*.log --exclude=*.txt --exclude=*unsigned* \
  --exclude=*update-backup* --exclude=*partner-repacks* \
  --exclude=*.checksums --exclude=*.checksums.asc --exclude=logs \
  --exclude=jsshell* --exclude=*.zip --exclude=*.zip.asc \
  /pub/mozilla.org/thunderbird/nightly/17.0esr-candidates/build4/ /pub/mozilla.org/thunderbird/releases/17.0esr/

Bugs hit

  • bug 812606 - tagging rebase step shouldn't try to fire vim to resolve conflicts
  • bug 813072 - Push to mirrors doesn't happen with disabled updates
  • bug 812992 - ACCEPTED_MAR_CHANNEL_IDS and MAR_CHANNEL_ID not updated for Thunderbird in mozilla-esr17
  • bug 813538 - Tagging which uses an existing relbranch can fail to bump version files
  • bug 813552 - Bouncer submitter should be run if tagging fails for build1
  • bug 813698 - uptake monitoring shouldn't check MAR files when updates are disabled