#1 & #2 -> OK!
#4 & #5 -> Those are only recommended TODOs and won't block the MIR, thanks for pestering the DM about it, though. Those will most probably come back to us eventually, but it's fine for now!
#3: Thanks, I wasn't aware of pkgkde-symbolshelper!
So at least they are using some advanced tools to track their (C++) symbols.
The problem I see with this is that during testing it does not detect an API/ABI breakage, that I introduced on purpose. E.g. if I rename the "lerc_encodeForVersion" API to "lerc_encodeForVersionX", dpkg-buildpackage still passes the build, displaying a warning at least:
dh_makeshlibs -- -v3.0 -c0
dpkg-gensymbols: warning: some new symbols appeared in the symbols file: see diff output below
dpkg-gensymbols: warning: debian/liblerc3/DEBIAN/symbols doesn't match completely debian/liblerc3.symbols
--- debian/liblerc3.symbols (liblerc3_3.0_amd64)
+++ dpkg-gensymbolsaQREWf 2022-06-21 15:22:43.440908065 +0000
@@ -382,4 +382,5 @@
lerc_decodeToDouble@Base 3.0
lerc_encode@Base 3.0
lerc_encodeForVersion@Base 3.0
+ lerc_encodeForVersionX@Base 3.0
lerc_getBlobInfo@Base 3.0
But "lerc_encodeForVersion" is still there as a symbol, even though I removed/renamed it from the public header and implementation and the build doesn't fail (which is what I would expect in such case)... So I wonder if those tools are being used correctly.
Re-reading the MIR rules, we only ask for "symbols tracking is in place", not that it needs to fail the build... so this could be a tentative MIR team ACK.
But let me check back with the other MIR team members (while waiting for security-review anyway), just to be sure that this is what was intended here.
#1 & #2 -> OK!
#4 & #5 -> Those are only recommended TODOs and won't block the MIR, thanks for pestering the DM about it, though. Those will most probably come back to us eventually, but it's fine for now!
#3: Thanks, I wasn't aware of pkgkde- symbolshelper! Version" API to "lerc_encodeFor VersionX" , dpkg-buildpackage still passes the build, displaying a warning at least: liblerc3/ DEBIAN/ symbols doesn't match completely debian/ liblerc3. symbols liblerc3. symbols (liblerc3_ 3.0_amd64) aQREWf 2022-06-21 15:22:43.440908065 +0000 decodeToDouble@ Base 3.0 encodeForVersio n@Base 3.0 ersionX@ Base 3.0 getBlobInfo@ Base 3.0
So at least they are using some advanced tools to track their (C++) symbols.
The problem I see with this is that during testing it does not detect an API/ABI breakage, that I introduced on purpose. E.g. if I rename the "lerc_encodeFor
dh_makeshlibs -- -v3.0 -c0
dpkg-gensymbols: warning: some new symbols appeared in the symbols file: see diff output below
dpkg-gensymbols: warning: debian/
--- debian/
+++ dpkg-gensymbols
@@ -382,4 +382,5 @@
lerc_
lerc_encode@Base 3.0
lerc_
+ lerc_encodeForV
lerc_
But "lerc_encodeFor Version" is still there as a symbol, even though I removed/renamed it from the public header and implementation and the build doesn't fail (which is what I would expect in such case)... So I wonder if those tools are being used correctly.
Re-reading the MIR rules, we only ask for "symbols tracking is in place", not that it needs to fail the build... so this could be a tentative MIR team ACK.
But let me check back with the other MIR team members (while waiting for security-review anyway), just to be sure that this is what was intended here.
PS: C++ libraries seem to be a special case anyway, here's an interesting read: /wiki.debian. org/UsingSymbol sFiles# C.2B-.2B- _libraries
https:/