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

Re: lintian for Emdebian



On Tue, 2008-04-01 at 14:09 -0700, Russ Allbery wrote:
> Neil Williams <codehelp@debian.org> writes:
> 
> My recommendation is to try to tackle this on two fronts:
> 
> * For the new checks specific to emdebian, add new check files.  You can
>   do this in a completely separate package and just depend on lintian.

OK, that's working, thanks Russ.

Current test code:
http://buildd.emdebian.org/svn/browser/current/host/trunk/emdebian-tools/trunk/checks

>   Lintian when run will pick up any files in /usr/share/lintian/checks, so
>   you can just drop more checks and *.desc files in there.  You can have
>   those checks do nothing if they detect they're not running in the
>   emdebian mode somehow.
> 
> * For the Lintian checks that are wrong for emdebian, I would just add a
>   global override file for emdebian. 

Hmmm, can't find any docs on a "global lintian override file" - where
would that live and how would it cope with unknown/unbuilt packages?

So far, I'm working with:
Tags::add_override ("source-nmu-has-incorrect-version-number");
Tags::add_override ("changelog-should-mention-nmu");
Tags::add_override ("binary-or-shlib-defines-rpath");
tag "binary-or-shlib-omits-rpath", "$file $RPATH{$file}";
and others

Those all work fine.

However, I'm finding it impossible to override the manpage warnings
without removing all the manpages checks with -X :

Tags::add_override ("binary-without-manpage");
Tags::add_override ("binary-without-manpage apt-cache");
Tags::add_override ("apt", "binary-without-manpage apt-cache");
Tags::add_override ("binary-without-manpage usr/bin/apt-cache");
Tags::add_override ("apt", "binary-without-manpage usr/bin/apt-cache");
Tags::add_override ("apt", "binary-without-manpage ./usr/bin/apt-cache");
Tags::add_override ("binary-without-manpage apt-cache");

Still, I get:
W: apt: binary-without-manpage usr/bin/apt-cache
W: apt: binary-without-manpage usr/bin/apt-cdrom
W: apt: binary-without-manpage usr/bin/apt-config
W: apt: binary-without-manpage usr/bin/apt-get
W: apt: binary-without-manpage usr/bin/apt-key
W: apt: binary-without-manpage usr/bin/apt-mark
I: apt: unused-override binary-without-manpage
I: apt: unused-override binary-without-manpage apt-cache
I: apt: unused-override binary-without-manpage usr/bin/apt-cache

I don't actually need the manpages checks but I would like to not have
to alias lintian to lintian -X manpages.

Is there a way of implementing '-X' within the check scripts? (It would
save time if I could drop entire scripts like manpages and replace with
a simple check that /usr/share/man/ is empty). (Have I got the overrides
wrong? I've tried various formats.)

W: apt: binary-without-manpage usr/bin/apt-cache
I: apt: unused-override binary-without-manpage
I: apt: unused-override binary-without-manpage apt-cache
I: apt: unused-override binary-without-manpage usr/bin/apt-cache

Tags::add_override ("binary-without-manpage");
Tags::add_override ("binary-without-manpage *");
Tags::add_override ("binary-without-manpage apt-cache");
Tags::add_override ("binary-without-manpage usr/bin/apt-cache");

You can get an example .deb from the Emdebian repository:
http://www.emdebian.org/packages/pool/main/a/apt/

$ lintian -q -C emdebian apt_0.7.9em2_arm.deb 
E: apt: unsupported-interpreter-in-binary usr/bin/apt-mark
E: apt: unsupported-interpreter-in-binary usr/lib/dpkg/methods/apt/setup

(These are errors in the current Emdebian package which I need to fix -
a failure with 'lintian -q -C emdebian' will cause a FTBFS in Emdebian
once this support is implemented in emdebian-tools 1.0.0 - that call
could easily be 'lintian -q -X manpages -C emdebian' but I'd like to
know if I've done something wrong in my manpage overrides.)

$ lintian -I apt_0.7.9em2_arm.deb 
W: apt: binary-without-manpage usr/bin/apt-cache
W: apt: binary-without-manpage usr/bin/apt-cdrom
W: apt: binary-without-manpage usr/bin/apt-config
W: apt: binary-without-manpage usr/bin/apt-get
W: apt: binary-without-manpage usr/bin/apt-key
W: apt: binary-without-manpage usr/bin/apt-mark
E: apt: unsupported-interpreter-in-binary usr/bin/apt-mark
E: apt: unsupported-interpreter-in-binary usr/lib/dpkg/methods/apt/setup
W: apt: package-name-doesnt-match-sonames libapt-pkg-libc6.6-6-4.6
I: apt: unused-override binary-or-shlib-defines-rpath
I: apt: unused-override binary-without-manpage
I: apt: unused-override build-depends-indep-without-arch-indep
N: 2 tags overridden (2 errors)


>  If you need additional Lintian
>   support for override files that are more overridey than normal
>   (suppressing tags even with --show-overrides, for example) or are
>   selectively loaded, we can try to work out generic changes to the driver
>   scripts for this.

Thanks, I'll work through the current package set and build up a list of
lintian messages and overrides.

-- 


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: