Build:Releases:Firefox:2-3 MajorUpdateTest: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Initial cut)
 
 
(14 intermediate revisions by the same user not shown)
Line 4: Line 4:
[https://bugzilla.mozilla.org/show_bug.cgi?id=394046 bug 394046]
[https://bugzilla.mozilla.org/show_bug.cgi?id=394046 bug 394046]


==Repack mar==
==From 2.0.0.11 to 3.0b2==
 
The first iteration.
 
===Repack mar===


A few packaging problems were discovered in applying the stock 3.b2 complete mars to en-US 2.0.0.11 installs. To fix this for b3, removed-files.in and the package-static files were adjusted. To let the current test continue asap, the 3.0b2 mars were repacked. Full details are in the bug, with the scripts and logs in [https://bugzilla.mozilla.org/attachment.cgi?id=296544 this tgz]. The repack was done on fx-linux-1.9-slave2 in <tt>~cltbld/cf/</tt>
A few packaging problems were discovered in applying the stock 3.b2 complete mars to en-US 2.0.0.11 installs. To fix this for b3, removed-files.in and the package-static files were adjusted. To let the current test continue asap, the 3.0b2 mars were repacked. Full details are in the bug, with the scripts and logs in [https://bugzilla.mozilla.org/attachment.cgi?id=296544 this tgz]. The repack was done on fx-linux-1.9-slave2 in <tt>~cltbld/cf/</tt>


==Generate updates==
===Generate updates===


  # ssh cltbld@fx-linux-1.9-slave2.mozilla.org (prod 1.9 box)
  # ssh cltbld@fx-linux-1.9-slave2.mozilla.org (prod 1.9 box)
Line 47: Line 51:
Push these to the aus staging box as 20080111-Fx2-3MUTest.
Push these to the aus staging box as 20080111-Fx2-3MUTest.


'''Everything below here is from the Fx1.5.0.12 to 2.0.0.6 major update, and will be edited towards sanity as we go'''
===Verify updates===
 
On fx-win32-1.9-slave2, fx-mac-1.9-slave2, fx-linux-1.9-slave2, do
 
mkdir -p /builds/verify/firefox-20011-3b2-fake-major/
cd /builds/verify/firefox-20011-3b2-fake-major/
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
./verify.sh -c moz18-firefox-$platform-major.cfg 2>&1 | tee $platform.log
 
Hand off to QA for testing. Further snippets testing and partner specific steps were done for [https://intranet.mozilla.org/Release:_Firefox_1.5.0.12_to_2.0.0.6_Major_Update Fx1.5.0.12 --> 2.0.0.6 update].
 
==From 2.0.0.12 to 3.0b3==
 
The second iteration, to test what other packaging fixes we need ahead of b4.
 
===Generate updates===
 
# ssh cltbld@fx-linux-1.9-slave2 (prod 1.9 box)
mkdir /builds/updates/firefox-20012-3b3-fake-major/
cd /builds/updates/firefox-20012-3b3-fake-major/
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d patcher -r UPDATE_PACKAGING_R1 mozilla/tools/patcher
# check out MozBuild
cd patcher
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d MozBuild -r UPDATE_PACKAGING_R1 mozilla/tools/release/MozBuild
cd ..
# config now lives in public repo
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d config mozilla/tools/patcher-configs/moz18-branch-major-update-patcher2.cfg
# apply patch waiting for review
cd config
curl -s https://bugzilla.mozilla.org/attachment.cgi?id=304201 | patch -p0
cd ..
cd patcher
export CVSROOT=cltbld@cvs.mozilla.org:/cvsroot
 
# build tools
./patcher2.pl --build-tools --app=firefox --tools-rev=UPDATE_PACKAGING_R1 \
--config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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=firefox \
  --config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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/firefox
ln -s 3.0b3 2.0.0.12-3.0b3
cd ../..
 
# Create partial patches and snippets
./patcher2.pl --create-patches --app=firefox \
--config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox-create-patches.log
 
Push aus2.test to the AUS staging box as 20080219-Fx20012-3b3-MU-test, do manual snippet verifications, and push live.
 
===Verify updates===
 
On fx-win32-1.9-slave2, fx-mac-1.9-slave2, fx-linux-1.9-slave2, do
 
mkdir -p /builds/verify/firefox-20012-3b3-fake-major/
cd /builds/verify/firefox-20012-3b3-fake-major/
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
# apply patch awaiting review
curl -s https://bugzilla.mozilla.org/attachment.cgi?id=304202 | patch -p0
./verify.sh -c moz18-firefox-$platform-major.cfg 2>&1 | tee $platform.log
 
==From 2.0.0.12 to 3.0b4==
 
The third iteration, to test what other packaging fixes we need ahead of b5.
 
===Generate updates===
 
# ssh cltbld@fx-linux-1.9-slave2 (prod 1.9 box)
mkdir /builds/updates/firefox-20012-3b4-fake-major/
cd /builds/updates/firefox-20012-3b4-fake-major/
# config now lives in public repo
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d config mozilla/tools/patcher-configs/moz18-branch-major-update-patcher2.cfg
# get patcher
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d patcher -r UPDATE_PACKAGING_R2 mozilla/tools/patcher
# check out MozBuild
cd patcher
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d MozBuild -r UPDATE_PACKAGING_R2 mozilla/tools/release/MozBuild
export CVSROOT=cltbld@cvs.mozilla.org:/cvsroot
 
# build tools
./patcher2.pl --build-tools --app=firefox --tools-rev=UPDATE_PACKAGING_R2 \
--config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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=firefox \
  --config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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/firefox
ln -s 3.0b4 2.0.0.12-3.0b4
cd ../..
 
# Create partial patches and snippets
./patcher2.pl --create-patches --app=firefox \
--config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox-create-patches.log
 
Push aus2.test to the AUS staging box as 20080317-Fx20012-3b4-MU-test, do manual snippet verifications, and push live.
 
===Verify updates===


==Generate null partner updates==
On fx-win32-1.9-slave2, fx-mac-1.9-slave2, fx-linux-1.9-slave2, do
Needed to block partners "falling back".


==Repack CJKT locales==
mkdir -p /builds/verify/firefox-20012-3b4-fake-major/
[https://bugzilla.mozilla.org/show_bug.cgi?id=385281 Bug 385281] has some influence here too ?
cd /builds/verify/firefox-20012-3b4-fake-major/
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/
# get patch to trawl "Only in" directories
cd common
# on mac & linux
curl -s https://bugzilla.mozilla.org/attachment.cgi?id=304252 | patch -p0
# on win32
wget --no-check-certificate -O patch https://bugzilla.mozilla.org/attachment.cgi?id=304252
patch -p0 < patch
cd ../updates
./verify.sh -c moz18-firefox-$platform-major.cfg 2>&1 | tee $platform.log
 
==From 2.0.0.14 to 3.0==
 
The fourth iteration, to test what other packaging fixes we need ahead of 3.0.1
 
===Generate updates===
 
# ssh cltbld@fx-linux-1.9-slave2 (prod 1.9 box)
mkdir /builds/updates/firefox-20014-3-fake-major/
cd /builds/updates/firefox-20014-3-fake-major/
# config now lives in public repo
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d config mozilla/tools/patcher-configs/moz18-branch-major-update-patcher2.cfg
# get patcher
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
export CVSROOT=cltbld@cvs.mozilla.org:/cvsroot
 
# build tools
./patcher2.pl --build-tools --app=firefox --tools-rev=UPDATE_PACKAGING_R4 \
--config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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=firefox \
  --config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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/firefox
ln -s 3.0 2.0.0.14-3.0
cd ../..
 
# Create partial patches and snippets
./patcher2.pl --create-patches --app=firefox \
--config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox-create-patches.log


===Create beta snippet dir===
Push aus2.test to the AUS staging box as 20080627-Fx20014-3-MU-test, do manual snippet verifications, and push live.


cd /builds/updates/1.5.0.12-major-updates/patcher/temp/firefox/1.5.0.12-2.0.0.4
===Verify updates===
rsync -a aus2/ aus2.beta/
find aus2.beta/ -type d -name "release" | xargs rm -rfv 2>&1 | tee -a beta_remove.log


Snippets were then pushed to aus as 20070904-Fx-1.5.0.12-major{,-beta,-test}
On fx-win32-1.9-slave2, fx-mac-1.9-slave2, fx-linux-1.9-slave2, do


Files on FTP are in the same location as the release, but the repacked CJKT MARs have "-mu" after the version number in the filename.  
mkdir -p /builds/verify/firefox-20014-3-fake-major/
cd /builds/verify/firefox-20014-3-fake-major/
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/
# get patch to trawl "Only in" directories
cd common
# on mac & linux
curl -s https://bugzilla.mozilla.org/attachment.cgi?id=304252 | patch -p0
# on win32
wget --no-check-certificate -O patch https://bugzilla.mozilla.org/attachment.cgi?id=304252
patch -p0 < patch
cd ../updates
./verify.sh -c moz18-firefox-$platform-major.cfg 2>&1 | tee $platform.log


Text files were put in for en-US, so bouncer would work:
==From 2.0.0.16 to 3.0.1==
http://stage.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.6/update/win32/en-US/firefox-2.0.0.6-mu.complete.mar


==Final testing==
The fifth iteration, are we there yet ?


===Snippets comparison===
===Update configs===


Compared known-good betatest channel snippets to proposed releasetest snippets.
Both the patcher and verify configs need updating for the new version - [https://bugzilla.mozilla.org/attachment.cgi?id=333503 patch]
Only found expected changes ("url" in CJKT locales, stage->bouncer)
cd /opt/aus2/snippets/staging/20070626-Fx-1.5.0.12-major-test
find -type d -iregex '.*release.*' | perl -nle '$a = $_; $a =~ s/releasetest/betatest/; system("diff -r -u $_ $a");'


Compared known-good beta channel snippets to proposed releasetest snippets.
===Generate updates===
Only found expected changes (url, hashValue, size in CJKT locales)
cd /opt/aus2/snippets/staging/20070626-Fx-1.5.0.12-major-test
find -type d -iregex '.*release.*' | perl -nle '$a = $_; $a =~ s/releasetest/betatest/; system("diff -r -u $_ $a");'


Compared known-good releasetest channel snippets to proposed release snippets:
# ssh cltbld@fx-linux-1.9-slave2 (prod 1.9 box)
  cd /opt/aus2/snippets/staging/20070626-Fx-1.5.0.12-major
mkdir /builds/updates/firefox-20016-301-fake-major/
  find -type d -iregex '.*release.*' | perl -nle '$a = $_; $a =~ s/release/releasetest/; system("diff -r -u $_ ../20070626-Fx-1.5.0.12-major-test/$a");' 2>&1 | grep -v test-cck
  cd /builds/updates/firefox-20016-301-fake-major/
# config now lives in public repo
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d config mozilla/tools/patcher-configs/moz18-branch-major-update-patcher2.cfg
# get patcher
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
export CVSROOT=cltbld@cvs.mozilla.org:/cvsroot
 
# build tools
./patcher2.pl --build-tools --app=firefox --tools-rev=UPDATE_PACKAGING_R4 \
--config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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=firefox \
  --config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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/firefox
ln -s 3.0.1 2.0.0.16-3.0.1
cd ../..
 
# Create partial patches and snippets
./patcher2.pl --create-patches --app=firefox \
--config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox-create-patches.log


==Partner specific==
Rsync temp/firefox/2.0.0.16-3.0.1/aus2.test to the AUS staging box as 20080814-Fx20016-301-MU-test, do manual snippet verifications, and push live.


Partners needed 2.0.0.6 MARs repacked to remove existing 1.5.0.12 appdir extensions, and add the 2.0.0.6 version. This was done using the repack_partners.py in CVS:/mofo/release/one-offs/repack_partners.py Also, contents.zip in the same location contains add/remove instructions for the manifest as well as the extensions to insert into the 2.0.0.6 MARs
===Verify updates===


Patcher had a bug with test URLs that have more than one dash in them; workaround was to copy aus2 to aus2.test and remove the "release" and "beta" channels from aus2.test
On fx-win32-1.9-slave2, fx-mac-1.9-slave2, fx-linux-1.9-slave2, do


Partners were deployed one-at-a-time by splitting their snippets into different directories:
mkdir -p /builds/verify/firefox-20016-301-fake-major/
  20070806-Fx-1.5.0.12-major-partners-portal20
  cd /builds/verify/firefox-20016-301-fake-major/
  20070806-Fx-1.5.0.12-major-partners-seznam
  cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d updates mozilla/testing/release/updates/
  20070827-Fx-1.5.0.12-major-partners-yahoo-cjkt
  cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d common mozilla/testing/release/common/
  20070827-Fx-1.5.0.12-major-partners-realnetworks
  20070827-Fx-1.5.0.12-major-partners-packardbell
# get patch to trawl "Only in" directories
20070827-Fx-1.5.0.12-major-partners-fujitsu-siemens
cd common
  20070827-Fx-1.5.0.12-major-partners-google
# on mac & linux
  20070912-Fx-1.5.0.12-major-partners-yahoo-japan
  curl -s https://bugzilla.mozilla.org/attachment.cgi?id=304252 | patch -p0
# on win32
  wget --no-check-certificate -O patch https://bugzilla.mozilla.org/attachment.cgi?id=304252
patch -p0 < patch
  cd ../updates
  ./verify.sh -c moz18-firefox-$platform-major.cfg 2>&1 | tee $platform.log


Tested each against known-good releasetest snippets:
Then push the logs up to [https://build.mozilla.org/logs/Firefox_2.0.0.16_3.0.1_MU/ here] (LDAP auth) and compare against the fourth iteration. When doing a diff, the only thing of note is that
find -type d -iregex '.*release-.*' | perl -nle '$a = $_; $a =~ s/release/releasetest/; system("diff -r -u $_ ../20070806-Fx-1.5.0.12-major-partners-test/$a");'
  PREPARE REMOVE searchplugins/pbi-pl.xml
+file cannot be removed because it does not exist; skipping
  PREPARE REMOVE searchplugins/taobao.xml
  file cannot be removed because it does not exist; skipping
...
  FINISH ADD searchplugins/fbc-pl.xml
-remove failed: -1,2 (searchplugins/fbc-pl.xml.moz-backup)
for the Polish locale (due to {{bug|408888}}, pbi-pl died and was replaced by fbcpl).

Latest revision as of 11:38, 14 August 2008

Build Engineers

nthomas (cf)

bug 394046

From 2.0.0.11 to 3.0b2

The first iteration.

Repack mar

A few packaging problems were discovered in applying the stock 3.b2 complete mars to en-US 2.0.0.11 installs. To fix this for b3, removed-files.in and the package-static files were adjusted. To let the current test continue asap, the 3.0b2 mars were repacked. Full details are in the bug, with the scripts and logs in this tgz. The repack was done on fx-linux-1.9-slave2 in ~cltbld/cf/

Generate updates

# ssh cltbld@fx-linux-1.9-slave2.mozilla.org (prod 1.9 box)
mkdir /builds/updates/firefox-20011-3b2-fake-major/
cd /builds/updates/firefox-20011-3b2-fake-major/
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d patcher mozilla/tools/patcher
# check out MozBuild
cd patcher
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d MozBuild mozilla/tools/release/MozBuild
cd ..
# config now lives in public repo
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d config mozilla/tools/patcher-configs/moz18-branch-major-update-patcher2.cfg

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

# build tools, NB no --tools-rev as tip of patcher was busted against
# the traditional MOZILLA_1_9a2_RELEASE tag
./patcher2.pl --build-tools --app=firefox \
--config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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=firefox \
 --config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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/firefox
ln -s 3.0b2 2.0.0.11-3.0b2
cd ../..

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

Push these to the aus staging box as 20080111-Fx2-3MUTest.

Verify updates

On fx-win32-1.9-slave2, fx-mac-1.9-slave2, fx-linux-1.9-slave2, do

mkdir -p /builds/verify/firefox-20011-3b2-fake-major/
cd /builds/verify/firefox-20011-3b2-fake-major/
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
./verify.sh -c moz18-firefox-$platform-major.cfg 2>&1 | tee $platform.log

Hand off to QA for testing. Further snippets testing and partner specific steps were done for Fx1.5.0.12 --> 2.0.0.6 update.

From 2.0.0.12 to 3.0b3

The second iteration, to test what other packaging fixes we need ahead of b4.

Generate updates

# ssh cltbld@fx-linux-1.9-slave2 (prod 1.9 box)
mkdir /builds/updates/firefox-20012-3b3-fake-major/
cd /builds/updates/firefox-20012-3b3-fake-major/
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d patcher -r UPDATE_PACKAGING_R1 mozilla/tools/patcher
# check out MozBuild
cd patcher
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d MozBuild -r UPDATE_PACKAGING_R1 mozilla/tools/release/MozBuild
cd ..
# config now lives in public repo
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d config mozilla/tools/patcher-configs/moz18-branch-major-update-patcher2.cfg

# apply patch waiting for review
cd config
curl -s https://bugzilla.mozilla.org/attachment.cgi?id=304201 | patch -p0
cd ..

cd patcher
export CVSROOT=cltbld@cvs.mozilla.org:/cvsroot
 
# build tools
./patcher2.pl --build-tools --app=firefox --tools-rev=UPDATE_PACKAGING_R1 \
--config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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=firefox \
 --config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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/firefox
ln -s 3.0b3 2.0.0.12-3.0b3
cd ../..
 
# Create partial patches and snippets
./patcher2.pl --create-patches --app=firefox \
--config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox-create-patches.log

Push aus2.test to the AUS staging box as 20080219-Fx20012-3b3-MU-test, do manual snippet verifications, and push live.

Verify updates

On fx-win32-1.9-slave2, fx-mac-1.9-slave2, fx-linux-1.9-slave2, do

mkdir -p /builds/verify/firefox-20012-3b3-fake-major/
cd /builds/verify/firefox-20012-3b3-fake-major/
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
# apply patch awaiting review
curl -s https://bugzilla.mozilla.org/attachment.cgi?id=304202 | patch -p0

./verify.sh -c moz18-firefox-$platform-major.cfg 2>&1 | tee $platform.log

From 2.0.0.12 to 3.0b4

The third iteration, to test what other packaging fixes we need ahead of b5.

Generate updates

# ssh cltbld@fx-linux-1.9-slave2 (prod 1.9 box)
mkdir /builds/updates/firefox-20012-3b4-fake-major/
cd /builds/updates/firefox-20012-3b4-fake-major/

# config now lives in public repo
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d config mozilla/tools/patcher-configs/moz18-branch-major-update-patcher2.cfg

# get patcher
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d patcher -r UPDATE_PACKAGING_R2 mozilla/tools/patcher
# check out MozBuild
cd patcher
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d MozBuild -r UPDATE_PACKAGING_R2 mozilla/tools/release/MozBuild

export CVSROOT=cltbld@cvs.mozilla.org:/cvsroot
 
# build tools
./patcher2.pl --build-tools --app=firefox --tools-rev=UPDATE_PACKAGING_R2 \
--config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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=firefox \
 --config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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/firefox
ln -s 3.0b4 2.0.0.12-3.0b4
cd ../..
 
# Create partial patches and snippets
./patcher2.pl --create-patches --app=firefox \
--config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox-create-patches.log

Push aus2.test to the AUS staging box as 20080317-Fx20012-3b4-MU-test, do manual snippet verifications, and push live.

Verify updates

On fx-win32-1.9-slave2, fx-mac-1.9-slave2, fx-linux-1.9-slave2, do

mkdir -p /builds/verify/firefox-20012-3b4-fake-major/
cd /builds/verify/firefox-20012-3b4-fake-major/
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/

# get patch to trawl "Only in" directories
cd common
# on mac & linux
curl -s https://bugzilla.mozilla.org/attachment.cgi?id=304252 | patch -p0
# on win32
wget --no-check-certificate -O patch https://bugzilla.mozilla.org/attachment.cgi?id=304252
patch -p0 < patch

cd ../updates
./verify.sh -c moz18-firefox-$platform-major.cfg 2>&1 | tee $platform.log

From 2.0.0.14 to 3.0

The fourth iteration, to test what other packaging fixes we need ahead of 3.0.1

Generate updates

# ssh cltbld@fx-linux-1.9-slave2 (prod 1.9 box)
mkdir /builds/updates/firefox-20014-3-fake-major/
cd /builds/updates/firefox-20014-3-fake-major/

# config now lives in public repo
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d config mozilla/tools/patcher-configs/moz18-branch-major-update-patcher2.cfg

# get patcher
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

export CVSROOT=cltbld@cvs.mozilla.org:/cvsroot
 
# build tools
./patcher2.pl --build-tools --app=firefox --tools-rev=UPDATE_PACKAGING_R4 \
--config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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=firefox \
 --config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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/firefox
ln -s 3.0 2.0.0.14-3.0
cd ../..
 
# Create partial patches and snippets
./patcher2.pl --create-patches --app=firefox \
--config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox-create-patches.log

Push aus2.test to the AUS staging box as 20080627-Fx20014-3-MU-test, do manual snippet verifications, and push live.

Verify updates

On fx-win32-1.9-slave2, fx-mac-1.9-slave2, fx-linux-1.9-slave2, do

mkdir -p /builds/verify/firefox-20014-3-fake-major/
cd /builds/verify/firefox-20014-3-fake-major/
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/

# get patch to trawl "Only in" directories
cd common
# on mac & linux
curl -s https://bugzilla.mozilla.org/attachment.cgi?id=304252 | patch -p0
# on win32
wget --no-check-certificate -O patch https://bugzilla.mozilla.org/attachment.cgi?id=304252
patch -p0 < patch

cd ../updates
./verify.sh -c moz18-firefox-$platform-major.cfg 2>&1 | tee $platform.log

From 2.0.0.16 to 3.0.1

The fifth iteration, are we there yet ?

Update configs

Both the patcher and verify configs need updating for the new version - patch

Generate updates

# ssh cltbld@fx-linux-1.9-slave2 (prod 1.9 box)
mkdir /builds/updates/firefox-20016-301-fake-major/
cd /builds/updates/firefox-20016-301-fake-major/

# config now lives in public repo
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d config mozilla/tools/patcher-configs/moz18-branch-major-update-patcher2.cfg

# get patcher
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

export CVSROOT=cltbld@cvs.mozilla.org:/cvsroot
 
# build tools
./patcher2.pl --build-tools --app=firefox --tools-rev=UPDATE_PACKAGING_R4 \
--config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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=firefox \
 --config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox_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/firefox
ln -s 3.0.1 2.0.0.16-3.0.1
cd ../..
 
# Create partial patches and snippets
./patcher2.pl --create-patches --app=firefox \
--config=../config/moz18-branch-major-update-patcher2.cfg 2>&1 | tee firefox-create-patches.log

Rsync temp/firefox/2.0.0.16-3.0.1/aus2.test to the AUS staging box as 20080814-Fx20016-301-MU-test, do manual snippet verifications, and push live.

Verify updates

On fx-win32-1.9-slave2, fx-mac-1.9-slave2, fx-linux-1.9-slave2, do

mkdir -p /builds/verify/firefox-20016-301-fake-major/
cd /builds/verify/firefox-20016-301-fake-major/
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/

# get patch to trawl "Only in" directories
cd common
# on mac & linux
curl -s https://bugzilla.mozilla.org/attachment.cgi?id=304252 | patch -p0
# on win32
wget --no-check-certificate -O patch https://bugzilla.mozilla.org/attachment.cgi?id=304252
patch -p0 < patch

cd ../updates
./verify.sh -c moz18-firefox-$platform-major.cfg 2>&1 | tee $platform.log

Then push the logs up to here (LDAP auth) and compare against the fourth iteration. When doing a diff, the only thing of note is that

 PREPARE REMOVE searchplugins/pbi-pl.xml
+file cannot be removed because it does not exist; skipping
 PREPARE REMOVE searchplugins/taobao.xml
 file cannot be removed because it does not exist; skipping
...
 FINISH ADD searchplugins/fbc-pl.xml
-remove failed: -1,2 (searchplugins/fbc-pl.xml.moz-backup)

for the Polish locale (due to bug 408888, pbi-pl died and was replaced by fbcpl).