Releases/Firefox 2.0.0.20 MU/BuildNotes: Difference between revisions

mNo edit summary
 
(7 intermediate revisions by the same user not shown)
Line 4: Line 4:
= Bugs =
= Bugs =
{{bug|470521}} - tracking bug<br />
{{bug|470521}} - tracking bug<br />
TODO {{bug|XXXXXX}} - null partner updates
{{bug|472079}} - nulls for partners


= Generate Major Update Snippets =
= Generate Major Update Snippets =
Line 61: Line 61:
== Push to AUS ==
== Push to AUS ==
  cd /builds/2.0.0.20-major-update/snippets/patcher/temp/firefox/2.0.0.20-3.0.5
  cd /builds/2.0.0.20-major-update/snippets/patcher/temp/firefox/2.0.0.20-3.0.5
  rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20081219-Firefox-2.0.0.30-3.0.5-MU
  rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20081219-Firefox-2.0.0.20-3.0.5-MU
  rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.beta/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20081219-Firefox-2.0.0.20-3.0.5-MU-beta
  rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.beta/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20081219-Firefox-2.0.0.20-3.0.5-MU-beta
  rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20081219-Firefox-2.0.0.20-3.0.5-MU-test
  rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20081219-Firefox-2.0.0.20-3.0.5-MU-test
Line 196: Line 196:
  sys    0m0.383s
  sys    0m0.383s


<font color=red size=4>DONE TO HERE</font>
=Generate Null Partner Snippets=
 
== Create snippets ==
Starting from [https://bugzilla.mozilla.org/attachment.cgi?id=355355 attachment 355355], we create empty snippets to block partner builds from updating.
# ssh cltbld@prometheus-vm.build.mozilla.org
cd /builds/2.0.0.20-major-update/snippets/patcher/
# get a copy of https://bugzilla.mozilla.org/attachment.cgi?id=355355 ...
#    and save as partner-update-channels
# checkout out null_partners.sh and update versions and buildIDs
cd temp/firefox/2.0.0.20-3.0.5
bash ../../../one-offs/null_partners.sh ../../../partner-update-channels
NB: going to do the release-* and releasetest-* snippets this time, since there are no users on beta or betatest. releasetest-* will be used to check the nulls work properly.
 
We have to munge the Yahoo snippets because more than distribution is on the same channel but not all have a MU live at present
rm -vr aus2.null/Firefox/2.0.0.20/WINNT_x86-msvc/2008121709/{ko,zh-CN,zh-TW,en-US}/release*-cck-yahoo
 
Now check there are no vanilla snippets in there [no extended regexp in find :-(]
find aus2.null -regex '.*/release/.*'
find aus2.null -regex '.*/releasetest/.*'
find aus2.null -regex '.*/beta/.*'
find aus2.null -regex '.*/betatest/.*'
and that releasetest == release
find aus2.null -type d -iregex '.*release-.*' | perl -nle '$a = $_; $a =~ s/release/releasetest/; system("diff -r -u $_ $a");'
find aus2.null -type d -iregex '.*releasetest-.*' | perl -nle '$a = $_; $a =~ s/releasetest/release/; system("diff -r -u $_ $a");'
 
== Push to AUS server ==
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.null/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20090104-Firefox-2.0.0.20-3.0.5-MU-partner-null
 
== Push live ==
 
# cltbld@aus2-staging
~/bin/backupsnip 20090104-Firefox-2.0.0.20-3.0.5-MU-partner-null
~/bin/pushsnip 20090104-Firefox-2.0.0.20-3.0.5-MU-partner-null
 
Adds 23904 files to the 78718 already present, so there will be a ~ 30% time increase for future backups. We can remove the releasetest blocks later to save half of this.
 
== Verify nulls ==
 
Create a list of URLs to test
cd /builds/2.0.0.20-major-update/snippets/patcher/one-offs
 
Generate platform-specific locale lists
ls ../temp/firefox/2.0.0.20-3.0.5/aus2/Firefox/2.0.0.20/WINNT_x86-msvc/2008121709/ > locales-win32.txt
ls ../temp/firefox/2.0.0.20-3.0.5/aus2/Firefox/2.0.0.20/Darwin_Universal-gcc3/2008121709/ > locales-mac.txt
ls ../temp/firefox/2.0.0.20-3.0.5/aus2/Firefox/2.0.0.20/Linux_x86-gcc3/2008121709/ > locales-linux.txt
 
Update the version & BuildID in create_aus_urls-{linux,mac,win32}.sh, then
ln -s ../partner-update-channels
./create_aus_urls-linux.sh
./create_aus_urls-mac.sh
./create_aus_urls-win32.sh
 
Run tests for win32
./test_null_updates.sh urls-win32.txt 2>&1 | tee test-nulls-win32.txt
grep -v '^PASS' test-nulls-win32.txt
FAIL https://aus2.mozilla.org/update/1/Firefox/2.0.0.20/2008121709/WINNT_x86-msvc/en-US/releasetest-cck-yahoo/update.xml
FAIL https://aus2.mozilla.org/update/1/Firefox/2.0.0.20/2008121709/WINNT_x86-msvc/ko/releasetest-cck-yahoo/update.xml
FAIL https://aus2.mozilla.org/update/1/Firefox/2.0.0.20/2008121709/WINNT_x86-msvc/zh-CN/releasetest-cck-yahoo/update.xml
FAIL https://aus2.mozilla.org/update/1/Firefox/2.0.0.20/2008121709/WINNT_x86-msvc/zh-TW/releasetest-cck-yahoo/update.xml
Which is expected, those MU are live and therefore non-null info returned. Repeat for each other two platforms, get no failures.
 
Checked in null_partners.sh, create_aus_urls-{linux,mac,win32}.sh
 
= Add Slovenian locale =
 
While doing checks, discovered that si and sl had been omitted from the list of locales for 3.0.5, and that we weren't verifying en-US was updating properly. Fix is {{attachment|355863}}.
 
== Generate sl snippets ==
 
# cltbld@promethus-vm
cd /builds/2.0.0.20-major-update/snippets/patcher-configs/
cvs up moz18-branch-major-update-patcher2.cfg
cd ../patcher/
./patcher2.pl --download --app=firefox --config=../patcher-configs/moz18-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox_download2.log
# si and sl were downloaded for 3.0.5
cd temp/firefox/2.0.0.20-3.0.5
mkdir bak
rsync -a aus2 bak/ && rsync -a aus2.beta bak/ && rsync -a aus2.test bak/
cd /builds/2.0.0.20-major-update/snippets/patcher
./patcher2.pl --create-patches --app=firefox --config=../patcher-configs/moz18-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox-create-patches.log
# all snippets were regenerated
 
cd temp/firefox/2.0.0.20-3.0.5
rsync -a aus2/ aus2.beta/
find aus2.beta/ -type d -name "release" -exec rm -rfv {} \;
find aus2/ -type d -name "beta" -exec rm -rfv {} \;
diff -ru bak/aus2/ aus2/
Only in aus2/Firefox/2.0.0.20/Darwin_Universal-gcc3/2008121709: sl
Only in aus2/Firefox/2.0.0.20/Linux_x86-gcc3/2008121709: sl
Only in aus2/Firefox/2.0.0.20/WINNT_x86-msvc/2008121709: sl
diff -ru bak/aus2.beta/ aus2.beta/
Only in aus2.beta/Firefox/2.0.0.20/Darwin_Universal-gcc3/2008121709: sl
Only in aus2.beta/Firefox/2.0.0.20/Linux_x86-gcc3/2008121709: sl
Only in aus2.beta/Firefox/2.0.0.20/WINNT_x86-msvc/2008121709: sl
diff -ru bak/aus2.test/ aus2.test/
Only in aus2.test/Firefox/2.0.0.20/Darwin_Universal-gcc3/2008121709: sl
Only in aus2.test/Firefox/2.0.0.20/Linux_x86-gcc3/2008121709: sl
Only in aus2.test/Firefox/2.0.0.20/WINNT_x86-msvc/2008121709: sl
and those dirs in turn contain the right channels.
 
Push over to AUS (verified first with -n that only new files were sl; NB use of -rc and not -a)
rsync -rc -e 'ssh -i /home/cltbld/.ssh/aus' -v aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20081219-Firefox-2.0.0.20-3.0.5-MU
rsync -rc -e 'ssh -i /home/cltbld/.ssh/aus' -v aus2.beta/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20081219-Firefox-2.0.0.20-3.0.5-MU-beta
rsync -rc -e 'ssh -i /home/cltbld/.ssh/aus' -v aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20081219-Firefox-2.0.0.20-3.0.5-MU-test
 
Made a ~/bin/pushsnip-test which -n's the rsync, and check what is pushed. Then
~/bin/pushsnip 20081219-Firefox-2.0.0.20-3.0.5-MU-test
 
== Update verify ==


=Generate Null Partner Snippets=
Much the same as before (ie same hosts & setup).
cd /builds/verify/firefox-20020-305-real-major/updates
cvs up
platform=linux  # or mac or win32
cat moz18-firefox-$platform-major.cfg | \
  sed -e 's/locales=".*zh-TW"/locales="en-US sl"/' > temp.cfg
./verify.sh -c temp.cfg 2>&1 | tee $platform-2.log
which gave the same results as for the earlier check, so go ahead and push sl to beta
~/bin/pushsnip 20081219-Firefox-2.0.0.20-3.0.5-MU-beta


=Enable release snippets=
=Enable release snippets=


Cannot do this until nulls are in place, blocking all the partners without a 2.0.0.20 ---> 3.0.5 already live.
# cltbld@aus2-staging
date; time ~/bin/backupsnip 20081219-Firefox-2.0.0.20-3.0.5-MU
real    38m0.262s
user    0m38.100s
sys    0m58.012s
time ~/bin/pushsnip 20081219-Firefox-2.0.0.20-3.0.5-MU
real    0m8.010s
user    0m0.024s
sys    0m0.557s
 
<font color=red size=4>DONE TO HERE</font>
 
=Remove nulls=
 
If we should ship a Firefox 2.0.0.21 then we should remove the nulls.
Confirmed users
4,293

edits