Comment 12 for bug 1978849

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Given that the soname in bind9-libs is an exact copy of the package version, including the ubuntu suffix, it will change with even a no-change rebuild:

$ objdump -x usr/lib/x86_64-linux-gnu/libbind9-9.18.12-0ubuntu0.22.04.3~local1-Ubuntu.so | grep SONAME
  SONAME libbind9-9.18.12-0ubuntu0.22.04.3~local1-Ubuntu.so

Note the "~local1" I added for a local rebuild.

That means that even if I force an install of bind9-dyndb-ldap to ignore the Depends line, as if I had relaxed the Depends version, it will still search for the exact bind9 soname it was built with and fail:

$ ldd /usr/lib/bind/ldap.so|grep "not found"
 libdns-9.18.12-0ubuntu0.22.04.1-Ubuntu.so => not found
 libisc-9.18.12-0ubuntu0.22.04.1-Ubuntu.so => not found

Therefore, the "fix" for this bug for now is to rebuild bind-dyndb-ldap everytime bind9 is updated :/ The added DEP8 test will block migration until that is done.

There were some discussions in debian, where this situation is also happening, in bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1014503 and others. One option was to move[2] src:bind-dyndb-ldap into src:bind9 itself, so they get built together, but there are licenses incompatibilities. Timo asked[1] src:bind-dyndb-ldap upstream if they could change the license.

1. https://pagure.io/bind-dyndb-ldap/issue/225
2. https://salsa.debian.org/dns-team/bind9/-/merge_requests/21#note_389188