Extending Emdebian
New Architectures
The first stage of development in Emdebian was based around ARM and moves are now afoot to migrate Emdebian to other architectures - namely armel and i386.
The main areas of development need to be:
- Infrastructure improvements in Emdebian to coordinate testing migrations across Emdebian Crush and Emdebian Grip, synchronised with Debian.
- Native build support for architectures like i386.
Cache file changes
Some packages try to identify certain variable values by compiling and then executing a test binary. This breaks whenever the test is attempted in a cross-build situation. Therefore, Emdebian uses a series of cache files that pass these values to the ./configure script using support in dpkg-cross.
Native builds
Emdebian implements a modified Policy and one of the ways this is done is using DEB_BUILD_OPTIONS passed to dpkg-buildpackage.
DEB_BUILD_OPTIONS="nodocs nocheck" dpkg-buildpackage $other_options
This then allows a normal Emdebian build to be checked with the Emdebian lintian support:
lintian -ioC em $changes_file
To build for an i386 Emdebian target on amd64, use a 32bit chroot, created with debootstrap. There should be no need to install emdebian-tools.
It is possible to use the Emdebian repository as a standard Debian mirror to provide pre-patched Emdebian source packages which already comply with Emdebian Policy. Unpacking these source packages using dpkg-source -x creates a standard Debian source directory containing the Debian changes and the Emdebian changes overlaid.
CDBS packages need a little support in the Emdebian patch sets and this can cause a few problems - the file containing the Emdebian changes for CDBS would not exist. The need for this file will disappear when the relevant bug report against CDBS is closed - the main purpose is to implement a fix for another bug, against debhelper, to allow documentation to be dropped from the package by omitting calls to dh_installman, dh_installchangelogs etc. There are over 40 CDBS packages used by Emdebian, including:
avahi cups dbus dbus-glib fontconfig galculator gconf gmp gnome-vfs gnutls26 gpe-calendar gpe-conf gpe-expenses gpe-gallery gpe-go gpe-lights gpe-othello gpe-question gpe-todo hal-info libcontactsdb libeventdb libgcrypt11 libglade2 libgpelaunch libgpepimc libgpevtype libmatchbox libmimedir-gnome libsoundgen libtododb libxcb lzo2 matchbox-keyboard matchbox-panel matchbox-panel-manager matchbox-window-manager pm-utils qof shadow shared-mime-info startup-notification tiff
Back to the Emdebian Project homepage.