Michael, are you sure about that?
It is not that simple.
Yes, there were an incompatible change in libndr.so which resulted in changing
its soname, and this is bullseye->bookworm issue indeed. I know about this
issue. But this does not mean sssd needs to be recompiled on every samba
upload (or even 4.16=>4.17 update), sssd should work just fine being compiled
with older samba libs while more recent samba-libs are installed.
Or so it looks like, to me, anyway.
There was another issue here, when modifying samba to build libldb out of
samba sources, there was a bug resulted with older sssd to become non-functional
(this was together with the soname of libndr change too, but unrelated): the
plugin directory has changed. But later on I found a way how to search both
old and new plugins directories, so that issue has been resolved, tho I still
have (iirc) Breaks for older sssd.
But over than this soname change and a bug in directory rename, there should
be no reason why sssd needs to be recompiled every time samba changes, and
why samba-libs dependency should be =version, not >=version.
Samba does have more or less stable public libraries (in /usr/lib/, or actually
/usr/lib/$triple/ but let's use the former for brevity). If another package
uses one of these (like libndr, lisamba-util, libsmbldap, etc), it will have
>= $version dependency. And there are quite some internal libraries,
in /usr/lib/samba/, which, once used, gets =$version dependency, because for
these, there's just no ABI whatsoever, and stuff can change significantly.
I yet to figure out how to solve the soname change issues like we have.
I can add Breaks against existing previous sssd releases for that, I guess,
but it wont be fair, since a recompile of old sssd would fix it but the
Breaks will prevent it from being used.
/mjt