[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Lintian and Emdebian Policy



I've made a start on lintian support for Emdebian because it is easier
to extend lintian than to reinvent it in yet more build checks in
emdebuild. (It also means that emdebuild gets a lot smaller and more
focused on just handling the patches.) This adds lintian as a dependency
of emdebian-tools (but not emdebian-rootfs) but most people will have
that already.

As a result, it has been easier to identify where Emdebian differs from
Debian Policy and track those differences as lintian errors or warnings.
I've combined the two in one Wiki page:

http://wiki.debian.org/EmdebianPolicy

Feel free to extend this - in particular, I'm not sure just how
pervasive the RPATH issue really is and whether it is merely a
consequence of cross building or essential for running cross built
packages.

Rough code is in current SVN but I'm discussing with the lintian
maintainers how to optimise the lintian support for our needs - in
particular allowing Emdebian developers to run standard lintian against
Emdebian packages without generating any new errors (false positives) or
missing any old errors (false negatives). Obviously, 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 we can update them
whenever necessary.

Any contributions to new tags, adding more useful descriptions of the
existing tags or creating / linking to reference pages ala standard
lintian, feel free to edit the Wiki and then let me know.

Currently, due to some vagaries within lintian/perl, there are two ways
to do this:

With emdebian-tools installed from SVN (requires dpkg-dev >= 1.14.17
from experimental):

To check an Emdebian package only for compliance with Emdebian changes
(the autobuilder will use this):
$ lintian -C em $changes_file

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.

Note that emdebuild and em_autobuild will expect 'lintian -C em
$changes_file' to return 0 or the build will fail. i.e. lintian errors
within the Emdebian check set *are fatal* and will cause a FTBFS so this
is a bit more strict than Debian. (Warnings are non fatal.) I've done
that 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.

The autobuilder will use '-C em' so that upstream lintian errors do not
cause a cross-build failure.

emsource will also report lintian messages (using -C em) in --status
mode and the newer QA tools like embug, emrecent, emdebcheck and
embuildstats will gradually gain lintian support too.

http://www.emdebian.org/emdebian/tools.html#qa

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/


Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: