Releases/Fennec 4.0.1/BuildNotes

From MozillaWiki
Jump to: navigation, search

Build Engineers

lsblakk bug 649519

Bugs encountered

Signed-off Revision(s)

Build # mozilla-2.1 mobile-2.0
build 1 0d759421479d dd7c77c39aac

Tags

Build # Tag Moz Changeset Mobile Changeset
build 1 GECKO211_20110415_RELBRANCH cdfb0f125686 ede8dfadd1ad
FENNEC_4_0_1_BUILD1, FENNEC_4_0_1_RELEASE cdfb0f125686 c26d35fd9f47

Build data

Build # Type Build ID Build machine
build 1 Android 20110415172201 moz2-linux-slave45
Maemo5-GTK 20110415172141 moz2-linux-slave43
Linux 20110415165636 moz2-linux-slave46
Mac 20110415164658 bm-xserve07
Windows 20110415171321 win32-slave46

Notes

Build 1

Setup

l10n changesets

Start

  • landed configs & deb_configs
  • merged to production branch on buildbot-configs
  • clobbered pm02:8010
  • updated configs-default + buildbotcustom on pm02, reconfiged
  • took bm-xserve07 (via slavealloc) for mac builds
  • sendchange:
buildbot sendchange --user lsblakk --master localhost:9010 --branch=releases/mobile-2.0 "Fennec 4.0.1 build1" go

Tag

moz2-linux-slave44

no problem

Source

mv-moz2-linux-ix-slave18

first run failed, had to clobber mobile-source dir and rebuild.

Build/Repack

mac desktop: bm-xserve07

repack

Sign Android

ran this script in ~ on cm-keymaster

export VERSION=4.0.1
export PRODUCT=fennec
export BUILD=build1

# on keymaster in ~/signing-work
cd ~/signing-work
mkdir $PRODUCT-$VERSION
cd $PRODUCT-$VERSION/

# we sign both en-US and multi 
# need sep dirs since they are both named gecko-unsigned-unaligned.apk
echo "Creating directories"
mkdir -p $BUILD/en-US
mkdir $BUILD/multi
echo "Getting the unsigned apks"
# get en-US apk
cd $BUILD/en-US/
wget http://stage.mozilla.org/pub/mozilla.org/mobile/candidates/$VERSION-candidates/$BUILD/unsigned/android-r7/en-US/gecko-unsigned-unaligned.apk
# get multi apk 
cd ../multi/
wget http://stage.mozilla.org/pub/mozilla.org/mobile/candidates/$VERSION-candidates/$BUILD/unsigned/android-r7/multi/gecko-unsigned-unaligned.apk

# put the signing script in the ~/signing-work/fennec-4.0rc1/ dir
echo "Copying signing script from hg-tools"
cd  ~/signing-work/$PRODUCT-$VERSION/
cp ~/hg-tools/release/signing/* .
# copy the en-US apk up to pwd for signing -- there is a bug on this 
# (608432), it's because sign_android.sh relies on mozpass.py and that has to
# be in the same dir as .apk to work
echo "Prepare to sign en-US"
cp $BUILD/en-US/gecko-unsigned-unaligned.apk .
./sign_android.sh 
# if any problems with signing, remove gecko-unaligned.apk and start again
# signing successful?  copy back to the en-US
echo "en-US signed, cleaning up"
mv gecko-unaligned.apk $BUILD/en-US/
# rename the fennec.apk, then move
mv $PRODUCT.apk $PRODUCT-$VERSION.en-US.eabi-arm.apk
mv $PRODUCT-$VERSION.en-US.eabi-arm.apk $BUILD/en-US/
# clean up any left overs  
rm *.apk
# repeat for multi
echo "Prepare to sign multi"
cp $BUILD/multi/gecko-unsigned-unaligned.apk .
./sign_android.sh 
echo "multi signed, cleaning up"
mv gecko-unaligned.apk $BUILD/multi/
mv $PRODUCT.apk $PRODUCT-$VERSION.multi.eabi-arm.apk
mv $PRODUCT-$VERSION.multi.eabi-arm.apk $BUILD/multi/
rm *.apk
# upload to stage
cd $BUILD/ 
echo "Uploading signed builds"
scp -i ~/.ssh/ffxbld_dsa -r * ffxbld@stage.mozilla.org:/home/ftp/pub/mobile/candidates/$VERSION-candidates/$BUILD/android-r7

Deb Repos

won't do this step yet since there isn't a mozilla-2.1 debsign builder, filed bug 650449 on this and will address on Monday morning.

Fixed the bug, ran the mozilla-2.1 deb sign release builder, no problems.

Push Live

Copy bits to releases/
# ffxbld@stage /home/ftp/pub/mobile/releases
mkdir 4.0.1
cd 4.0.1

# exclude *old* to avoid copying in the old original android apk
# exclude maemo5-gtk to skip single locale repacks
rsync --dry-run -av --exclude=unsigned --exclude=*.txt --exclude=*crashreporter* --exclude=*tests* --exclude=*unaligned* --exclude=*old* --exclude=maemo5-gtk ../../candidates/4.0.1-candidates/build1/. .
rsync -av --exclude=unsigned --exclude=*.txt --exclude=*crashreporter* --exclude=*tests* --exclude=*unaligned* --exclude=*old* --exclude=maemo5-gtk ../../candidates/4.0.1-candidates/build1/. .
mkdir maemo5-gtk
cd maemo5-gtk
rsync --dry-run -av --exclude=unsigned --exclude=*.txt --exclude=*crashreporter* --exclude=*tests* --exclude=*unaligned* --exclude=*old* ../../../candidates/4.0.1-candidates/build1/maemo5-gtk/multi .
rsync -av --exclude=unsigned --exclude=*.txt --exclude=*crashreporter* --exclude=*tests* --exclude=*unaligned* --exclude=*old* --exclude=maemo5-gtk ../../../candidates/4.0.1-candidates/build1/maemo5-gtk/multi .
cd ..

# and repos
mkdir repos
rsync -av --exclude=*.install ../../candidates/4.0.1-candidates/repos/ repos/

# symlink repos
ln -s repos maemo
cd ..
rm latest-*; ln -s 4.0.1 latest-beta; ln -s 4.0.1 latest-alpha

# link freemantle to chinook for multi deb repo
# in /home/ftp/pub/mobile/releases/4.0rc1/maemo/multi/dists
ln -s freemantle chinook

Create new .install files
Create bouncer entry for maemo
  1. did not create android link as bits are stored on android market

Firefox-Mobile-4.0.1 maemo /mobile/releases/maemo/:lang/firefox.install

(aki updated the above)

Create softlinks

already did in the push release bits section