Releases/Fennec 4.0b1/BuildNotes

From MozillaWiki
Jump to: navigation, search

Build Engineers

aki - bug 595977

Bugs encountered

  • bug 589985 Maemo release build uploads to wrong location for non-multilocale builds
  • bug 589986 Deb signing needs to be more flexible
  • bug 601323 Fennec desktop release builds upload to tinderbox-builds
  • bug 602329 betatest channel switch issue.
  • bug 602327 Android snippet creation needs to happen after signing

Signed-off Revision(s)

Build # mozilla-central mobile-browser
build 1 4791cfde3ca0 840649eabc3b
build 2 6bd3e0d8c5d1 7b91493b311b
build 3 54ee8240f2f9 7b91493b311b

Tags

On mozilla-central:

Build # Tag Moz Changeset Mobile Changeset
build 1 GECKO20b7pre_20100929_RELBRANCH cd8b5689ffbf 840649eabc3b
FENNEC_4_0b1_RELEASE, FENNEC_4_0b1_BUILD1 4791cfde3ca0 840649eabc3b
build 2 FENNEC_4_0b1_RELEASE, FENNEC_4_0b1_BUILD2 6bd3e0d8c5d1 7b91493b311b
build 3 FENNEC_4_0b1_RELEASE, FENNEC_4_0b1_BUILD3 54ee8240f2f9 7b91493b311b

Build data

Build # Type Build ID Build machine
build 1 Android 20101001204052 mv-moz2-linux-ix-slave04
Maemo5-GTK 20101001194104 linux-ix-slave14
Linux 20101001204635 linux-ix-slave14
Mac 20101001203726 bm-xserve06
Windows 20101001195559 mw32-ix-slave13
build 2 Android 20101005195720 mv-moz2-linux-ix-slave14
Maemo5-GTK 20101005191355 mv-moz2-linux-ix-slave16
Linux 20101005195231 moz2-linux-slave38
Mac 20101005210655 moz2-darwin9-slave46
Windows 20101005205414 win32-slave46
build 3 Android 20101006203925 moz2-linux-slave39
Maemo5-GTK 20101006201705 moz2-linux-slave28
Linux 20101006193552 mv-moz2-linux-ix-slave15
Mac 20101006211756 moz2-darwin9-slave46
Windows 20101006195146 mw32-ix-slave20

Notes

Build 1

  • I created the relbranch manually on Sept29 (at Stuart's request), on both m-c and m-b, and bumped the mobile-browser/default-version.txt to 4.0b1.
  • Checked in Android release updates (buildbotcustom) (buildbot-configs)
  • Landed version bumps, debsign config updates, mozconfig updates here
  • Updated debsigning configs in mozharness here and bumped PRODUCTION tag
  • brought over linux-ix-slave14 to pm:8011
  • reconfiged pm:8011, then noticed jhford had been using it. Checked, nothing broken. Left a note in his build notes.
  • sent r-d email since there had been a lag since go-to-build to get ducks in a row
  • closed m-c
  • Kicked off automation with
buildbot sendchange --username aki --master=localhost:9011 --branch=mobile-browser "Fennec 4.0b1 build1" doit
  • tagged buildbot-configs and buildbotcustom with FENNEC_4_0b1_RELEASE and FENNEC_4_0b1_BUILD1
  • reconfiged pmm:8011 for deb signing

Tag

mv-moz2-linux-ix-slave04

No problems; re-opened m-c

Source

mv-moz2-linux-ix-slave04

No problems.

Build/Repack

Hit bug 589985 again; needed to move build1/fennec* and build1/maemo* to build1/maemo5-gtk/

Hit bug 601323 -- make upload on Fennec desktop is uploading to tinderbox-builds for release builds =P

Fixed by finding the tinderbox-builds directories and moving them to build1/PLATFORM

Sign Android

Followed https://intranet.mozilla.org/Build:MobileSigning ; I need to update that script and check it in when Android packaging changes.

Deb Repos

Died on non-multilocale again :(

Checked in a fix; on smm:

cd /scratchbox/users/cltbld/home/cltbld/deb-unknown #this can be any mozharness checkout
hg pull
hg up -C
# This is copied from the output from the deb signing factory,
# but with |--locale en-US| added.
scripts/signdebs.py --config-file deb_repos/4.0_release.json --work-dir deb-unknown --log-level info --platform fremantle --locale en-US

I need to fix this.

Update testing

Push Live

Copy bits to releases/
Create new .install files
Create bouncer entries
Updates to beta channel

Build 2

  • Checked in fix for release desktop fennec uploads: configs custom
  • Checked in debsign bump + tagged PRODUCTION
  • Reconfiged pm02:8010
  • Started automation with
buildbot sendchange --username aki --master=localhost:9010 --branch=mobile-browser "Fennec 4.0b1 build2" doit
  • Reconfiged production-mobile-master:8011 (debsign)
  • tagged buildbot-configs and buildbotcustom with FENNEC_4_0b1_BUILD2 and bumped FENNEC_4_0b1_RELEASE tag

Tag

moz2-linux-slave40

no issues

reopened tree

Source

moz2-linux-slave42

no problems

Build/Repack

  • maemo5-gtk uploaded to build2/ rather than build2/maemo5-gtk (bug 589985 again). Manually created the maemo5-gtk directory and moved *.* there.
  • Hit bug 601323 again.
    • linux-i686 uploaded to /pub/mozilla.org/mobile/nightly/4.0b1-candidates/build2/
cd /home/ftp/pub/mobile/candidates/4.0b1-candidates/build2
mkdir linux-i686
mv ../../../nightly/4.0b1-candidates/build2/*linux* linux-i686/
    • win32-i686 uploaded to /pub/mozilla.org/mobile/nightly/4.0b1-candidates/build2/unsigned
cd /home/ftp/pub/mobile/candidates/4.0b1-candidates/build2
mv ../../../nightly/4.0b1-candidates/build2/unsigned win32-i686
    • macosx-i686 uploaded to /pub/mozilla.org/mobile/nightly/4.0b1-candidates/build2/
cd /home/ftp/pub/mobile/candidates/4.0b1-candidates/build2
mkdir macosx-i686
mv ../../../nightly/4.0b1-candidates/build2/*mac* macosx-i686/
cd ../../../nightly
ls -lR 4.0b1-candidates
rm -rf 4.0b1-candidates

Sign Android

https://intranet.mozilla.org/Build:MobileSigning is pretty seamless, minus the dvorak switching.

This will change shortly after 4.0b1, with make upload/the disappearance of gecko-unsigned-unaligned.apk.

Deb Repos

This went awesome due to the configs having

  • "locales": ["en-US"],

which kept it from erroring out on multi and the l10n repacks, and

which kept it from looking for multi/deb_name.txt and en-US/*.deb, respectively.

In a multilocale build with single locale repacks, we'll have to undo those changes.

Update testing

  • Ran into bug 602329 betatest channel switch issue. I pushed the snippets to the beta channel since no users have any builds that can update.
  • Ran into bug 602327 (complete.txt has wrong size/hash). Updated manually.

Once I fixed the complete.txt hash/filesize on the beta channel, updates worked smoothly.

Push Live

Copy bits to releases/

ffxbld@stage

cd /home/ftp/pub/mobile/releases
mkdir 4.0b1
cd 4.0b1
rsync -av --exclude=unsigned ../../candidates/4.0b1-candidates/build2/. .
rsync -av ../../candidates/4.0b1-candidates/repos .
ln -s repos maemo
cd ..
rm latest-alpha; ln -s 4.0b1 latest-alpha
rm latest-beta; ln -s 4.0b1 latest-beta
Create new .install files

I had to create new softlinks for the Firefox-beta.install files (no longer point to chinook; point to fremantle).

cd /home/ftp/pub/mobile/releases/maemo
for locale in * ; do
  if [ $locale = "firefox.install" ] ; then
    continue
  fi
  rm $locale/firefox-beta.install
  (cd $locale; ln -s firefox-fremantle-beta.install firefox-beta.install)
done

The .install files almost all look good. We need to switch for 4.0 (firefox.install -> firefox-fremantle.install) and if we add locales, but soon these will be mostly static.

Create bouncer entries

Created Firefox-Mobile-4.0b1 maemo /mobile/releases/maemo/:lang/firefox-beta.install

Also android /mobile/releases/4.0b1/android-r7/fennec.apk

Updates to beta channel

There are no releases out there that can update. Will do this for 4.0b2.

Build 3

  • Manually clobbered moz2-linux-slave42 mobile_source due to bug 537426
  • Checked in mozharness update for deb signing here and moved PRODUCTION tag
  • Checked in config update
  • Reconfiged pm02:8010
  • Closed tree
  • Started build with
buildbot sendchange --username aki --master localhost:9010 --branch=mobile-browser "Fennec 4.0b1 build3" doit
  • Reconfiged pmm:8011 (debsign) before remembering that I didn't need to (no debsign buildbot changes), but it doesn't hurt
  • Tagged buildbotcustom and buildbot-configs with FENNEC_4_0b1_BUILD3 and moved FENNEC_4_0b1_RELEASE tag

Tag

mv-moz2-linux-ix-slave16

No problems, but the 2nd 2.0b7pre RELBRANCH gave me a total scare.

Reopened tree.

Source

moz2-linux-slave41

No problems.

Build/Repack

  • bug 601323 - desktop builds still uploading to nightly w/o platform. moved them to the right location manually.
  • bug 589985 - maemo non-multilocale still uploading to buildN/ rather than buildN/maemo5-gtk/. moved to the right location manually.

Sign Android

https://intranet.mozilla.org/Build:MobileSigning is pretty seamless, minus the dvorak switching.

This will change shortly after 4.0b1, with make upload/the disappearance of gecko-unsigned-unaligned.apk.

After uploading, I:

openssl dgst -sha512 fennec.apk
SHA512(fennec.apk)= 75276b5391b5ea98c4bc38661fb8e4995bcc4fa4c8d021a2ac8661080d576d63aa8657d840367305ef4d3fd6f26e47dab884e8101a767c88a0e754e5f37d5884

ls -l fennec.apk
-rwxr-xr-x 1 ffxbld firefox 12404946 Oct  6 20:58 fennec.apk

Then I ssh'ed to aus2-staging and

/opt/aus2/incoming/3/Fennec/4.0b1/Android_arm-eabi-gcc3/20101001204052/en-US
mv betatest beta-cck-test # try mfinkle's idea for bug 602329
vi beta-cck-test/complete.txt
# put the sha512 hash and filesize into the complete.txt
# do the same for build2

Deb Repos

  • Forced a mozilla-central deb sign release on pmm:8011, no problems.

Update testing

  • I had manually set beta-cck-test channel for build1 and build2 -> build3 (manual filesize+hash too).
  • nhirata tested build1 and build2 on beta-cck-test (see here) by setting app.partner.test = test. Worked.

Push Live

Copy bits to releases/
cd /home/ftp/pub/mobile/releases
mkdir 4.0b1-real
cd 4.0b1-real
rsync --dry-run -av --exclude=unsigned --exclude=*.txt --exclude=*crashreporter* --exclude=*tests* --exclude=*unaligned* ../../candidates/4.0b1-candidates/build3/. .
rsync -av --exclude=unsigned --exclude=*.txt --exclude=*crashreporter* --exclude=*tests* --exclude=*unaligned* ../../candidates/4.0b1-candidates/build3/. .
rsync -av ../../candidates/4.0b1-candidates/repos .
ln -s repos maemo
cd ..
rm -rf 4.0b1 # get rid of build2 to avoid confusion
rm latest-alpha latest-beta
ln -s 4.0b1-real latest-alpha
ln -s 4.0b1-real latest-beta
# hack chinook for now... long term fix later?
cd 4.0b1-real/repos/en-US/dists
ln -s fremantle chinook
Create new .install files

The .install files from build2 should be fine.

Create bouncer entries

Changed the 4.0b1 android bouncer entry to point to 4.0b1-real

Updates to beta channel

n/a for 4.0b1, will start on 4.0b2.