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.