|
Extending EmdebianNew ArchitecturesThe 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:
Cache file changesSome 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 and these cache files need to be updated and modified for each architecture during the port. Cache files are created using the Emdebian patches in SVN - named according to the full "triplet" of the relevant architecture: emdebian-arm-linux-gnu.cache.patch is used to create arm-linux-gnu.cache. The equivalent armel cache file would be arm-linux-gnueabi.cache and the equivalent patch file in Emdebian SVN would be emdebian-arm-linux-gnueabi.cache.patch. Some packages that need cache files include: apt avahi coreutils dbus-glib dbus devmapper dpkg glib2.0 gnupg krb5 libidl libopenobex mktemp ntp orbit2 popt psmisc shadow sqlite startup-notification tar tslib usbutils util-linux xorg-server xserver-xorg-input-mouse Each cache file can be found in Emdebian SVN. For more information on cache file see the Introductory Guide and the Emdebian Developer Guide. Native buildsEmdebian 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 |
Last Modified: Wed, Sep 10 02:31:14 UTC 2008
Copyright © 2000-2008
The Embedded Debian Project;
Emdebian is an offical subproject of Debian.