Cross Buildable Nano PPA, Natty based

Registered by Ricardo Salveti

Get Nano entirely cross-buildable by fixing packages and making them available at a PPA

Blueprint information

Status:
Not started
Approver:
Ricardo Salveti
Priority:
High
Drafter:
Ricardo Salveti
Direction:
Approved
Assignee:
Wookey
Definition:
Approved
Series goal:
Accepted for 11.11
Implementation:
Deferred
Milestone target:
milestone icon 11.09

Whiteboard

[dzin Sept 26] moved to milestone 11.10
[asac, Sep 28, 2011] blueprints with high and essential not done don't get moved to next milestone without getting reviewed in company wide post-mortem.
[asac, Sep 28, 2011]: this is not going to happen it seems; needs to go through post mortem and a summary of packages that build and that do not build as well as instructions how to reproduce those builds/build-failures is due.
[rsalveti, Sep 29, 2011]: Instructions at https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/CrossBuildNano, and quite easy to reproduce the builds. Not all the packages were ported, but most are working already, and the xbuilder-simple + the wiki makes it quite easy for people to try.
[dzin, Oct 3, 2011]: Bug #865547 has been logged against this blueprint to track unfinished items.

Headline: Linaro Ubuntu Natty Nano images are now cross buildable, making anyone able to cross build and customize it as needed.
Acceptance: Nano package list published at the wiki, fixes at the tools available at a PPA, cross enabled packages available at a PPA with proper instructions on how to cross build them, enough to generate the Nano image.

Test/Upload known cross-fixes to PPA and re-run builds
  base-passwd (pp): DONE
  bzip2(pp): DONE
  coreutils: DONE
  cpio(pp): DONE
  dash(pp): DONE
  db4.8(pp): DONE
  debianutils(pp): DONE
  diffutils(pp): DONE
  ifupdown(pp): DONE
  initramfs-tools: TODO
  insserve(pp): DONE
  libcap2(pp): INPROGRESS
  liblocale-gettext-perl(pp - needs perl first): TODO
  libcharwidth-perl(pp - needs perl first): TODO
  libtext-iconv-perl(pp - needs perl first): TODO
  netcat-openbsd(pp): DONE
  perl(pp): TODO
  python2.7: INPROGRESS
  sed(pp): DONE
  xz-utils(pp): DONE

Fix new cross-failures
  acl: DONE
  attr: DONE
  bash(debian - not working?): TODO
  console-setup: DONE
  gcc-4.5: TODO
  iputils: TODO
  iproute: TODO
  isc-dhcp: TODO
  kbd: TODO
  klibc(debian - not working): TODO
  libselinux(pp): DONE
  libsepol: DONE
  libusb: DONE
  net-tools(pp): DONE
  ntp: TODO
  pam: TODO
  pcre3: DONE
  rsyslog: TODO
  shadow: TODO
  sudo: TODO
  sysvinit: DONE
  util-linux: TODO

Status info here: https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/LinaroNanoStatus
Document instructions to cross build Nano by using the additional PPA (tools and packages): DONE
https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/CrossBuildNano

(?)

Work Items

Work items:
Generate nano package list: DONE
Generate list of 'failed/worked/maybe' strings for automatic build-log analysis: DONE
Use string list to classify percent-built: DONE
Examine if pgstatus can be used without wannabuild database: DONE
Make logs viewable through pgstatus: POSTPONED
Upload build-alip script and document: TODO
Fix xdeb error for 'package doesn't provide any useful files. Skipping"(https://bugs.launchpad.net/ubuntu/+source/xdeb/+bug/731079): DONE
Upload xdeb fix for 731079 (https://code.launchpad.net/~wookey/xdeb/xdeb-allow-null-cross): DONE
Make sure xdeb is using priorities to get sources from PPA, and local binaries: DONE
Examine dependency-install failures in xdeb (26 packages affected): DONE
Stop xdeb trying to install conflicting packages (libodbc2-dev/unixodbc-dev): DONE
Find why some cross-dependencies are not installed (e.g. libthai0): DONE
Fix expand_depends to get full dep-list, without infinite recursion: DONE
Find why different binary builds of same source packages have different build-deps (e.g. libcomerr2/e2fsprogs): DONE
Make multistrap config for creating build chroot: DONE
Upload fixed multistrap to PPA: DONE
Package up build-alip scripts - test and upload (xbuilder-0.1): DONE: TODO
Make crosstoolPPA keyring package (linaro-foundations-keyring) and test with multistrap build: DONE

This blueprint contains Public information 
Everyone can see this information.