emdebian logo
 

About Emdebian
 Emdebian & Debian
 Purpose
 Customisations
 Flavours
 Extending Emdebian
 Tdeb support

Cross toolchains
 Toolchain packages

Packages
 Root Filesystem
 Build Tools
 Target packages
 Autobuild Report
 Repository Key
 Crossbuild bugs
 Packaging bugs

Documentation
 Introductory Guide
 Emdebian Wiki
 Emdebian FAQ
 Packaging rules
 Packaging infrastructure
 Packaging guideline
 DebConf paper

Support
 Contact Us
 Mailing List Archives

Help Emdebian
 Developers' Info
 Subversion
 ToDo list

News

History
 Slind
 Stag
 Emdebsys

Links
 Emdebian Bootldr
 Emdebian Kernel
 Emdebian JTAG
 Scratchbox
 QEmu
 CELF

Valid HTML 4.01!

 
   

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:

  1. Cache files for cross-built architectures like armel
  2. Native build support for architectures like i386
  3. Improvements to the autobuilder report to support extra architectures without overloading the page.

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 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 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


See the emdebian contact page for information on contacting us.

Last Modified: Wed, Sep 10 02:31:14 UTC 2008
Copyright © 2000-2008 The Embedded Debian Project;
Emdebian is an offical subproject of Debian.