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

Re: RFS: mosquitto

On Tue, Nov 30, 2010 at 04:01:45PM +0000, Roger Light wrote:
> On Tue, Nov 30, 2010 at 1:07 PM, Peter Pentchev <roam@ringlet.net> 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?


Peter Pentchev	roam@space.bg    roam@ringlet.net    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.

Attachment: signature.asc
Description: Digital signature

Reply to: