On OpenBSD, shared libraries (not "plugins", but those who get linked in) should have the following name scheme: libNAME.so.MAJOR.MINOR It's also permitted, but highly discouraged to have libNAME.so links pointing to the "versioned" file. There was done a lot of work on autotools to fix this. And now Samba4 is using WAF, which does not respect those requirements. Also, new build system does not allow for packager to control shared object's version. Yes, WAF tries to do it's best to control ABI... but it is a must to have such control anyway. On OpenBSD the convention is to use environment variables like LIBfoo_VERSION=MAJOR.MINOR to set SO version to 0.0 for library "foo", and therefore result in libfoo.so.0.0. Of course, I do not want to force Samba project doing that work, but I'm just asking, what could be tuned to change the scheme? I grepped different things in buildtools/ directory for a few hours but still did not get where does versioning happen. Thanks in advance.
Any news on this? Maybe I should contact someone specific? Or provide more information?
Created attachment 8894 [details] Patch to fix issue I constructed a patch that implements the behavior requested. It works fine here, on OpenBSD, and I tried to not break existing code paths.
Created attachment 8902 [details] Patch to fix issue via git format-patch
I let waf guru metze decide about this patch :-)