Closed
Bug 776045
Opened 13 years ago
Closed 13 years ago
Update gonk toolchain for B2G builds to ICS
Categories
(Infrastructure & Operations Graveyard :: CIDuty, task, P1)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: qdot, Assigned: jhford)
References
Details
(Whiteboard: [b2g][mock])
Attachments
(4 files)
2.00 KB,
patch
|
qdot
:
review+
jhford
:
checked-in+
|
Details | Diff | Splinter Review |
5.40 KB,
patch
|
bhearsum
:
review+
jhford
:
checked-in+
|
Details | Diff | Splinter Review |
362 bytes,
patch
|
bhearsum
:
review+
jhford
:
checked-in+
|
Details | Diff | Splinter Review |
661 bytes,
patch
|
mbrubeck
:
review+
jhford
:
checked-in+
|
Details | Diff | Splinter Review |
We're pretty set on shipping FirefoxOS on an ICS kernel now, but our tinderboxen for FOS are still GB. We need to get this upgraded.
Comment 1•13 years ago
|
||
What exactly is going to need to change on the releng side? We'll need a new mock environment set up, I'm guessing?
Priority: -- → P3
Whiteboard: [b2g][mock]
Comment 2•13 years ago
|
||
Yes, an updated toolchain.
Comment 3•13 years ago
|
||
aaaaand this just burned the tree [1] because developers weren't aware of the dated toolchain on the tinderboxes. Bumping this to a P1.
[1] https://tbpl.mozilla.org/?tree=Mozilla-Inbound&rev=02627fecb3e2
Priority: P3 → P1
Comment 4•13 years ago
|
||
The process works like this (similar to bug 748448 and bug 737153)
* developers generate a new gonk toolchain tarball, upload to people
* RelEng publishes to tooltool server, and generates change to http://hg.mozilla.org/mozilla-central/file/default/b2g/config/tooltool-manifests/releng.manifest
* developers push to try with manifest change and any appropriate patches
* if green push to inbound/central, otherwise iterate
Comment 5•13 years ago
|
||
(In reply to Nick Thomas [:nthomas] from comment #4)
> The process works like this (similar to bug 748448 and bug 737153)
AFAIUI, this is how it *used* to work. This was based on the old B2G build system which has long been obsoleted. I understand jhford has been working on code drops [1] that will allow us to provide RelEng with an entire source code snapshot of the Gonk toolchain. RelEng would then build Gonk (and later Gecko) much like developers do right now. Is this work being tracked anywhere for the RelEng part? If so, expediting that seems like a good idea to move this forward.
[1] https://github.com/mozilla-b2g/B2G/pull/48
Comment 6•13 years ago
|
||
According to http://hg.mozilla.org/build/buildbot-configs/file/default/mozilla/b2g_config.py#l88, we're still using those manifests. So, they need to be updated, and we need to rename some things in b2g_config.py (basically, s/gb/ics/g).
There may be additional builds in the works, but to get the basic b2g-only + desktop builds updated the above needs to be done.
Catlee should chime in about the additional builds, but he's out until Thursday.
Comment 7•13 years ago
|
||
(tweaking summary to match reality)
:kmachulis, :philikon: can you give us specific versions of kernel/tools to be used in the new toolchain?
Summary: Update FirefoxOS tinderboxes to ICS builds → Update mock toolchain to ICS
Comment 8•13 years ago
|
||
(In reply to John O'Duinn [:joduinn] from comment #7)
> :kmachulis, :philikon: can you give us specific versions of kernel/tools to
> be used in the new toolchain?
If by "versions" you mean a code drop (IOW, a manifest with locked down revisions or alternatively a tarball), then yes.
Comment 9•13 years ago
|
||
Is there any need to keep the old GB toolchain around?
Summary: Update mock toolchain to ICS → Update gonk toolchain for B2G builds to ICS
Comment 10•13 years ago
|
||
And yes, we're blocked on getting a new toolchain tarball. Where should I file a bug for that?
Comment 11•13 years ago
|
||
(In reply to Chris AtLee [:catlee] from comment #10)
> And yes, we're blocked on getting a new toolchain tarball.
As explained in comment 5, as far as I understand how it will work from now on, you'll be getting a *source* tarball from which you'll build everything (including the toolchain). This is how developers have been building B2G from the beginning and how it should be built on the tinderboxes as well.
(I'm mostly channeling others here, so they should feel free to correct me. Just trying to move this bug along. It's important.)
Comment 12•13 years ago
|
||
It would be better to get a tarball with the binaries instead so we don't have to compile the toolchain. My understanding was that we could use one of the toolchains in the prebuilt/ directory?
Assignee | ||
Comment 13•13 years ago
|
||
That toolchain is just the compiler toolchain. It doesn't have a lot of the headers that I understand us to depend on. In the old B2G build system, we had a "package-toolchain" target that would package up all the needed headers and libraries. The relevant sections of the makefile are:
https://github.com/andreasgal/B2G/blob/master/Makefile#L670
https://github.com/andreasgal/B2G/blob/master/Makefile#L693
It looks like it'd be easy to capture this logic in the new build system in a toolchain packaging script. I'm on PTO for the rest of the week, but I'll try to get this script written tonight. Once that's done someone will need to upload the file to the runtime-binaries server as I don't have access to it any more. We'll also need a new manifest for mozilla-central to point to the new toolchain tarball.
As for the releng portion, we will need the s/gb/ics/ in the buildbot configs. I am unsure why gingerbread was baked into the builder names at all, as that adds extra complexity to an upgrade like these where it isn't really needed.
We'd like to switch to a full B2G code-drop based build, but getting an updated toolchain is the quickest path to a working ICS based tinderbox builds. Doing the full code-drop based build doesn't mean that we'd be building the GCC toolchain, only that we'd be building in a 'real' B2G build environment.
Comment 14•13 years ago
|
||
(In reply to John Ford [:jhford] from comment #13)
> That toolchain is just the compiler toolchain. It doesn't have a lot of the
> headers that I understand us to depend on. In the old B2G build system, we
> had a "package-toolchain" target that would package up all the needed
> headers and libraries. The relevant sections of the makefile are:
>
> https://github.com/andreasgal/B2G/blob/master/Makefile#L670
> https://github.com/andreasgal/B2G/blob/master/Makefile#L693
>
> It looks like it'd be easy to capture this logic in the new build system in
> a toolchain packaging script. I'm on PTO for the rest of the week, but I'll
> try to get this script written tonight. Once that's done someone will need
> to upload the file to the runtime-binaries server as I don't have access to
> it any more. We'll also need a new manifest for mozilla-central to point to
> the new toolchain tarball.
How big is it?
> As for the releng portion, we will need the s/gb/ics/ in the buildbot
> configs. I am unsure why gingerbread was baked into the builder names at
> all, as that adds extra complexity to an upgrade like these where it isn't
> really needed.
At the time we were told that we would most likely be running the GB and ICS builds in parallel. It's better to be more explicit about what the target is.
> We'd like to switch to a full B2G code-drop based build, but getting an
> updated toolchain is the quickest path to a working ICS based tinderbox
> builds. Doing the full code-drop based build doesn't mean that we'd be
> building the GCC toolchain, only that we'd be building in a 'real' B2G build
> environment.
I don't know what you mean by a code-drop based build or a 'real' B2G build environment.
Comment 15•13 years ago
|
||
John, assigning to you to get the toolchain snapshot created.
Assignee: nobody → jhford
Assignee | ||
Comment 16•13 years ago
|
||
I've had the script to do file copying written for a while, just going through the changes since GB.
Assignee | ||
Comment 17•13 years ago
|
||
This patch adds the mozconfigs that are needed to use a toolchain based on ICS sources.
Attachment #647718 -
Flags: review?(kyle)
Comment 18•13 years ago
|
||
(In reply to John Ford [:jhford] from comment #17)
> Created attachment 647718 [details] [diff] [review]
> mozconfigs for ICS
>
> This patch adds the mozconfigs that are needed to use a toolchain based on
> ICS sources.
Can you add --enable-b2g-camera or make sure it works? We have it disabled by default right now to support GB builds.
Comment 19•13 years ago
|
||
Hmm, I guess while we're at it, we might as well also make sure that
ac_add_options --enable-media-plugins
ac_add_options --enable-omx-plugin
also work.
Assignee | ||
Comment 20•13 years ago
|
||
This depends on the mozconfigs change as well as landing the toolchain generation script, and uploading the toolchain to runtime-binaries and landing a manifest to point to the new toolhchain. There is also a very small buildbotcustom patch
I don't think it's useful to delete GB until ICS looks good.
Attachment #647721 -
Flags: review?(bhearsum)
Assignee | ||
Comment 21•13 years ago
|
||
Attachment #647722 -
Flags: review?(bhearsum)
Assignee | ||
Comment 22•13 years ago
|
||
(In reply to Michael Wu [:mwu] from comment #18)
> (In reply to John Ford [:jhford] from comment #17)
> > Created attachment 647718 [details] [diff] [review]
> > mozconfigs for ICS
> >
> > This patch adds the mozconfigs that are needed to use a toolchain based on
> > ICS sources.
>
> Can you add --enable-b2g-camera or make sure it works? We have it disabled
> by default right now to support GB builds.
(In reply to Michael Wu [:mwu] from comment #19)
> Hmm, I guess while we're at it, we might as well also make sure that
>
> ac_add_options --enable-media-plugins
> ac_add_options --enable-omx-plugin
>
> also work.
I'll do that for both. My guess is that for media and omx, I'm going to have to include stagefright headers, at least.
Comment 23•13 years ago
|
||
Comment on attachment 647721 [details] [diff] [review]
add an ICS platform
Review of attachment 647721 [details] [diff] [review]:
-----------------------------------------------------------------
This looks fine, but please hold off on landing until ics.manifest exists, and the packages that it points at. TBPL needs to be updated to support these platforms too. Specifically:
http://hg.mozilla.org/users/mstange_themasta.com/tinderboxpushlog/file/default/js/Config.js#l255 and http://hg.mozilla.org/users/mstange_themasta.com/tinderboxpushlog/file/default/js/Data.js#l504 need ics entries.
Attachment #647721 -
Flags: review?(bhearsum) → review+
Updated•13 years ago
|
Attachment #647722 -
Flags: review?(bhearsum) → review+
Reporter | ||
Comment 24•13 years ago
|
||
Comment on attachment 647718 [details] [diff] [review]
mozconfigs for ICS
Review of attachment 647718 [details] [diff] [review]:
-----------------------------------------------------------------
Looks like both of these are missing
ac_add_options --enable-b2g-bt --enable-b2g-ril
Which we need for telephony, bluetooth, wifi... We still need to clean up the name of enable-b2g-ril (bug 749834), but that's not a huge deal.
Comment 25•13 years ago
|
||
(In reply to Kyle Machulis [:kmachulis] [:qdot] from comment #24)
> Comment on attachment 647718 [details] [diff] [review]
> mozconfigs for ICS
>
> Review of attachment 647718 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> Looks like both of these are missing
>
> ac_add_options --enable-b2g-bt --enable-b2g-ril
>
> Which we need for telephony, bluetooth, wifi... We still need to clean up
> the name of enable-b2g-ril (bug 749834), but that's not a huge deal.
Those aren't in https://github.com/mozilla-b2g/gonk-misc/blob/master/default-gecko-config though so they're probably enabled by default.
Reporter | ||
Comment 26•13 years ago
|
||
Oh. Yeah. They are. Oops. r+.
Reporter | ||
Comment 27•13 years ago
|
||
Comment on attachment 647718 [details] [diff] [review]
mozconfigs for ICS
Review of attachment 647718 [details] [diff] [review]:
-----------------------------------------------------------------
Looks like both of these are missing
ac_add_options --enable-b2g-bt --enable-b2g-ril
Which we need for telephony, bluetooth, wifi... We still need to clean up the name of enable-b2g-ril (bug 749834), but that's not a huge deal.
Attachment #647718 -
Flags: review?(kyle) → review+
Comment 28•13 years ago
|
||
(In reply to Michael Wu [:mwu] from comment #25)
> Those aren't in
> https://github.com/mozilla-b2g/gonk-misc/blob/master/default-gecko-config
> though so they're probably enabled by default.
Yes, they're enabled by default for MOZ_WIDGET_GONK [1]. I guess that's also what we're building on the tinderboxes, so we're ok.
https://mxr.mozilla.org/mozilla-central/source/configure.in#2045
Assignee | ||
Comment 29•13 years ago
|
||
Ok, I fixed the --enable-b2g-camera dependencies
https://github.com/mozilla-b2g/B2G/commit/664c2acace8934bcbbb241204fd537b6cfb83a65
I've uploaded the new toolchain and bootstrap script.
Assignee | ||
Comment 30•13 years ago
|
||
Comment on attachment 647718 [details] [diff] [review]
mozconfigs for ICS
http://hg.mozilla.org/mozilla-central/rev/a25d0900dcda
Attachment #647718 -
Flags: checked-in+
Assignee | ||
Comment 31•13 years ago
|
||
I've landed a new manifest for the ICS based toolchain:
http://hg.mozilla.org/mozilla-central/rev/a2cac33cda2a
Assignee | ||
Comment 32•13 years ago
|
||
This is needed for us to use the ICS toolchain
Attachment #648089 -
Flags: review?(philringnalda)
Assignee | ||
Comment 33•13 years ago
|
||
Comment on attachment 648089 [details] [diff] [review]
add ics builds to tbpl
I learned that philor is on vacation. Can someone else please review it?
Attachment #648089 -
Flags: review?(philringnalda)
Attachment #648089 -
Flags: review?(ehsan)
Attachment #648089 -
Flags: review?
Comment 34•13 years ago
|
||
Comment on attachment 648089 [details] [diff] [review]
add ics builds to tbpl
Review of attachment 648089 [details] [diff] [review]:
-----------------------------------------------------------------
My only worry here was that "Armv7a ICS debug" would be too wide for the current tinderbox layout, but it seems to fit (at least with the default fonts on my Debian box).
Attachment #648089 -
Flags: review? → review+
Assignee | ||
Comment 35•13 years ago
|
||
Comment on attachment 648089 [details] [diff] [review]
add ics builds to tbpl
http://hg.mozilla.org/users/mstange_themasta.com/tinderboxpushlog/rev/1aab18652eca
Attachment #648089 -
Flags: review?(ehsan) → checked-in+
Assignee | ||
Comment 36•13 years ago
|
||
Comment on attachment 647721 [details] [diff] [review]
add an ICS platform
http://hg.mozilla.org/build/buildbot-configs/rev/5b04a93c9f3c
Attachment #647721 -
Flags: checked-in+
Assignee | ||
Comment 37•13 years ago
|
||
Comment on attachment 647722 [details] [diff] [review]
add ICS to getSupportedPlatforms()
http://hg.mozilla.org/build/buildbotcustom/rev/b95286f0d677
Attachment #647722 -
Flags: checked-in+
Comment 38•13 years ago
|
||
This made it into production yesterday afternoon.
Comment 39•13 years ago
|
||
I've confirmed this is working for my ICS patches on Try. We still need to deprecate / remove the GB builders for those patches to land though (possibly another bug?)
Comment 40•13 years ago
|
||
If you want to disable the gb builders, please file a new bug.
Assignee | ||
Comment 41•13 years ago
|
||
(In reply to Chris AtLee [:catlee] from comment #40)
> If you want to disable the gb builders, please file a new bug.
yep, that was the plan.
I don' think there is anything left to do in this bug.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Updated•12 years ago
|
Product: mozilla.org → Release Engineering
Updated•7 years ago
|
Component: Platform Support → Buildduty
Product: Release Engineering → Infrastructure & Operations
Updated•5 years ago
|
Product: Infrastructure & Operations → Infrastructure & Operations Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•