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]]
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.
-f|--flagMark the current package as needing a cross-building bug report.
-g|--get-numberOutput the bug number for the cross-building bug filed against the current package, if any.
-r|--removeIn 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|--debianSee FLAGS. Records that a newer version of this package exists in Debian.
-o|--outdatedSee 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|--listList 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|--updateUpdate 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|--missingList 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
-?|-h|--helpprint the usage message and exit.
--version
print the usage message and exit.
-p|--packageSpecify a different package instead of looking for
debian/control.
-v|--verbosebe verbose.
-q|--quietbe quiet.
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.
--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.--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.
--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.
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.
embuildstats was written
by Neil Williams <codehelp@debian.org>.
This manual page was written by Neil Williams
<codehelp@debian.org>
See also emdebuild (1), empdebuild (1),
emsource (1), emdebuild (1),
emtargetcmp (1),
dpkg-cross (1), emdebian-tools (1).
General Introduction to crossbuilding Debian.