I'm working on merging the latest cupcake code drop into master. The
task is quite hairy, so the following two guidelines probably apply:
-please don't submit anything in gerrit, as you'll just get in my way.
-now is a good time to repo sync master, as I'm going to have to
submit the result of the merge in a state where it doesn't build, and
I have no idea how long it'll take to get it to build again after
that.
Thanks,
JBQ
--
Jean-Baptiste M. "JBQ" Queru
Android Engineer, Google.
Questions sent directly to me that have no reason for being private
will likely get ignored or forwarded to a public forum with no further
warning.
Starting right now, you may want to avoid initiating a new repo sync,
unless you're OK ending up with a tree that might not even compile.
JBQ
Caveats:
-THE BUILD IS BROKEN. You've been warned. There's been some drift
around OpenCORE (probably situations where new code was written in
cupcake that uses OpenCORE 1, or where APIs were removed in cupcake
that OpenCORE 2 relies on).
The proper command to try to merge the OpenCORE code should be "git
merge remotes/korg/cupcake" (I'm typing from memory).
-I'm not 100% sure that the server contains exactly what it should.
I've had a filesystem failure right as I was trying to verify it, and
I'm not gonna be able to verify until at least sometime tomorrow.
JBQ
Steps:
-remove the opencore files ( rm -rf external/opencore
.repo/projects/external/opencore.git ). Remove opencore from your
.repo/manifest.xml if you intend to repo sync the entire world but
don't want to have to remove opencore every single time.
-patch in change 9300 ( repo download platform/frameworks/base 9300/1 )
-most probably do a clean build ( rm -rf out/ ; make )
I've "tested" on a device/release/generic/userdebug build. On my
machine, it compiles, launches. The media process dies (which probably
means that downloads are busted too), as well as the music player. The
browser starts and can access the network.
JBQ
JBQ
In addition to everything that's broken on the emulator, wifi doesn't
work (but 3G data does). It can place phone calls but not receive
them. The orientation system is busted. Contacts crash. The SD card
doesn't seem to be recognized. I've had a few random restarts. But,
hey, it's the latest open-source tree running on real hardware :)
JBQ
If you could have a source tree that exactly matches a released
device, that'd be possible, though very fragile as there are still
plenty of things you couldn't change in the system (e.g. you couldn't
add or remove system resources).
Unless Google reverses its position on providing its applications for
open-source builds, we need to assume that master builds just won't
have access to Google's apps.
JBQ
Your point remains, it'd be nice if Google could make their apps
available for the Android Open-Source Project. I've relayed that
request several times, so I know that the people who can make such a
decision know about it.
Personally, I'm more concerned about getting the code from the Android
Open-Source Project to reliably work on some flashable and commonly
available hardware.
JBQ
JBQ
The need to remove opencore and patch in 9300 is still there, though.
I was hoping for a better solution before the week-end, but somehow
trying to replicate 9300 "cleanly" didn't quite work and I can't spot
the difference.
JBQ
JBQ
-no need to delete the opencore directory or to remove it from the manifest.
-you need to repo download changes 9355, 9356 and 9357. No need to
take 9300. I know it's 3 changes instead of 1, because I had to touch
a few more parts of the system, but those are much cleaner.
-only tested on the emulator, so those might very well cause
regressions on dream.
JBQ
The real process would have been to do a "repo manifest -r -o -" in a
synced tree before the merge, and post this manifest here on the
group. This can still be done today by someone who has a synced tree
in the state as of Wednesday noon PDT. I don't have such a tree, and
my top priority at this point is to help people move ahead, not to
help them stay behind.
The breakage wasn't supposed to last that long. I expected a day at
most, and it's been 3 days already. I'm really sorry about that. I've
been trying to fix things, but it turned out to be much harder than I
had anticipated, at several different levels.
If you'd like to help, my current sticky point is to find out why my
LOCAL_CFLAGS in
https://review.source.android.com/Gerrit#patch,sidebyside,9356,1,media/libmediaplayerservice/Android.mk
doesn't seem to get passed to the compiler, so that I've had to
temporarily use #if 0 instead of #ifndef opencore in the source tree.
We'll also need a better fix for 9357, as I guess it should be
possible to prevent that crash without having to modify the phone app.
JBQ
Doh. Doh. Doh. Doh.
JBQ
JBQ
Latest status:
-we're back to one patch: 9356.
-build with "BUILD_WITHOUT_PV=true make"
-quickly tested both on emulator and dream, and seems to work well
enough to not have the phone app crash in a loop.
-I expect to submit 9356 on Monday morning PDT.
JBQ
(you can get it from http://r.android.com/9356 where there's even a
magic "copy" button for it)
JBQ
You need to get 9356 and compile with "BUILD_WITHOUT_PV=true make"
JBQ
On Mon, Mar 23, 2009 at 6:27 AM, Breno <breno....@gmail.com> wrote:
>
> Hey JBQ,
>
> I can't find the changes 9355 and 9357. I download the change 9356
> patch 4, and still now compiling. Where can i find this others patch?
>
> Thanks a lot
>
> Breno
>> >> >>brokenbuild. That would certainly help.
>> >> >> > >> -THE BUILD ISBROKEN. You've been warned. There's been some drift
>> >> >> > >> around OpenCORE (probably situations where new code was written in
>> >> >> > >>cupcakethat uses OpenCORE 1, or where APIs were removed incupcake
>> >> >> > >> that OpenCORE 2 relies on).
>>
>> >> >> > >> The proper command to try to merge the OpenCORE code should be "git
>> >> >> > >> merge remotes/korg/cupcake" (I'm typing from memory).
>>
>> >> >> > >> -I'm not 100% sure that the server contains exactly what it should.
>> >> >> > >> I've had a filesystem failure right as I was trying to verify it, and
>> >> >> > >> I'm not gonna be able to verify until at least sometime tomorrow.
>>
>> >> >> > >> JBQ
>>
>> >> >> > >> On Wed, Mar 18, 2009 at 12:43 PM, Jean-Baptiste Queru <j...@android.com> wrote:
>> >> >> > >>> I expect to start submitting the changes in about an hour, i.e.
>> >> >> > >>> between 1:30pm and 2pm PDT.
>>
>> >> >> > >>> Starting right now, you may want to avoid initiating a new repo sync,
>> >> >> > >>> unless you're OK ending up with a tree that might not even compile.
>>
>> >> >> > >>> JBQ
>>
>> >> >> > >>> On Tue, Mar 17, 2009 at 6:35 PM, Jean-Baptiste Queru <j...@android.com> wrote:
>> >> >> > >>>> [bcc android-platform, android-framework, android-porting]
>>
>> >> >> > >>>> I'm working on merging the latestcupcakecode drop into master. The
JBQ
JBQ
JBQ
We're now one step closer. Change 9356 was submitted, so that the
source tree "as is" can be compiled.
You still need to set BUILD_WITHOUT_PV=true.
JBQ
At this point, nobody on the Android team has any visibility over its
exact state beyond what can be seen in a few minutes (media is busted,
orientation doesn't switch properly, several apps crash at launch, the
runtime crashes frequently...).
Cupcake is probably a lot more stable, though even in that case we
have little visibility over the exact state of the open-source tree.
JBQ
JBQ
Final status on this:
-BUILD_WITHOUT_PV=true is now the default in master, so that a plain
"make" should work again. This is still only a temporary hack and
we'll have to fix this the right way in the future, but it'll let
people build "out of the box".
-Sorry for the delay in getting this done. Everything has been hectic.
JBQ
Mike
JBQ