[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Fwd: Re: DB_LOG_AUTOREMOVE: how does it work?



Hallvard B Furuseth wrote:

Howard Chu writes:


Quanah Gibson-Mount wrote:


<Kurt@OpenLDAP.org> wrote:



Maybe we can commit the back-bdb patch behind an ifdef,
and place the BerkeleyBDB patch in build/berkeleydb42.patch?


Hm... does having the 3rd patch in place generate a different version
string for BDB? If someone builds OpenLDAP with the OL piece of the
patch, but not the BDB piece of the patch, it simply won't work. We'd
definitely need a way to test for BDB being a patched version.


Currently it doesn't, but I guess we can patch the version macros as
well. Yes, we definitely need a way to detect the patch, and probably a
runtime check to abort the startup if the wrong library somehow gets
attached...



If the bdb patch defines a variable and openldap accesses it, patched
openldap + unpatched bdb should fail at link time.


Ah yes, the same trick we used to distinguish Cyrus 1.5 from 2.x, good idea.

I don't remember if the bdb patch is harmless to a caller which does not
know about the patch - if so, openldap could set the bdb variable and
bdb could invoke the new behaviour only if the variable is true.

Yes, the BDB patch is harmless, it has to be explicitly invoked by the caller. Maybe I can work out a better patch for BDB that works transparently, so back-bdb doesn't need to be patched. (That would be ideal, since the back-bdb patch is not needed and won't work with BDB 4.3.)

--
 -- Howard Chu
 Chief Architect, Symas Corp.       Director, Highland Sun
 http://www.symas.com               http://highlandsun.com/hyc
 Symas: Premier OpenSource Development and Support