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

Bug#545078: lintian: warn if symbol file contains tag but no build-dep on dpkg-dev (>= 1.15.3~)



Hello,

On pirmadienis 14 Rugsėjis 2009 12:44:27 Jakub Wilk wrote:
> * Russ Allbery <rra@debian.org>, 2009-09-13, 20:19:
> >> dpkg-dev 1.15.3 introduced the following change:
> >>
> >>    * Support tags before symbols in symbols file contained in source
> >>      packages.  The first two tags are "optional" (use it to not fail if
> >>      the symbol might disappear from the library without breaking the
> >>      ABI) and "arch" to restrict the set of architectures where the
> >>      symbol is supposed to exist.  Thanks to Modestas Vainius
> >>      <modestas@vainius.eu> for the patch.  See dpkg-gensymbols(1) for
> >>      more information. Closes: #521551
> >>
> >> lintian should warn if symbol file contains tags but the package does
> >> not build-depend on dpkg-dev (>= 1.15.3~).
> >
> >The tricky part of implementing this is that currently all of Lintian's
> >analysis of symbol files is based on the binary package, and by that point
> >dpkg-gensymbols has already analyzed and removed the tags.  Finding the
> >symbol files in the source package is a bit trickier since they can be
> >assembled on the fly if the package wishes to, and it would mean parsing
> >them again.
> 
> I think we can accept the possibility of false negatives in case these
> files are generated on the fly.
> 
> Symbols in the source package should be checked anyway, because this is
> the only way to early catch issues in arch-specific symbol files.
> (Imagine one makes a typo in debian/symbols.s390 but don't have a S390
> handy to check if the package is actually built correctly.)

Just grep possible source symbol file templates for tag specification and warn 
if no strict dpkg-dev build dependency exists. Another issue is a set of 
supported tags (those which are acted upon, not just passed by) in the 
particular dpkg-dev version. More tags will probably supported in the future 
so it makes sense to implement a mini tag specification parser in lintian as 
well.

> >What happens if a package with a symbol file using tags is built with an
> >old version of dpkg-dev?  Does the tag end up in the installed symbol file
> >as if it were a symbol?
> 
> Yes, unless a tag contains spaces, it is considered by old dpkg-dev as
> a part of symbol name. That is, in many cases, a package would simply
> FTBFS due to missing symbols...

Yeah, 99% of packages will FTBFS due to #MISSING symbols when built with old 
dpkg-gensymbols.

-- 
Modestas Vainius <modestas@vainius.eu>

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


Reply to: