1
The Android source repositories are quite chaotic. They often include a mix
2
of things under arbitrary umbrellas. For example, there are parts of this
3
particular repository that will only ever be built when building the complete
4
Android OS (aka "target"), other parts that are only built as part of the SDK
5
to support building Android apps (aka "host"), and other parts that are used
6
both in the SDK and the Android OS. Most of the source code in this particular
7
repostory will never be built or included on Debian because it is only used in
10
It is possible to see which sections will be built for what by looking at the
11
Android.mk files. The parts that are meant for the "host" system, in this
12
case Debian, will have lines like this in it:
14
include $(BUILD_HOST_EXECUTABLE)
15
include $(BUILD_HOST_JAVA_LIBRARY)
16
include $(BUILD_HOST_SHARED_LIBRARY)
17
include $(BUILD_HOST_STATIC_LIBRARY)
19
The build targets that are only for Android OS builds instead have this:
21
include $(BUILD_EXECUTABLE)
22
include $(BUILD_JAVA_LIBRARY)
23
include $(BUILD_SHARED_LIBRARY)
24
include $(BUILD_STATIC_LIBRARY)
26
A given chunk of code that is built both for "host" will have both of these
27
lines included in the Android.mk file.
30
Structure of the package's git repository
31
-----------------------------------------
33
The source code has been excerpted form the git repository
34
https://android.googlesource.com/platform/frameworks/base
36
The Android project does not release tarballs of their core software. Unlike
37
the other source packages in android-tools, this package source repo is not
38
configured following git-buildpackage's "No upstream tarballs" setup because
39
the upstream git repo is so massive, it is basically unmanageable. It can peg
40
your CPU for minutes while checking out a branch or tag.
42
Instead, the source tarballs are generated from the upstream git repo based on
43
the tools_r* branches. Here is how they are generated:
45
git clone https://android.googlesource.com/platform/frameworks/base \
46
android-platform-frameworks-base.upstream
47
git clone https://anonscm.debian.org/git/android-tools/android-platform-frameworks-base.git
48
cd android-platform-frameworks-base/debian
49
./make-source-tarball tools_r21
55
All of the files in the upstream make for a ~700MB tarball. So only the
56
section that are currently used are included in the tarball. Check the
57
./make-source-tarball script for details.
60
-- Hans-Christoph Steiner <hans@eds.org>, Tue, 30 Sep 2014 20:15:12 -0400