[MIR] Android, CyanogenMod, Clockworkmod, et al

Bug #1203800 reported by Dimitri John Ledkov
18
This bug affects 1 person
Affects Status Importance Assigned to Milestone
android (Ubuntu)
Won't Fix
Undecided
Unassigned
android-src-vendor (Ubuntu)
Won't Fix
Undecided
Unassigned
android-tools (Ubuntu)
Fix Released
Undecided
Unassigned
gcc-arm-linux-androideabi (Ubuntu)
Won't Fix
Undecided
Unassigned

Bug Description

Availability:
 * ppa:ubuntu-toolchian/android and/or saucy/multiverse

Rationale:
 * needed to build http://cdimage.ubuntu.com/ubuntu-touch/

Security:
 * see include copies of code
 * upstream, infrequent OTA updates / code-drops with/without security patches

QA:
 * package not-trivial to build, sources prepared using repo forest checkout
 * upstream is mostly health and actively takes patches (AOSP & Cyanogenmod)
 * these builds are for exotic hardware (nexus *) which require binary blobs for support

Dependenices:
 * cross-toolchain and packages are self-contained to compile from source for arm-linux-androideabi
 * Using sbuild, it builds correctly in i386 chroots, to build on amd64 hosts the package:i386 need to be installed, as the build is done using multilib toolchain targetting 32bit. Limitations in sbuild/current mutliarch spec doesn't allow speficying package:i386 [amd64] build-dependencies

Standards compliance:
 * the packages comply with FHS, but by themself are not very useful, as in the end one should use android-tools to flash the produced binareis onto target devices

Maintainance:
 * Ubuntu and Phone Foundations teams are maintaining these set of packages.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Some parts of android code base are duplicated across the following packages:
* android-tools
* gcc-arm-linux-androideabi
* android

Work on consolidating android sources into a single android-src package is on the roadmap.
Android is the largest one, so any missing bits required for the other two packages, should be included in it.

affects: ubuntu → gcc-arm-linux-androideabi (Ubuntu)
Changed in android-tools (Ubuntu):
status: New → Fix Released
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Restricted:
* android
* android-src-vendor

Both of these packages use pre-compiled binary blobs from hardware vendors.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Saucy archive:
* gcc-arm-linux-androideabi

Saucy new queue:
* android
* android-src-vendor

PPA for those in new queue:
* https://launchpad.net/~ubuntu-toolchain/+archive/android

Revision history for this message
Michael Terry (mterry) wrote :

Jamie, can you look at the set? Seems security sensitive.

Changed in android (Ubuntu):
assignee: nobody → Jamie Strandboge (jdstrand)
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Saucy archive:
* gcc-arm-linux-androideabi
* android (build-dep wait on android-src-vendor)

Saucy new queue:
* android-src-vendor

PPA for those in new queue:
* https://launchpad.net/~ubuntu-toolchain/+archive/android

David Medberry (med)
summary: - [MIR] Android, CynogenMod, Clockworkmod, et al
+ [MIR] Android, CyanogenMod, Clockworkmod, et al
description: updated
Revision history for this message
Jamie Strandboge (jdstrand) wrote :

FYI, gcc-arm-linux-androideabi needs binutils-multiarch. binutils is in main and binutils-multiarch promotion shouldn't be a problem.

Revision history for this message
Jamie Strandboge (jdstrand) wrote :

android also needs it.

Revision history for this message
Matthias Klose (doko) wrote :

well, I don't mind the promotion, however the android stack should be independent of any binutils host package. The gcc-arm-linux-androideabi package ships it's own binutils for android.

Revision history for this message
Dimitri John Ledkov (xnox) wrote : Re: [Bug 1203800] Re: [MIR] Android, CyanogenMod, Clockworkmod, et al

On 27 July 2013 20:07, Matthias Klose <email address hidden> wrote:
> well, I don't mind the promotion, however the android stack should be
> independent of any binutils host package. The gcc-arm-linux-androideabi
> package ships it's own binutils for android.
>

I think binutils-multiarch deps are not needed here any more and can be dropped.
I'll see to do this with next uploads.

Regards,

Dmitrijs.

Revision history for this message
Jamie Strandboge (jdstrand) wrote :

Looking at android, there are many embedded copies of sources in external/. Many of these seem to be used by skia and stagefright. There are a few that it wasn't clear to me if they were needed (they don't appear to be shipped in the product):
bouncycastle
bsdiff
genext2fs
harfbuzz
htop
libogg
wpa_supplicant_6
wpa_supplicant_8_ti

It wasn't clear why these were needed either:
gnupg (gpg)
linux-tools-perf

Can you comment on the above and/or remove them from the android package?

Changed in android (Ubuntu):
status: New → Incomplete
Revision history for this message
Ricardo Salveti (rsalveti) wrote :

bouncycastle

I believe this can be removed, will do some more investigation.

bsdiff

Used internally to generate recovery and OTA images. Could probably be removed, but might not be that trivial.

genext2fs

Used to generate the system.img files. In theory could also just use the one already available in Ubuntu, but need proper review to see if there's no Android specific.

harfbuzz

Needed by skia, which I'm not sure if we can remove (was mostly used for 2d rendering, which we don't necessarily need to support for the hardwares we have, but need to check if that's what qemu uses).

htop

Already removed.

libogg

Needed by libstagefright. Might also work with the source already available in Ubuntu, but Android is still using the 1.2 release, so need further testing before removal.

wpa_supplicant_6
wpa_supplicant_8_ti

Specific wpa_supplicant codebase that contains a few Android specific patches. Not completely sure if entirely required, need to ping Tony Espy.

gnupg (gpg)

Used by our recovery.

linux-tools-perf

Already removed.

In general most external can be removed, but this is a major rework of the Android build system, as to be a complete match, we'd need to only depend on the source packages (even for people getting the sources via phablet.u.c). As a consequence we'd need to add some sort of logic to bootstrap the local repository and download all the source packages for everything needed (as the porter might not even be using ubuntu as host to build such images). We'd also divert considerably from AOSP/CM, and while it's a good target, might not necessarily be ideal for 13.10 (lack of time, testing, etc).

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

bouncycastle
I think it's used to generate keys / sign the OTA packages by the build system.... which we do not do at the moment. I'll check if that can be easily skipped.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

android (0.20130801-0ubuntu1) saucy; urgency=low

  * Remove htop
  * Remove linux-tools-perf
  * Remove bouncycastle
  * Remove bsdiff

Date: Thu, 01 Aug 2013 12:13:47 +0100
Changed-By: Dmitrijs Ledkovs <email address hidden>
Maintainer: Dmitrijs Ledkovs <email address hidden>
https://launchpad.net/ubuntu/saucy/+source/android/0.20130801-0ubuntu1

Changed in android (Ubuntu):
status: Incomplete → New
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

* Dropped binutils-multiarch build-dep.

Changed in android (Ubuntu):
assignee: Jamie Strandboge (jdstrand) → nobody
Revision history for this message
Jeremy Bícha (jbicha) wrote :

I am closing these bugs for now since I believe they're obsolete after Canonical's Ubuntu Phone project is no longer being actively developed.

Changed in android (Ubuntu):
status: New → Won't Fix
Changed in android-src-vendor (Ubuntu):
status: New → Won't Fix
Changed in gcc-arm-linux-androideabi (Ubuntu):
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.