Summary

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.