branches

13 views
Skip to first unread message

Rajesh S

unread,
Mar 25, 2009, 7:05:26 PM3/25/09
to android-platform
Could somebody from the android team give some more information about
the branches.

We see master, cupcake, release-1.1, donut, cdma-import... are there
any more?

And there was at least one tag. How to check out based on a tag like
android-1.0?

Which one of these branches is closest to which release?

JBQ seems to be merging cupcake to master. What is the sequence of
merge from the rest of the branches.. does it all ever have to be
merged to master at all?

Thanks,
Rajesh.S

Jean-Baptiste Queru

unread,
Mar 25, 2009, 7:35:56 PM3/25/09
to android-...@googlegroups.com
All right, in summary for the branches that matter:

-release-1.0 is closely related to 1.0 as it shipped on devices.

-cupcake contains code drops from a source tree inside Google, and
contains some of the items being worked on in the shorter term. It's a
big step forward from 1.0. In its current state it's a reasonably
stable tree. It doesn't accept external contributions as those would
get wiped during subsequent drops.

-master is essentially the mainline, i.e. the bleeding edge. Changes
brought into cupcake are merged into master. master is currently the
only one that contains community contributions. It's a pretty rough
tree.

-all other branches are essentially irrelevant at this point.

there is indeed an android-1.0 tag, which matches the original code
drop 5 months ago. There's no easy way to get it exactly with repo,
though it should be possible at the git level. If I remember
correctly, there's only 1 tiny difference between android-1.0 and the
current release-1.0 and you can consider them to be identical for all
practical purposes.

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.

Rajesh S

unread,
Mar 25, 2009, 7:45:28 PM3/25/09
to android-platform
Thanks JBQ. That helps.
But release-1.0 doesn't sync with the 'building for dream' sequence.
Any pointers? Log pasted below this post.

Regards,
Rajesh.S

~/testroid/release-1.0 $ repo sync

Initializing project platform/hardware/msm7k ...
remote: Counting objects: 95, done.
remote: Compressing objects: 100% (75/75), done.
remote: Total 95 (delta 36), reused 49 (delta 16)
Unpacking objects: 100% (95/95), done.
From git://android.git.kernel.org/platform/hardware/msm7k
* [new branch] cupcake -> korg/cupcake
* [new branch] master -> korg/master
remote: Counting objects: 6166, done.
remote: Compressing objects: 100% (1900/1900), done.
remote: Total 5956 (delta 4855), reused 4978 (delta 4018)
Receiving objects: 100% (5956/5956), 1.41 MiB | 158 KiB/s, done.
Resolving deltas: 100% (4855/4855), completed with 127 local objects.
From git://android.git.kernel.org/kernel/msm
* [new branch] android-msm-2.6.25 -> korg/android-msm-2.6.25
* [new branch] android-msm-2.6.27 -> korg/android-msm-2.6.27
* [new branch] android-msm-htc-2.6.25 -> korg/android-msm-
htc-2.6.25
* [new branch] msm-2.6.25 -> korg/msm-2.6.25

Initializing project platform/vendor/htc/dream ...
remote: Counting objects: 79, done.
remote: Compressing objects: 100% (57/57), done.
remote: Total 79 (delta 44), reused 44 (delta 21)
Unpacking objects: 100% (79/79), done.
From git://android.git.kernel.org/platform/vendor/htc/dream
* [new branch] cupcake -> korg/cupcake
* [new branch] master -> korg/master
Traceback (most recent call last):
File "/Volumes/testroid/release-1.0/.repo/repo/main.py", line 230,
in <module>
_Main(sys.argv[1:])
File "/Volumes/testroid/release-1.0/.repo/repo/main.py", line 214,
in _Main
repo._Run(argv)
File "/Volumes/testroid/release-1.0/.repo/repo/main.py", line 121,
in _Run
cmd.Execute(copts, cargs)
File "/Volumes/testroid/release-1.0/.repo/repo/subcmds/sync.py",
line 106, in Execute
if not project.Sync_LocalHalf():
File "/Volumes/testroid/release-1.0/.repo/repo/project.py", line
558, in Sync_LocalHalf
self._InitWorkTree()
File "/Volumes/testroid/release-1.0/.repo/repo/project.py", line
966, in _InitWorkTree
rev = self.bare_git.rev_parse('%s^0' % rev)
File "/Volumes/testroid/release-1.0/.repo/repo/project.py", line
1149, in runner
p.stderr))
error.GitError: platform/hardware/msm7k rev-parse: fatal: ambiguous
argument 'refs/remotes/korg/release-1.0^0': unknown revision or path
not in the working tree.
Use '--' to separate paths from revisions

~/testroid/release-1.0 $ repo sync
android.git.kernel.org[0: 199.6.1.176]: errno=Operation timed out
error: refs/remotes/m/release-1.0 points nowhere!
error: refs/remotes/m/release-1.0 points nowhere!
error: revision release-1.0 in platform/hardware/msm7k not found
~/testroid/release-1.0 $

Jean-Baptiste Queru

unread,
Mar 25, 2009, 7:59:30 PM3/25/09
to android-...@googlegroups.com
Indeed, it doesn't, because vendor/htc/dream doesn't have a
release-1.0 branch and the "building-for-dream" steps assume that
there's a branch in that repository that matches the default revision
name in your main manifest.

You *might* be able to get something to work by specifying
revision="refs/heads/master" in the vendor/htc/dream part of your
local manifest, sync that, and then checkout the state of that project
as it was in early december. Commit
e3868b58332ab687e3d7225a04db4022572762e8 might be the one you're
looking for.

JBQ

Rajesh S

unread,
Mar 26, 2009, 7:28:41 AM3/26/09
to android-platform
Thanks JBQ that synced vendor/htc/dream.
But I think, I would need revision for platform/hardware/msm7k too.

Blindly repeating revision="refs/heads/master" on this didn't help.

And were you suggesting
revision="refs/heads/master"
to be substituted by
revision="e3868b58332ab687e3d7225a04db4022572762e8"
?

Or is there some syntax for providing the revision directory and
commit number too?

Thanks and regards,
Rajesh.S

Jean-Baptiste Queru

unread,
Mar 26, 2009, 8:38:57 AM3/26/09
to android-...@googlegroups.com
Well, I wasn't suggesting to directly put the SHA-1 in the manifest,
but I guess that'd work too and would be a better solution.

You're right, msm7k also lacks a release-1.0 branch. I thought it did,
sorry. 040da078eb98745efe4b3f05ad72e61c66ba70b5 should do the trick
there.

JBQ

Rajesh S

unread,
Mar 26, 2009, 9:53:18 AM3/26/09
to android-platform
Thanks JBQ that synced up well. Now am trying to build. Shall get back
here if there is something I can't resolve on my own.

For benefit of others. To build release-1.0 branch for flashing on the
hardware, instead of local_manifest.xml mentioned in 'building for
dream', here is what had to be used
(compiled from recent replies on this very thread from JBQ):

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remove-project name="kernel/common"/>
<project path="kernel" name="kernel/msm" revision="refs/heads/android-
msm-htc-2.6.25"/>
<project path="vendor/htc/dream" name="platform/vendor/htc/dream"
revision="e3868b58332ab687e3d7225a04db4022572762e8"/>
<project path="hardware/msm7k" name="platform/hardware/msm7k"
revision="040da078eb98745efe4b3f05ad72e61c66ba70b5"/>
</manifest>

Rajesh.S

Jean-Baptiste Queru

unread,
Mar 26, 2009, 10:02:31 AM3/26/09
to android-...@googlegroups.com
A few bits of additional data just in case... (both for Rajesh and for
people who might stumble upon this thread later):

-unless you're planning to build you own kernel from source, you don't
need the line <project path="kernel" name="kernel/msm"
revision="refs/heads/android-msm-htc-2.6.25"/> in your manifest, and
removing it will save you a decent amount of bandwidth, space and
time.

-release-1.0 is not as flexible as master in terms of build
environment. I believe that it builds on MacOS and ubuntu 8.04, but
other operating systems might cause problems.

JBQ

Rajesh S

unread,
Mar 26, 2009, 12:45:46 PM3/26/09
to android-platform
Hmm.. that tip would be useful even later.

But for now hit an error compiling release-1.0 .. somewhere around
libaudio.

Pasted below this post are the logs. Does this point to a mismatch in
some header (kernel) or the extracted binaries?

This was on Ubuntu 8.04. Shall redo on MacOSX 10.5 in sometime but I
doubt this is to do with any of that.

JBQ, any pointers?

Thanks and regards,
Rajesh.S

...
...
...
In file included from frameworks/base/libs/audioflinger/
AudioResamplerCubic.cpp:20:
system/core/include/cutils/log.h:68:1: warning: this is the location
of the previous definition
target thumb C++: libaudioflinger <= frameworks/base/libs/audioflinger/
AudioFlinger.cpp
target thumb C++: libaudio <= hardware/msm7k/libaudio/
AudioHardware.cpp
In file included from hardware/msm7k/libaudio/AudioHardware.cpp:35:
hardware/msm7k/libaudio/AudioHardware.h:28:29: error: linux/
msm_audio.h: No such file or directory
In file included from hardware/msm7k/libaudio/AudioHardware.cpp:35:
hardware/msm7k/libaudio/AudioHardware.h:202: error: ISO C++ forbids
declaration of 'msm_snd_endpoint' with no type
hardware/msm7k/libaudio/AudioHardware.h:202: error: expected ';'
before '*' token
hardware/msm7k/libaudio/AudioHardware.cpp: In constructor
'android::AudioHardware::AudioHardware()':
hardware/msm7k/libaudio/AudioHardware.cpp:62: error: class
'android::AudioHardware' does not have any field named 'mSndEndpoints'
hardware/msm7k/libaudio/AudioHardware.cpp:83: error:
'SND_GET_NUM_ENDPOINTS' was not declared in this scope
hardware/msm7k/libaudio/AudioHardware.cpp:86: error: 'mSndEndpoints'
was not declared in this scope
hardware/msm7k/libaudio/AudioHardware.cpp:86: error: expected type-
specifier before 'msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:86: error: expected `;'
before 'msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:90: error: cannot increment
a pointer to incomplete type 'android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:91: error: invalid use of
incomplete type 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:89: error: forward
declaration of 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:92: error:
'SND_GET_ENDPOINT' was not declared in this scope
hardware/msm7k/libaudio/AudioHardware.cpp:95: error: invalid use of
incomplete type 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:89: error: forward
declaration of 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:95: error: invalid use of
incomplete type 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:89: error: forward
declaration of 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:96: error: invalid use of
incomplete type 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:89: error: forward
declaration of 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:96: error: invalid use of
incomplete type 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:89: error: forward
declaration of 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:97: error: invalid use of
incomplete type 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:89: error: forward
declaration of 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:97: error: invalid use of
incomplete type 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:89: error: forward
declaration of 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:98: error: invalid use of
incomplete type 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:89: error: forward
declaration of 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:98: error: invalid use of
incomplete type 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:89: error: forward
declaration of 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:99: error: invalid use of
incomplete type 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:89: error: forward
declaration of 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:99: error: invalid use of
incomplete type 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:89: error: forward
declaration of 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:100: error: invalid use of
incomplete type 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:89: error: forward
declaration of 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:100: error: invalid use of
incomplete type 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:89: error: forward
declaration of 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:101: error: invalid use of
incomplete type 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:89: error: forward
declaration of 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:101: error: invalid use of
incomplete type 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:89: error: forward
declaration of 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:108: error: invalid use of
incomplete type 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:89: error: forward
declaration of 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:109: error: invalid use of
incomplete type 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp:89: error: forward
declaration of 'struct android::msm_snd_endpoint'
hardware/msm7k/libaudio/AudioHardware.cpp: In destructor 'virtual
android::AudioHardware::~AudioHardware()':
hardware/msm7k/libaudio/AudioHardware.cpp:123: error: 'mSndEndpoints'
was not declared in this scope
hardware/msm7k/libaudio/AudioHardware.cpp: In function
'android::status_t android::set_volume_rpc(uint32_t, uint32_t,
uint32_t)':
hardware/msm7k/libaudio/AudioHardware.cpp:588: error: aggregate
'android::msm_snd_volume_config args' has incomplete type and cannot
be defined
hardware/msm7k/libaudio/AudioHardware.cpp:593: error: 'SND_SET_VOLUME'
was not declared in this scope
hardware/msm7k/libaudio/AudioHardware.cpp: In member function 'virtual
android::status_t android::AudioHardware::setVoiceVolume(float)':
hardware/msm7k/libaudio/AudioHardware.cpp:617: error:
'SND_METHOD_VOICE' was not declared in this scope
hardware/msm7k/libaudio/AudioHardware.cpp: In member function 'virtual
android::status_t android::AudioHardware::setMasterVolume(float)':
hardware/msm7k/libaudio/AudioHardware.cpp:627: error:
'SND_METHOD_VOICE' was not declared in this scope
hardware/msm7k/libaudio/AudioHardware.cpp: In function
'android::status_t android::do_route_audio_rpc(uint32_t, bool, bool)':
hardware/msm7k/libaudio/AudioHardware.cpp:663: error: aggregate
'android::msm_snd_device_config args' has incomplete type and cannot
be defined
hardware/msm7k/libaudio/AudioHardware.cpp:665: error: 'SND_MUTE_MUTED'
was not declared in this scope
hardware/msm7k/libaudio/AudioHardware.cpp:665: error:
'SND_MUTE_UNMUTED' was not declared in this scope
hardware/msm7k/libaudio/AudioHardware.cpp:668: error: 'SND_SET_DEVICE'
was not declared in this scope
make: *** [out/target/product/dream/obj/SHARED_LIBRARIES/
libaudio_intermediates/AudioHardware.o] Error 1

Jean-Baptiste Queru

unread,
Mar 26, 2009, 3:42:14 PM3/26/09
to android-...@googlegroups.com
Ack, that's part of the port of 1.0 to Dream (msm7k), which isn't
technically part of the core platform, and which was a fragile hack
"back then" (3+ months ago) and hasn't been maintained. I'm afraid
you'll have to fall back to hard debugging for that one.

JBQ

Rajesh S

unread,
Mar 26, 2009, 4:04:59 PM3/26/09
to android-platform
Okay cool.. I'll give a try with whatever debugging I know.

Thanks,
Rajesh.S


On Mar 26, 7:42 pm, Jean-Baptiste Queru <j...@android.com> wrote:
> Ack, that's part of the port of 1.0 to Dream (msm7k), which isn't
> technically part of the core platform, and which was a fragile hack
> "back then" (3+ months ago) and hasn't been maintained. I'm afraid
> you'll have to fall back to hard debugging for that one.
>
> JBQ
>
> ...
>
> read more »

Rajesh S

unread,
Mar 26, 2009, 8:52:05 PM3/26/09
to android-platform
It was just about a bionic equivalent of a kernel header. Just had to
copy the file from a local copy of the master into release-1.0 .. no
debugging :)

~/testroid/release-1.0$ cp ~/mydroid/bionic/libc/kernel/common/linux/
msm_audio.h bionic/libc/kernel/common/linux/
> ...
>
> read more »

dan raaka

unread,
Mar 27, 2009, 12:23:59 AM3/27/09
to android-...@googlegroups.com
Commits to cupcake are(I assume) being propagated to master, donut so and and so forth .. 

Does this mean, when the cupcake reaches FRC, there will be a firmware update for current G1 devices so that they get soft keyboards ? How does this work in future .. as more and more devices come to market with varying hardware capabilities?

For ex. Should there a feature that it added to Donut, that wont be supported by current G1 hardware, will there be a special build specifically out of Donut for G1, and the device that is based of Cupcake .. 

-Dan

Jean-Baptiste Queru

unread,
Mar 27, 2009, 1:15:18 AM3/27/09
to android-...@googlegroups.com
Changes in cupcake are indeed propagated downstream to newer/later codelines.

Details about individual deployments are up to the OEMs and carriers.

The Android build system allows to fine-tune different configuration
aspects for different devices from within a single source tree.

JBQ

bin

unread,
Apr 2, 2009, 11:35:09 AM4/2/09
to android-platform
Dear JBQ and all,

I am not sure what's the original purpose of "donut, cdma-import"
branches, what features are expected to be added in there branches?
and when will there branches release on the roadmap?

Best Regards.

On 3月27日, 下午1时15分, Jean-Baptiste Queru <j...@android.com> wrote:
> Changes in cupcake are indeed propagated downstream to newer/later codelines.
>
> Details about individual deployments are up to the OEMs and carriers.
>
> The Android build system allows to fine-tune different configuration
> aspects for different devices from within a single source tree.
>
> JBQ
>
>
>
> On Thu, Mar 26, 2009 at 9:23 PM, dan raaka <danra...@gmail.com> wrote:
> > Commits to cupcake are(I assume) being propagated to master,donutso and
> > and so forth ..
> > Does this mean, when the cupcake reaches FRC, there will be a firmware
> > update for current G1 devices so that they get soft keyboards ? How does
> > this work in future .. as more and more devices come to market with varying
> > hardware capabilities?
> > For ex. Should there a feature that it added toDonut, that wont be
> > supported by current G1 hardware, will there be a special build specifically
> > out ofDonutfor G1, and the device that is based of Cupcake ..
> > -Dan
>
> > On Wed, Mar 25, 2009 at 4:35 PM, Jean-Baptiste Queru <j...@android.com>
> > wrote:
>
> >> All right, in summary for the branches that matter:
>
> >> -release-1.0 is closely related to 1.0 as it shipped on devices.
>
> >> -cupcake contains code drops from a source tree inside Google, and
> >> contains some of the items being worked on in the shorter term. It's a
> >> big step forward from 1.0. In its current state it's a reasonably
> >> stable tree. It doesn't accept external contributions as those would
> >> get wiped during subsequent drops.
>
> >> -master is essentially the mainline, i.e. the bleeding edge. Changes
> >> brought into cupcake are merged into master. master is currently the
> >> only one that contains community contributions. It's a pretty rough
> >> tree.
>
> >> -all other branches are essentially irrelevant at this point.
>
> >> there is indeed an android-1.0 tag, which matches the original code
> >> drop 5 months ago. There's no easy way to get it exactly with repo,
> >> though it should be possible at the git level. If I remember
> >> correctly, there's only 1 tiny difference between android-1.0 and the
> >> current release-1.0 and you can consider them to be identical for all
> >> practical purposes.
>
> >> JBQ
>
> >> On Wed, Mar 25, 2009 at 4:05 PM, Rajesh S <rajeshs...@gmail.com> wrote:
>
> >> > Could somebody from the android team give some more information about
> >> > the branches.
>
> >> > We see master, cupcake, release-1.1,donut, cdma-import... are there

Jean-Baptiste Queru

unread,
Apr 2, 2009, 11:42:35 AM4/2/09
to android-...@googlegroups.com
cdma-import is related to Teleca's work on adding CDMA support in Android.

donut is where we expect to make code drops of the next engineering
branch after cupcake.

I don't know what the plan it toward updating the roadmap.

JBQ

2009/4/2 bin <li...@zte.com.cn>:

Reply all
Reply to author
Forward
0 new messages