Re: Fwd: civetweb_1.15+dfsg-5_source.changes REJECTED
Dear Andreas,
For whatever reason the pristine-tar information does not match the
upstream source tarball. My way to solve it is to re-import the
tarball I get via
apt source civetweb
Thanks, that worked! But indeed, it is not relevant anymore since your
update to civetweb 1.16 :-)
I admit I'm a bit scared about the need to update the symbols file again.
For my not very well educated eyes we do not need to bump SOVERSION -
but I'd like to have some review here.
From my understanding, the issue here is that we have 2 shared
libraries: "libcivetweb-cpp.so" (from C++) and "libcivetweb.so" (from C).
But, according to the following page, "For C++ libraries it is often
better not to ship symbols files":
https://wiki.debian.org/UsingSymbolsFiles#C.2B-.2B-_libraries
This stems from the fact that the names of the binary C++ symbols will
for instance change by just upgrading g++. This contrasts with the C
shared library, for which the ABI is standardized.
As far as I'm concerned, I would consequently tend to consider that
"libcivetweb1.symbols.amd64" should only contain the symbols of
"libcivetweb.so" (i.e. not those of "libcivetweb-cpp.so").
Furthermore, from my understanding, the suffix of the symbols from
"libcivetweb.so" should only contain "1", not "1.15" or "1.16", because
of the stability of the C ABI, and because it is OK to add new symbols,
while removing symbols should be prohibited. This explains my following
changeset, where "1.15" was replaced by "1" for all the functions
beginning with "mg_":
https://salsa.debian.org/med-team/civetweb/-/commit/4be6bc58d7c7f5477b34b9ad4bffdad7ad0cac3c
Unfortunately, I was unable to find an option to "dpkg-gensymbols" to
generate one single symbols file describing two shared libraries, but
with different versions.
So in case you see some issues that take longer to resolve (bumping
SOVERSION means new processing) it might be more sensible to revert the
upstream version to what we had and fix the bug first.
As explained above, I don't think that SOVERSION should be bumped in a C
library, at least as long as symbols are not removed, and as long as the
upstream doesn't warn about a breaking change in the meaning of the
functions (which is not the case of civetweb).
But I might also be fully wrong with what I explained above...
Regards,
Sébastien-
Reply to: