embug(1)
NAME
embug - Track Emdebian cross-building bugs from within package builds.
SYNOPSIS
embug [[-p] | [--package] PACKAGE] [[-v] | [--verbose]] [[-q] [--quiet]] [[-f] | [--flag]] embug [[-p] | [--package] PACKAGE] [[-v] | [--verbose]] [[-q] [--quiet]] [[-g] | [--get-number]] embug [[-p] | [--package] PACKAGE] [[-v] | [--verbose]] [[-q] [--quiet]] [[-r] | [--remove]] embug [[-p] | [--package] PACKAGE] [[-v] | [--verbose]] [[-q] [--quiet]] [[-d] | [--debian]] embug [[-p] | [--package] PACKAGE] [[-v] | [--verbose]] [[-q] [--quiet]] [[-o] | [--outdated]] embug [[-p] | [--package] PACKAGE] [[-v] | [--verbose]] [[-q] [--quiet]] [--lintian] embug [[-p] | [--package] PACKAGE] [[-v] | [--verbose]] [[-q] [--quiet]] [--failed] embug [[-v] | [--verbose]] [[-q] | [--quiet]] [[-l] | [--list]] embug [[-v] | [--verbose]] [[-q] | [--quiet]] [--list-bugs] embug [[-v] | [--verbose]] [[-q] | [--quiet]] [--list-newer] embug [[-v] | [--verbose]] [[-q] | [--quiet]] [[--prepare]] embug [[-v] | [--verbose]] [[-q] | [--quiet]] [[-u] | [--update]] embug [[-v] | [--verbose]] [[-q] | [--quiet]] [[-m] | [--missing]] embug [[-?] | [-h] | [--help] | [--version]]
DESCRIPTION
embug helps track cross-building bugs when preparing Emdebian builds.
When trying to prepare a package set, it can be easy to lose track of
which packages need to have changes within Debian to support
cross-building. embug also keeps track of current crossbuilt bugs
using SOAP.
COMMANDS
- -f|--flag
- Mark the current package as needing a cross-building bug report.
- -g|--get-number
- Output the bug number for the cross-building bug filed against the current package, if any.
- -r|--remove
- In case of error, --remove removes the flag - providing no bug
report has been filed in the meantime. Use -p to specify a package
name outside the source directory of the package itself.
(Alternatively, just edit ~/.apt-cross/embug.) - --lintian
- lintian support in emdebian-tools uses a specialised set of Emdebian-only checks that supplement or replace the standard Debian check sets. See http://wiki.debian.org/EmdebianPolicy.
- To check an Emdebian package only for compliance with Emdebian
Policy use:
$ lintian -C em $changes_file - (emsource, emdebuild and embuildstats use this mode.)
- To check an Emdebian package as a standard Debian package (so that
any upstream lintian warnings and errors show through):
$ lintian -X man $changes_file - Once a few things are solved in lintian, the -X man will be
dropped. Naturally, it is imperative that any Emdebian changes to
lintian support do not impact on normal Debian builds. All these
Emdebian lintian errors and warnings will remain within the
emdebian-tools package so that Emdebian can update them whenever
necessary. - Note that emdebuild and em_autobuild will expect lintian -C em
$changes_file to return zero or the build will fail. i.e. lintian errors within the Emdebian check set are fatal and will cause a failure to build the package form source so this is a bit more
strict than Debian. (Warnings are non fatal.) This has been done
because the results of putting an amd64 ELF binary into /usr/bin on an ARM device are quite hard to debug, especially if that binary is part of the boot process. - -d|--debian
- See FLAGS. Records that a newer version of this package exists in
Debian. - -o|--outdated
- See FLAGS. Records that at least one patch (except
emdebian-changelog.patch) failed to apply. - --failed
- Record that the package failed to crossbuild, despite the patches
being applied correctly. This flag overrides all other flags except --outdated. - -l|--list
- List the current set of cross-building bugs, including gaps where a patch needs to be prepared and a bug filed. Also lists the packages with outdated patches or newer versions in Debian.
- --list-bugs
- List the current set of cross-building bugs, including gaps where a patch needs to be prepared and a bug filed.
- --list-newer
- List the packages with outdated patches or newer versions in
Debian. - -u|--update
- Update the offline bug list using SOAP to query bugs.debian.org. If
a bug is closed by the Debian maintainer, the report is removed
from the offline cache. - -m|--missing
- List only the source packages that have been flagged as needing
bugs where no bug has yet been filed. - --prepare
- Creates a temporary directory in ../../branches, copies the Debian
and Emdebian source into the new directory and unpacks each, ready
for you to use meld to prepare a patch to be filed against the
Debian package. See
http://www.emdebian.org/emdebian/intro.html#filing[1]
- -?|-h|--help
print the usage message and exit.
- --version
print the usage message and exit.
OPTIONS
- -p|--package
- Specify a different package instead of looking for debian/control.
- -v|--verbose
- be verbose.
- -q|--quiet
- be quiet.
FLAGS
Various scripts within emdebian-tools set flags using embug based on
cache data, build failures, lintian updates etc. The flags are set in a
hierarchy:
- · --debian is the lowest priority - the package
- could still build cleanly in this state if it built cleanly
- last time and
- if the changes in the new version are unrelated to the
- Emdebian patches.
- .RE
- · --outdated is medium priority - a package
- has been updated in Debian and the current patches now fail to apply. This could be because a cross-building
- bug has been fixed,
- it could just be a change to a section of the file that
- is specified in the
- patch..RE
- · --lintian is the highest priority - the package
- requires work on the Emdebian patches to restore a
- clean build. Note that
- packages can fail on lintian even if the Debian
- package has not changed,
- dependent on changes within the lintian support in
- Emdebian. Packages must
- NOT be uploaded with lintian errors in the Emdebian check set - lintian errors from the standard Debian
- checks are ignored.
- .RE
- · --failed is a virtual priority - it is only
- set if the patches are up to date, otherwise most
- packages listed as
- "Failed" would just be failed patches. "Failed"
- also replaces "lintian"
- if the patches are up to date.
.RE - Attempting to set a flag of lower priority than the
currently set flag will silently fail, leaving the
original flag in place. - Removing flags is not automated - use ´embug --remove --package $PACKAGE´ to remove all flags once all issues are resolved.
FILES
embug stores the flags and offline SOAP results in ~/.apt-cross/embug.
AUTHOR
embuildstats was written by Neil Williams <codehelp@debian.org>.
This manual page was written by Neil Williams <codehelp@debian.org>
SEE ALSO
See also emdebuild (1), empdebuild (1), emsource (1), emdebuild (1), emtargetcmp (1), dpkg-cross (1), emdebian-tools (1).
General Introduction[2] to crossbuilding Debian.
AUTHOR
Emdebian
- Neil Williams
- Author.
COPYRIGHT
NOTES
- 1. http://www.emdebian.org/emdebian/intro.html#filing
- http://www.emdebian.org/emdebian/intro.html#filing
- 2. General Introduction
http://www.emdebian.org/emdebian/intro.html