I see that starting with 2.4.42 the openldap ebuild has a dependency on an external lmdb ebuild rather that using the bundled lmdb shipped with openldap. However, all of the ebuilds, up to and including the one for 2.4.44 have a dependency for >=dev-db/lmdb-0.9.14. lmdb 0.9.14 was released on 9/19/2014. The bundled version of lmdb shipped with openldap 2.4.44 is 0.9.18 released on 2/5/2016. Trying to use openldap 2.4.44 in production with the lmdb backend with that ancient version of lmdb would be an insanely horrific train wreck. lmdb is actually developed and tested as part of openldap in the openldap source tree, the copy on github is extracted for the convenience of other projects that want to use it. Any given version of openldap is specifically tested and vetted with the bundled version of lmdb that comes with it. I believe that is always a released version, not some random code, so it is possible to use the external repo like you have switched to, but if you want the gentoo ebuild to be suitable for use to deploy a production openldap server then you will need to stabilize lmdb versions and openldap versions in lockstep and update the lmdb version requirements in openldap ebuilds to match the version it came bundled with. Otherwise Gentoo is going to join Redhat on the openldap mailing list as an operating system where the first piece of advice for anyone running into a problem is "Ditch the distribution package and compile it yourself" :(. Thanks...
I see openldap 2.4.43 is now stable, which has the external lmdb dependency, and still depends on >=dev-db/lmdb-0.9.14. openldap 2.4.43 is bundled with lmdb 0.9.17, running it with any other version, particularly any older version, will not be supported by upstream. They might be ok running it with a newer version, but they definitely will not support an openldap server deployed with an obsolete version of lmdb. I see that version 0.9.18 is currently available in portage, so somebody installing fresh should be ok, but without the dependency properly defined in the ebuild someone could end up with a bad combination if they already had an older version installed. If you want Gentoo to be a well supported platform for running openldap as a server, I reiterate my request that you please have each openldap ebuild version require >= the version of lmdb that it was bundled with. For 2.4.43, that would be lmdb 0.9.17. For 2.4.44, that is 0.9.18. Thanks...
deps bumped.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c035192e22ba5714ccc15672f335e9b97aaeb568 commit c035192e22ba5714ccc15672f335e9b97aaeb568 Author: Sam James <sam@gentoo.org> AuthorDate: 2023-02-10 01:02:06 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-02-10 01:05:03 +0000 net-nds/openldap: fix lmdb version, add version check We must use at least the version of lmdb bundled with OpenLDAP. Bug: https://bugs.gentoo.org/588792 Signed-off-by: Sam James <sam@gentoo.org> .../{openldap-2.6.4.ebuild => openldap-2.6.4-r1.ebuild} | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-)
Your point is an important one and the ebuild now has a sanity check to make sure it's always satisfying this condition.