Re: Bug#571776: document symbols
Charles Plessy <firstname.lastname@example.org> writes:
> here are some comments about the current patch. I agree with the other
> changes made subsequently in that thread.
>> + If a package contains a binary or library which links to a
>> + shared library, we must ensure that, when the package is
>> + installed on the system, all of the libraries needed are also
>> + installed. These dependencies must be added to the binary
>> + package when it is built, since they may change based on which
>> + version of a shared library the binary or library was linked
>> + with.
> I have a difficulty with that sentence : isn't the goal of the symbols
> system to actually avoid that a dependancy changes when a package is
> built on a newer version of a library ? What rather changes is that the
> dependancy is modified when a new version of the package makes new calls
> to the library, which may have been implemented only in newer versions
> of the library.
That's true, but somewhat deceptive because this can happen with no
changes to the client code. In some cases, changes only to the library
with no changes to the client code can require tighter dependencies when
the client is built against the newer library. The obvious example is
replacing a macro in a header with an actual function entry point. In
this case, the client code will build and work fine with either the older
or the newer version of the library, but when built against the newer
library, it won't work with the older library.
That's what this is trying to capture here. If the exact same code is
rebuilt against a newer version of a library, it may have to depend on
that newer version of the library.
> If the misunderstanding is on my side, please consider it a hint that
> the explanations can be expanded :) [PS: after reading the whole patch,
> maybe this has something to do with minimal-version ?]
I'm not really sure what else to say, but I'm happy to add more if someone
can take a shot at letting me know what's needed....
But I was intentionally trying to keep this vague and not get into
enumerating the reasons why dependencies may need to be tightened. That's
really a topic for a whole separate guide on how shared libraries should
The rest of your changes look good, although I haven't had a chance to
incorporate them yet. I'll take a look, hopefully soon, although I may
not have time this weekend (which is a long holiday weekend in the US).
Russ Allbery (email@example.com) <http://www.eyrie.org/~eagle/>