On Fri 2020-01-10 17:01:46 -0500, Daniel Kahn Gillmor wrote:
> using diffoscope to compare these objects with the one i built back in
> December shows that the December object has a .gnu_debugaltlink section,
> but these new objects do not. (so there appears to be a bit more
> leftover debugging info in the december objects)
Sorry, i got this precisely backward.
The difference is that the newer shared objects *have* a
.gnu_debugaltlink section, but the one built in december does not.
I took one more step at debugging the newly-built modules to try to
understand why the non-stripped versions might differ, and noticed that
the debugging info in each module itself is different. in particular,
in the 3.7 module, the debugging info contains different paths:
-./bindings/python-cffi/build/temp.linux-amd64-3.7/notmuch2._capi.c:1272
+./bindings/python-cffi/build/temp.linux-amd64-3.8/notmuch2._capi.c:1272
(notmuch2._capi.c is a generated C file here, iiuc)
so maybe the build-id is being generated based on the contents of the
debug info, in addition to the contents of the stripped-down data?
If that's the case, then what's surprising to me is that i *didn't* see
this happening when i built it in december. Very confusing, and i'd
appreciate another set of eyeballs on it.
all that debugging said and done, i don't think that this weirdness
should block us from including the package in debian.
If anything, getting it into the debian build infrastructure will expose
this weirdness to other people more directly, and might help to iron out
some more fundamental issue with either cffi itself, dh-python3's
deduplication strategies for shared objects, and/or debian's policies
about stripped data and binaries.
Shipping the extra .so in a python3-notmuch2 package doesn't appear to
be a problem for notmuch itself, because the difference between the
.so's shouldn't be relevant for any functional concerns.
If we do merge this and get it into debian, then i'll be able to open a
more specific bug report with the aforementioned packages.
--dkg