Automated cross-buildd system/service

Registered by Wookey

Continuous integration/QA service providing statistics on current cross-buildability of packages.

A build daemon attempting cross-builds on all new packages, keeping logs, and providing a web interface showing what does/doesn't build.

Failures can be classified into various known categories of problem. Requires modularised tools for dependency analysis/sequencing and cross-dependency satisfaction.

This provides useful info on which packages still need cross-build fixes, which packages have regessed.

A well-designed system would be easy to install/set up locally for private use.

Android team is doing something similar at: https://blueprints.launchpad.net/linaro-android/+spec/linaro-android-o-continuous-integration

Blueprint information

Status:
Complete
Approver:
Ricardo Salveti
Priority:
High
Drafter:
Wookey
Direction:
Approved
Assignee:
Wookey
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
milestone icon 11.12
Started by
Ricardo Salveti
Completed by
Ricardo Salveti

Related branches

Sprints

Whiteboard

[rsalveti, Nov 30, 2011] Blueprint to continue the work done at https://blueprints.launchpad.net/linaro-ubuntu/+spec/initial-support-cross-builder, using the discussions we had at Connect at blueprint https://blueprints.launchpad.net/linaro-ubuntu/+spec/linaro-platforms-lc4.11-cross-buildd-next-steps.
[rsalveti, Dev 22, 2011] Remaining WIs moved to https://blueprints.launchpad.net/linaro-ubuntu/+spec/cross-buildd-part2

Headline: Sbuild has multiarch cross-build support for use in precise.
Acceptance: Sbuild cross-support upstreamed and package uploaded to cross-tools PPA

(?)

Work Items

Work items:
Find a machine to run builds on. Needs root: DONE
Find a machine to store build-logs on (could be virtual): DONE
Investigate sbuild-cross state of play: DONE
Set up very stupid buildd initially with fixed package list to publish logs: DONE
Investigate buildd log summary php stuff (pgstatus): DONE
Set up lvm-snapshot schroots: DONE
Create precise cross-build chroot: DONE
Sbuild - Merge existing base cross-build support: DONE
Sbuild - Add Config for cross-build-essential packages: DONE
Sbuild - Install cross-essential packages as part of CORE dummy package: DONE
Sbuild - Add cross ENV var support: DONE
Sbuild - Add dpkg foreign-architecture support: DONE
Sbuild - Add apt-get -a$arch build-dep support: DONE
Get sbuild running multiarch-style cross-builds: DONE

Dependency tree

* Blueprints in grey have been implemented.