Proposal title

This project has quite wide scope for the applicant but three main areas of work have been identified for this proposal. Emdebian currently has working cross-toolchains and build tools to implement our build, patch and naming mechanisms. It also has a few emdebianised target packages. However all of these areas need work, especially the target packages.

  1. Develop and expand Emdebian policy, scripts and actual packages to:

    • Differentiate between install time and run-time dependencies - Identify packages that are only needed to install components of the packages that are omitted from Emdebian (like scrollkeeper) or can be replaced by assuming Emdebian Policy and remove these dependencies from the cross-built binaries.
    • Differentiate between build and target build-dependencies - Currently, all Build-Depends dependencies must exist for a Debian package but in Emdebian, some Build-Depends packages only need to be present on the cross-building host and are neither needed nor available on the target (e.g. perl).
  2. Develop Emdebian policy and actual packages to:

    • Shrink minimum rootfs sizes
      • Busybox-based rootfs as well as GNU-based
      • Dash instead of bash
      • Remove perl from essential
  3. Improve Infrastructure scripting:

    • Incorporate full 3-stage bootstrap changes from slind
    • Auto-build emdebian packages, tracking debian versions and including support for developers to track packages which have build failures. Scripts exist in Debian that need to be ported to Emdebian.

This work will touch on a lot of the other areas, (See http://www.emdebian.org/develinfo.html#todo) The topics cover a wide range of expertise - buildd setup, policy development, pushing far-reaching tool-changes upstream, fighting autoconf and documentation. The existing developers and the project mentor will help define a suitable subset, but the project does demand significant 'self-starting' on the part of the applicant.

Many of the fixes we need can already be found in [http://www.openembedded.org/ ?OpenEmbedded], Slind, Maemo and previous emdebian developments as well as Debian itself.

Debian is in a position to improve cross-building in the same way that it has improved architecture support over the last few years. All packages should cross-build, but many do not for various reasons. Work fixing these is valuable to many people. Implementing a set-up to cross-build debian packages and report bugs on those that fail to build using dpkg-cross and emdebian tools would be excellent. However cross-building is not a necessary part of emdebian; it can be natively built too.