Differences between revisions 2 and 3
Revision 2 as of 2007-03-22 00:50:42
Size: 3279
Editor: wookey
Comment:
Revision 3 as of 2007-03-22 00:51:46
Size: 3342
Editor: wookey
Comment:
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
  * Perl   * Perl or other scripting language (existing tools are perl or shell)

Proposal title

  • Mentor: Wookey

  • Summary: To get emdebian to the point when it builds useful root filesystems

  • Required skills:

    • 'A bit of everything'
    • Understanding of Debian packaging, build systems, repositories
    • Cross-building
    • Knowledge of small system contraints
    • Perl or other scripting language (existing tools are perl or shell)
    • Sysadmin
    • Ability to get patches accepted upstream
  • Description:

This project has quite wide scope for the applicant as there are numerous area of work on which they could concentrate. 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.

Things that need doing are:

  • Emdebianising more packages so that they
    1. do not install unnecessary things (docs, examples, languages)
    2. cross-build correctly
    3. split packages where the default has too many dependencies
  • Work on Emdebian policy and actual packages to:
    • Speed up boot time
    • Reduce dependencies
    • Differentiate between install time and run-time dependencies
    • Differentiate between build and target build-dependencies
    • Shrink minimum rootfs sizes
      • Busybox-based rootfs as well as GNU-based
      • Dash instead of bash
      • Remove perl from essential
  • Work on Debian and emdebian tools to:
    • Support changes due to above policy
    • Make it easy to build and cross-build emdebian packages and support local patches
    • Push changes back into Debian as much as possible (e.g faster boot)
  • Infrastructure Work:
    • Completing auto-build mechansism that will keep emdebian cross-toolchains uptodate with debian toolchain versions
    • 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
  • Document:
    • Making Emdebian systems
    • Emdebianising new packages
    • The infrastructure
    • Developed Policy

As you can see there is plenty to do, covering a wide range of expertise - buildd setup, policy development, pushing far-reaching tool-changes upstream, fighting autoconf and documentation. Applicants could (and probably should) choose to work on a selection of these tasks that interest them and make a manageable lump of work. 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.

Much of the fixes we need can already be found in ?OpenEmbedded, Slind, Maemo and previous emdebian developments.

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.