LWN.net Logo

Android 4.1 in AOSP

Android 4.1 in AOSP

Posted Jul 11, 2012 15:35 UTC (Wed) by ajross (subscriber, #4563)
In reply to: Android 4.1 in AOSP by cmccabe
Parent article: Android 4.1 in AOSP

Except that if you start a new tree for any reason (and when doing integration work, this is routine) the only way to bootstrap it is with a full build of a 9+GB tree. Once built, you have some options (though frankly they're pretty poor in comparison to an RPM). But there's no escaping the huge bootstrap, and it's an immense pain that simply doesn't exist in the package management world.

Contrast this to a desktop distro, where if I want to cook up a special version of some package or another I can just do it in isolation (obviously with some caveats: changing runtime compatibility still requires full dependency builds, etc...). At no point does Fedora make make me build the whole world just to install an image with a new kernel or X server. Things like glibc and coreutils and gnome are already built (and signed!) and ready for use via a trivial download.


(Log in to post comments)

Android 4.1 in AOSP

Posted Jul 11, 2012 17:01 UTC (Wed) by cmccabe (guest, #60281) [Link]

Well, Android doesn't make you build the whole world to install a new kernel either. As I mentioned, you can just build the kernel and then boot to it via fastboot. Similar solutions exist for the other components, too.

I used to keep around a bunch of trees checked out on different branches so that I could do things quickly without building everything from scratch. It's no different than any other software project, that way.

I guess the major difference between Android and, say, Red Hat is that RH has package management, whereas Android does not. So on Red Hat, it's more practical for you to have a build server creating all the RPMs and all the developers downloading that.

From a developer perspective, using someone else's build is problematic. Did they use the same CFLAGS and GCC version as you? How about the c++ compiler (Android has a bunch of C++)? It's easier just to build everything yourself and avoid all the "my X doesn't work with your Y" bugs that full-fledged Linux distributions deal with.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds