carta
emdebcheck(1)

emdebcheck1

Check emdebian builds with edos-debcheck before upload

Usage

 emdebcheck [-a|--arch ARCH] FILENAME
 emdebcheck -?|-h|--help|--version

Options

 -a|--arch ARCH:          Set architecture (default: defined by dpkg-cross)

Overview

emdebcheck is similar to the debcheck routines in Debian, except this is run before the upload is made.

Whilst native packages can (more or less) rely on pbuilder to ensure that dependencies are actually available prior to the upload, cross builds use build dependencies from Debian but get uploaded to a separate repository so there is no guarantee that the dependencies generated using -cross packages during the build are actually present in the Emdebian repository, even when the package is cross built within a chroot.

emdebcheck attempts to cover this gap by parsing the dependency information from the built package, inserting this data into a copy of the apt cache for the Emdebian target repository (replacing any data from the current package) and runs the modified cache data against 'edos-debcheck'.

Note that some packages will <B>always</B> be broken - particularly -dev packages. Errors are output to the emrecent error logfile - fix the issue(s) and remove the error log before trying to upload this package using emrecent.

Use in pipes

emdebcheck can also read filenames from STDIN, use:
emdebcheck - at the end of your pipe.

You can parse a .changes with the 'dcmd' tool from devscripts:
dcmd ls -1 /$path/foo_vers_arm.changes | grep '.deb$' | grep -v '\-dev_' | sed 'N;s/\n/ /' | emdebcheck -

Note the removal of the -dev package, depending on the source package, you may also want to remove other packages from the list output by dcmd.

When emdebcheck is passed more than one file <B>these must all be from the same source package<B> - i.e. scripts can parse the .changes file, identify the .deb packages and pass them all to emdebcheck. This is supported so that a binary like bzip2 can be checked alongside the library that is built from the same source (libbz2-1.0) as both will be uploaded together, e.g. by emrecent. emrecent also removes -dev packages that are always likely to fail.

From emdebian-tools 1.4.3 in Debian 5.0 (Lenny). Parsed by carta from the page's man source.