Commit Graph

9 Commits

Author SHA1 Message Date
Alexandre Lissy
abd14c07f4 Bug 1264060 - Update arch triplet for B2G builds. r=gerard-majax a=tomcat 2016-04-21 05:57:00 +02:00
Carsten "Tomcat" Book
e7a151e002 Backed out changeset ab5be7357e53 (bug 1264060) for issues with the patch 2016-04-21 10:57:20 +02:00
nhirata
f3c4abe1a3 bug 1264060 - Nexus 5 L and Aries builds are not pushed to Taskcluster artifacts repo correctly. r=me
MozReview-Commit-ID: InB4faPIsMn
2016-04-20 19:08:25 +02:00
Alexandre Lissy
c45b63e8df Bug 1201540 - Add support for multiple OTA/FOTA types. r=catlee
B2G updates can be of multiple types:
 - OTA, applied without rebooting the device,
 - FOTA with only Gecko/Gaia,
 - FOTA with whole system partition files,
 - FOTA dumping partitions images.

Each type of updates has its advantages and drawbacks. There is an
extensive documentation maintained on MDN about each and the options:
https://developer.mozilla.org/en-US/Firefox_OS/Building_and_installing_Firefox_OS/Firefox_OS_update_packages

All those updates are being packaged as a MAR file that gets injected
into the classical Firefox update mechanism, submitted to Balrog and
downloaded by the client. The content of the MAR will however depend on
the type of update: an OTA update will packate a Gecko and Gaia set of
files to update those parts; while any FOTA package is just an
update.zip that will get applied in recovery mode on the device.

So one fundamental difference is that OTA will not reboot your device
(just Gecko) while FOTA requires a working recovery mode and will reboot
your device. But OTA needs more system partition space to get applied,
and it can only update files that are within the /system/b2g/ directory.
FOTA on the other hand can update anything since the payload will
contain an update script written in Edify (Android recovery update
scripting language).

For each device we might need to produce several types of updates that
will be pushed to users depending on the context: for some users we want
to push just a Gecko/Gaia update, for some we know that we need to
update more content and thus we need to send some partitions.
Previously, the b2g_build.py script would only allow one kind of update
payload to be produced for each device available: we would need to have
a device "flame-kk-ota" and "flame-kk-fota" just to produce the OTA and
FOTA packages for the same device, thus resulting in a waste of
computing power and storage.

This commit introduces a new field "update_types" that can take an array
of values:
 - ota, to produce an OTA package as before
 - fota, to produce a FOTA package with only Gecko/Gaia
 - fota:full, to produce a FOTA package of all files of the system
   partition
 - fota:fullimg, to produce a FOTA package dumping partitions

The old "update_type" will be used in the absence of "update_types". And
if none are present, we will keep defaulting to generating OTA as
previously.
2015-11-03 10:25:00 +01:00
Alexandre Lissy
3bb3d42877 Bug 1221645 - Make Nexus 4 KK and Nexus 5 L full images public. r=wcosta 2015-11-04 11:51:00 +01:00
Wander Lairson Costa
5631a7aebf Backout "Bug 1144808 part 2: Harden phone-builder image."
Things just got too hard for B2G people to change build scripts, so we
are backing out this.
2015-10-28 11:17:58 -02:00
Wander Lairson Costa
df1634ab75 Bug 1144808 part 2: Harden phone-builder image. r=garndt
We don't run free commands from tasks, we now allow only scripts shipped
in the phone-builder image.

We also added support to an allowed whitelist of github and bitbucket
users to run tasks from their respective private repositories.
2015-10-22 11:40:22 -02:00
Alexandre Lissy
d15dab7a90 Bug 1206379 - Fix blobfree distribution collect for nexus-5-l. r=wcosta 2015-09-22 04:13:00 +02:00
Wander Lairson Costa
396c77e24d Bug 1175934 part 2: Support blobfree images.
When we ./build.sh blobfree, we have a new zip file called
<target>.blobfree-dist.zip which contains a blobfree image. We copy this
file to public artifact.

We also refactor the build scripts a little bit to deduplicate the post
build code.
2015-07-31 17:24:46 -03:00