Build Automation of Linaro Sysroots for cross toolchain

Registered by Ricardo Salveti

Build automation of Linaro Sysroots for cross toolchain, using ci.linaro.org or any other build server to automatically build the sysroot and publish it to a common public place, for people to download.

This is continuation of https://blueprints.launchpad.net/linaro-ubuntu/+spec/cross-toolchain-sysroots

Blueprint information

Status:
Complete
Approver:
Ricardo Salveti
Priority:
Medium
Drafter:
Marcin Juszkiewicz
Direction:
Approved
Assignee:
Marcin Juszkiewicz
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
milestone icon 12.03
Started by
Fathi Boudra
Completed by
Ricardo Salveti

Related branches

Sprints

Whiteboard

[dzin, Feb 3, 2012] Please add headline and acceptance criteria.
[hrw 22.02.2012] live-build in precise is not able to do cross builds. And I do not want to lose time waiting endlessly for arm boards to populate chroots for me.

https://ci.linaro.org/jenkins/view/All/job/precise-armhf-nano/ - example CI build of image

Meta:
Headline: An official sysroots, based on Ubuntu LEB, are now available for people to use with the cross toolchain.
Acceptance: able to build sysroot with -dev and -dbg packages, tarball available at a public place for people to download and try, able to have it to work with the cross toolchain

We can drop whole /var/ as we do not support upgradability of sysroots. So APT, DPKG data are not needed.
usr/share/{doc,info,man,perl,locale,fonts,icons,i18n,gtk-doc,ghostscript} take most of space

There is no sense in reporting bug against each package which lack -dbgsym support. There are 2568 of them (and my script is far from being perfect).

"check all *.so for absolute paths: TODO" WI dropped - this is sysroot so toolchain should not follow those outside of sysroot

"check all for case sensitive file names (vfat problem under windows)" is simple comparison:

"find . |wc -l" == "find . | uniq -i|wc -l"

(?)

Work Items

Work items:
switch to live-build: DONE
check which directories we can safely remove (/usr/share/{doc,man,info,perl,locale}): DONE
nuke most of /var/ too: DONE
automate building on ci.linaro.org: DONE
kill all symlinks! (think of windows): DONE
merge -dev seeds into linaro-seeds: DONE
check does ci.linaro.org may send email when sysroot generation builds: DONE
check all for case sensitive file names (vfat problem under windows): DONE
create script to update list of required -dev packages (now it is done manually): DONE
create script to update list of required -dbgsym packages (now it is done manually): DONE
update content of sysroots to contain all -dev packages: DONE
update content of sysroots to contain all -dbgsym packages: DONE
check germanite for *.ddebs (check for blacklist): POSTPONED
create a list of packages which lack -dbgsym package: DONE
create a list of packages for which -dbgsym would be good to have: DONE
report a bug against each package from list: POSTPONED

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.