On Fri, 18 Jan 2008, Mark Brown wrote:
> On Fri, Jan 18, 2008 at 09:45:17PM +0100, Raphael Hertzog wrote:
> 
> > The provided symbols files do not match reality on all arches. It seems to 
> > me
> > that you have to provide arch-specific symbols files that include either a
> > 32bit version or a 64bit version depending on the case apparently.
> 
> You mean like these?
> 
> debian/zlib1g.symbols.arm
> debian/zlib1g.symbols.armel

Indeed. Sorry, I haven't checked the source package.

> On Fri, Jan 18, 2008 at 09:45:17PM +0100, Raphael Hertzog wrote:
> 
> >   [EMAIL PROTECTED] 1:1.1.4
> > + [EMAIL PROTECTED] 1:1.2.3.3.dfsg-9
> >   [EMAIL PROTECTED] 1:1.1.2
> 
> These symbols are not in the symbols file because they shouldn't be
> there on 64 bit cross builds; anything using them is buggy.  Given this
> I was perfectly happy with the default since the symbols files expressed
> exactly what I wanted them to express in a very natural fashion.

I'm sorry I don't understand. Why should they not be there and why can't
they be hidden/removed if they are not wanted?

Also if nobody is suppossed to link against them, and if you can't make
them disappear, what about associating them to an unsatisfiable
dependency for examples with entries like:
libz.so.1 zlib1g #MINVER#
| link-with-private-zlib-symbols
 [EMAIL PROTECTED] 1:1.1.4
 [EMAIL PROTECTED] 1:1.2.3 1
 [EMAIL PROTECTED] 1:1.1.2

I have another question: why does the lib64z1 package provide a symbols
file that generates a dependency on "zlib1g" and not "lib64z1"? It looks
like a bug to me given that the shlibs correctly indicates lib64z1.
lib32z1 is also affected on 64 bit arches apparently.

I suggest to remove the header line in zlib-base.symbols and create a
zlib1g-base.symbols with the header line and with an include on
zlib-base.symbols. Also remove the header line in zlib-(32|64).symbols
they are not needed. Update all the zlib1g.symbols.arch files to
include zlib1b-base.symbols instead and update the lib(32|64)z1.symbols
with a correct header line.

(The alternative is to override the header in lib(32|64)z1.symbols by
adding the correct header line _after_ the #include if the include
contains an unwanted header line).

> If you're going to file bugs like this I would suggest removing the
> support for this from dpkg-shlibdeps.

Please, it was not meant as an attack. On the contrary, I'm quite happy
that you're part of the few who tried the symbols mechanism quite early.

We're still discovering what good practices are and that's why I submitted
this bug and that's why I added the lintian check. I didn't expect that it
was a deliberate choice of yours to not list symbols which are actually
provided by the lib.

Cheers,
-- 
Raphaël Hertzog

Le best-seller français mis à jour pour Debian Etch :
http://www.ouaza.com/livre/admin-debian/


Reply via email to