Neil Williams

My main aim is to add the 'glue' required to get the existing subsections of emdebian working together as a whole.

sudo apt-get install emdebian-tools subversion
emsetup
emsource source
emdebuild
emrecent

(emdebuild runs some basic checks on the content of the packages. emrecent runs additional checks on the packages using emdebcheck and edos-debcheck then uses dput to upload to the relevant Emdebian repository.)

Plan

  1. apt-cross - Use debian-xcontrol to provide a list of EmdebianCrossPackages - packages that have to be available on the build host as native packages and as cross packages, installed using dpkg-cross or apt-cross.

  2. Utilise edos-debcheck- See EmdebianInstallCheck.

empdebuild

Built on pdebuild with a few differences.

  1. Written for full dash compatibility - pbuilder relies on bash. The amount of pbuilder code that can be reused whilst still using dash will determine whether empdebuild later switches to Perl. Currently, the test empdebuild dash scripts require some embedded Perl to interface with the rest of emdebian-tools anyway.

  2. Uses Emdebian toolchain packages to add to our own --basetgz, by default called emdebian.tgz. These binaries are retained within the chroot and upgraded with the rest of the permanent chroot packages.

  3. Uses pdebuild code to locate the .dsc in a debian source tree.
  4. Uses cross-built gcc from Emdebian to build in the emdebian chroot.
  5. Uses apt-cross to get, build and install (to the chroot) dependencies, like pdebuild, dependencies will not be saved to the chroot. (This is likely to involve porting some code from NorthernCross into apt-cross either directly or via a libnortherncross-perl package in Debian.)

  6. Apply the emdebian patches from SVN.
  7. Builds an emdebian package from the debian source tree.
  8. IGNORES Debian essential packages - require each package to specify the FULL dependency list.

  9. Uses the emdebian version number (from the emdebian-changelog.patch patch held in svn).
  10. Use dash as the default shell, not bash.
  11. Add busybox-full, initscripts, tinylogin and minibase (rather than dropbear) as the base system of the chroot.

GPE in Debian

Some GPE packages are already in Debian, I'm working to complete the list so that Debian itself can support smaller devices and provide the GPE packages for Emdebian to optimise further. All the packages that were originally missing when comparing Debian unstable with my Familiar 0.8.4 installation on a H3900 iPAQ are now being packaged for Debian. See http://pkg-gpe.alioth.debian.org/ for current status.

Emdebian package building

  1. Patch debian/ files according to emdebian SVN *without* running debian/rules (this allows rules itself to be patched).
  2. Prepare a .deb under this naming scheme:

<package> == binary package name, exactly as in Debian.
<dvers>   == Exact Debian version string.
<evers>   == Sequential emdebian release number.

<package>_<dvers>em<evers>_<arch>.deb

So, taking libqof1 as our example.

Binary package name: libqof1
Upstream version: 0.7.2.
Debian version: 1
Example arch: amd64

Current Debian package name: libqof1_0.7.2-1_amd64.deb

Emdebian release: 1
Emdebian arch: arm

Proposed emdebian package name: libqof1_0.7.2-1em1_arm.deb

use svn-buildpackage layout to keep debian diffs as 'upstream' in the .diff.gz and emdebian diffs as patches in emdebian SVN.

Status : Implemented in emdebian-tools.

Ideas for collaborative maintenance of emdebian packaging.

  1. Wherever possible, automate the streamlining of package building without patching (that is likely to fail with the next upload).
  2. Where manual changes are needed to debian/* files for emdebian, changes should be possible by any emdebian developer. This may need restrictions on svn write access to only Debian developers or the creation of a second tier of Emdebian access.

  3. Each amendment of the svn for a particular package needs to increment the emversion - a simple suffix that denotes the emdebian version, itself appended to the existing Debian version. No other form of emdebian version string is anticipated - NMU's and backports should only affect the Debian version string and emX will be appended to whatever Debian supply.
  4. Where patches are necessary, the emdebian svn stores the patch file.

The prime motivation for this is that emdebian packages should not need dedicated, specific, emdebian maintainers in addition to Debian maintainers.

Unpacking support for cross debootstrap filesystem images

http://wiki.debian.org/EmDebian/CrossDebootstrap#head-0ac52e84289da7887fc09858558503ba041747f3


Main homepage: http://www.linux.codehelp.co.uk/

Debian homepage: http://people.debian.org/~codehelp/


CategoryEmdebian