ARMXdebCrossCompilationEnvironment
Launchpad Entry: arm-m-xdeb-cross-compilation-environment
Created: 2010/05/25
Contributors: LoicMinier
Packages affected: xdeb
Summary
Provide a new xdeb tool to easily cross-build a set of packages.
Release Note
If we have ARM specific release notes: A new xdeb tool allows easy cross-compilation of a set of packages.
Rationale
When repeatedly working on a package or a small set of packages, it is useful to have the fastest develop/build/deploy cycles as possible. On ARM, this still means cross-compilation.
User stories
Rob would like to work on GStreamer plugins for his ARM !SoC, he needs to rebuild repeatedly a library and a plugins package and he would like to take advantage of his fast x86 desktop for rebuilds, but he doesn't want to rebuild all recursive build-deps of these packages before being able to work.
Assumptions
No build-deps loops between the packages to rebuild.
Design
An existing almost complete implementation exists in the form of chromiumos-build, but it's a bit picky about build-deps loops.
Implementation
Rebrand chromiumos-build to xdeb.
Change the logic of xdeb to graph the build-deps of the packages which should be rebuilt instead of all packages.
Test/Demo Plan
Cross-rebuild a couple of gstreamer packages, in the right order, for armel.
Unresolved issues
Build-deps loops are not handled between packages to rebuild.
BoF agenda and discussion
Discussion
- Allows cross building of one or many packages.
- Based on Googles chromeos-build tool (built on dpkg-cross).
- Google wanted to take Ubuntu ARM packages and cross-build them on x86.
- Google switched to portage (Gentoo) but xdeb is still valid for Ubuntu.
- The tool cannot cope with dependency build loops ATM.
- xdeb is something to use now but could be replaced by multiarch later.
- chromeos-build needs rebranding and dependency loops need handling.
- apt-ma-emu was suggested as an addition to xdeb, discounted due to xdeb being 95% complete.
- pbuilder-cross could be extended to build multiple packages.
- multiarch meta data may need extending.
- gstreamer packages need testing with this tool as vendors mainly cross build these.
https://wiki.ubuntu.com/MultiarchSpec is a good example of a multi-arch document that came from a UDS session.
Actions
- rebrand
- extend to compute build-dep loops
- testing against a subset of packages (gstreamer e.t.c)
- make sure xdeb keeps native builds
- [optional] pbuilder integration
Specs/M/ARMXdebCrossCompilationEnvironment (last edited 2010-05-25 13:16:49 by serris)