On Tue, Nov 30, 2010 at 04:01:45PM +0000, Roger Light wrote: > On Tue, Nov 30, 2010 at 1:07 PM, Peter Pentchev <email@example.com> wrote: > > > Actually it would be great to have symbols files right from the start. > > This way, when the next library version comes out, dpkg-gensymbols will > > add the *new* symbols to the file, and when some package links to this > > library (including the other binary packages built from this source), > > dpkg-shlibdeps will know exactly on which version it needs to depend. > > This will avoid needless upgrades on users' machines - if you update > > the libmosquitto0 package to a new upstream version and some other > > package does *not* use any of the new symbols, there would be no "real" > > need for users to upgrade the libmosquitto0 package... barring bugfixes > > and stuff, of course :) > > That sounds eminently sensible, I shall look at doing it this evening. > While I'm at it I think I'll patch in a linker version script so I can > hide the library internal symbols. I was thinking of doing this for > the next mosquitto release anyway, but I presume it'll cause problems > if a load of symbols listed in libmosquitto0.symbols disappear. Any > reason this is a bad idea? Absolutely not! I mean, it's a great idea :) If any public symbols disappear from a library, and if there is any chance that some other package or a not-insignificant number of users were actually using those symbols, you have to change the library's SONAME to reflect an ABI change. If the library exposes internal symbols in its public API, you should look into removing them. If the library uses libtool for its build, it's quite easy to do that - just pass in an --export-symbols-regex parameter that will somehow include all the symbols that you *want* in the public ABI. Unfortunately, this seems to not quite work with the binutils-gold linker; does anybody know if there's a timeframe on fixing that - or whether it is even considered worth fixing, or is --export-symbols-regex going away sometime in the future? G'luck, Peter -- Peter Pentchev firstname.lastname@example.org email@example.com roam@FreeBSD.org PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 I am jealous of the first word in this sentence.
Description: Digital signature