emdebian logo
 

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

Cross toolchains
 Toolchain packages

Emdebian Crush
 Packages
 Root Filesystem
 Build Tools
 Autobuild Report
 Repository Key
 Crossbuild bugs
 Packaging bugs

Emdebian Grip
 Packages
 Repository Key
 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!

 
   

[ SVN source ] [ Emdebian presentation ] [ emdebian-tools manpages ] [ Emdebian dependency maps ] [ Debian package ]

emdebian-tools

The emdebian-tools source package supports a range of scripts for Emdebian.

Debian cross-building toolset

The emdebian-tools package is a collection of scripts to ease cross-building Debian packages for Emdebian, reducing package size, separating translations into individual files and handling dependencies. emdebian-tools depends on each of the other packages built from the main source package. The main building scripts include:

  • emsetup : Check your system for cross-build support and determine some defaults for other emdebian-tools scripts. Run this first, using the simulate option, to see what changes may be needed.
    • emchain : Toolchain builder for cross compiling. If a pre-built toolchain is not found or not available, emchain can build a custom toolchain for your needs using the current Debian version of gcc.
  • em_make : Emdebianise a Debian package. Creates suitable changelog entries, omits certain debhelper scripts from debian/rules and maintains a patchset for emdebian. Removes all documentation and udeb packages from debian/control.
  • emlocale has been replaced with em_installtdeb, based on debhelper, which neither needs nor generates patch files.

  • emdebuild : Emdebian version of debuild that handles cross-building the emdebianised tree. Requires a suitable cross-building toolchain to be installed for the requested architecture, e.g. gcc-4.1-arm-linux-gnu, available from the emdebian tools repository via emsetup or built for your particular configuration using emchain.
  • empdebuild : Emdebian version of pbuilder that handles cross-building in a chroot. Supports creating an emdebian chroot tarball including an Emdebian toolchain and chroot cross-building of emdebianised packages using emdebuild. Includes support for debian/xcontrol files to specify which Build-Cross-Depends packages to install with apt-cross.
  • em_autobuild : cross-building autobuilder that identifies source packages updated in Debian and attempts an automatic cross build of the new version. em_autobuild can also build all packages for a particular root filesystem, including dependencies. Packages are build using emsource. em_autobuild logs buildd failures using embug. Packages with lintian errors or emdebcheck failures are not installed in the Emdebian target repository without manual intervention.

See the HowTo guide for information on using the tools to build packages.

Quality Assurance scripts

These scripts are included in the emdebian-tools binary package. Full details of how the scripts are used are available in the Emdebian Quality Assurance section.

  • embug : maintains a list of open cross-building bug reports in Debian via SOAP, keeps records of packages with problems but no bug yet filed, patches that are out of date and packages that are newer in Debian than in Emdebian.
  • emdebcheck : similar to the debcheck routines in Debian, except this is run before the upload is made.

    • emrecent : to assist when preparing cross-built packages for upload, emrecent presents a list of recently cross built Emdebian packages (within a configurable timeframe), displays the contents of the packages using debc from the devscripts package and runs emdebcheck on the .changes file. Also supports uploading TDeb changes.
  • emtargetcmp : Status tracker for Emdebian that checks each source package in Emdebian and compares the version against the current Debian Sid source package. Packages that are older in Emdebian than in Debian are logged using embug.
  • embuildstats : Simple summary script that checks your Emdebian working directory and presents a table showing which packages have been built, the number of patches required, when the package was built with emdebuild or empdebuild and when it was uploaded.
  • lintian support : to implement Emdebian Policy using lintian -ioC em.

emdebian-rootfs

Root filesystem and Installation tools

emdebian-rootfs is a separate package for users who only need to use binary packages from Emdebian, rather than build new ones or modify existing ones from Debian sources and Emdebian patches.

  • emsandbox : native chroot tool for Emdebian testing. emsandbox is a wrapper for debootstrap to prepare an Emdebian root filesystem, using Emdebian packages and a native chroot via 'debootstrap --foreign' and code from pbuilder. The native chroot is intended to support testing of a rootfs and package installability.
  • emdebian-rootfs also includes three "suite scripts" that are used with debootstrap to prepare the root filesystems. The suite scripts extend the package set of the minimal root filesystem to include a basic Gtk+ environment and then again to include a full GNOME Palmtop Environment.

Installation Changes

emdebian-tools makes two changes to the apt configuration of your Debian installation to cross-build successfully. The first is to allow apt to use the Emdebian toolchain repository, the second is to ensure that apt can provide useful cross-building information to emdebian-tools during cross-build operations by ensuring that you have at least one apt source that is a primary Debian mirror. These changes are reverted if the emdebian-tools package is purged.

For these reasons, it is important to update your apt or aptitude cache data after installing emdebian-tools and then upgrade your installation. Interim bug fix releases of emdebian-tools are made to the Emdebian repository and updates are available alongside the toolchains.

$ sudo apt-get update
$ sudo apt-get upgrade

Note that the dependencies of emdebian-tools will continue to change as the toolset develops so sometimes you will need to add new packages and it can be better to use:

$ sudo apt-get update
$ sudo apt-get dist-upgrade

Colour

emdebian-tools support colourised output to supporting terminals using Text::ANSIColor. This can be disabled by setting the environment variable ANSI_COLORS_DISABLED. In general, colour is used when the scripts are called in verbose mode or when performing actions that may be unfamiliar to new users of the package. Blue indicates a general status message from the script itself. Green indicates that the script has modified a file or performed an action that modifies data external to the current process - e.g. adding a file to Emdebian SVN. Red indicates errors. Programs and scripts called by emdebian-tools are left to output their own colours or simply output to the terminal default. Colours are implemented via escape sequences and do not affect copying textual output from the terminal into other applications.

Roadmap

Future changes in emdebian-tools

Main area of change: a full implementation of tdebs in Debian as well as Emdebian (planned for DebConf8 and/or Extremadura).

Other changes involve persuading Debian maintainers to fix the cross-building bugs reported from Emdebian builds.


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.