EMDEBCHECK(1)
Name
emdebcheck - Check Emdebian builds with edos-debcheck before upload
Copyright and Licence
Copyright (C) 2008 Neil Williams <codehelp@debian.org>
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Usage
emdebcheck [-a|--arch ARCH] FILENAME
emdebcheck -?|-h|--help|--version
Options
-a|--arch ARCH: Set architecture (default: defined by dpkg-cross)
Description
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.