On Sat, May 05, 2018 at 12:45:08AM +0200, Svante Signell wrote: > But why log symbols at all? It > seems to be very much not needed. If so tell me why it is! Mainly I see two reasons: 1. being able to use properly versioned dependencies on the library 2. have a safety net against what are imho the most common ABI breaks 1: without symbols file you should take care of properly bumping the shlibs version whenever you introduce a new symbols: in that case either you don't know you are adding a new symbol, and so you won't bump the shlibs version and you are going end up with a broken dependency (just most of the times you are not going to notice it because just out of luck you get a new enough version of the shared lib together of the binary requiring the new symbol), or you use -V and force an overly strict versioned dependency. Please read: - dpkg-gensymbols(1) - dpkg-shlibdeps(1) - deb-shlibs(5) - deb-symbols(5) - dh_makeshlibs(1) 2: you'll notice ABI breaks whenever an under-diligent upstream drops a public method —so dropping also the symbol— without changing SONAME I personally find the second one particularly interesting: the amount of upstreams who develop a library with the goal of providing a shared library but nonetheless won't pose much interest and attention in proper ABI (in particular symbols) handling is astonishing. ABI breaks are awful to handle after they land in unstable, catching one before can save the maintainer, release team and all the rdeps *a lot* of otherwise wasted time and headaches. -- regards, Mattia Rizzolo GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`. more about me: https://mapreri.org : :' : Launchpad user: https://launchpad.net/~mapreri `. `'` Debian QA page: https://qa.debian.org/developer.php?login=mattia `-
Attachment:
signature.asc
Description: PGP signature