[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian: apu-config and BDB



On Fri, Nov 23, 2012 at 6:35 AM, Stefan Fritsch <sf@sfritsch.de> wrote:
> You are confusing two things here. Apr-util dbm is an abstraction for
> key-value-type database libraries of which BDB is one possible
> provider.
>
> Apr-util dbd (note the different order of the letters than bdb) is an
> abstraction for sql database engines (e.g. mysql, postgresql, ...).

You're right my mistake.

> Apr-util provides a full abstraction for the dbm backends. There is no
> need and no way for a consumer of the apr-util dbm API to directly
> call functions of the backend library and make them interact with apr-
> util's dbm functions. Therefore, on Linux it is unnecessary for any
> consumer of the apr-util dbm API to directly link to the dbm libraries
> (except for linking statically). It is enough that apr-util links to
> the dbm libraries (like DBD). Therefore it is generally a good idea on
> Linux to not output the dbm libraries by default. So, it's more a
> platform specific thing than something related to a specific project.

Alright I see your point.  I still think it would have been better to
modify individual packages to pass --avoid-dbm.

> Subversion is (or was?) using apr-util's detection code of BDB without
> using apr-util's dbm API. This is an abuse of apu-config. There is no
> reason at all why subversion would need to use the same version of BDB
> as apr-util does. In fact, this interdependency had caused problems in
> Debian in the past.

It's an abuse of apu-config that's true.

My understanding (as well as other SVN devs understanding) was that we
did this because we were concerned about potentially getting a
different version of BDB by way of APR-UTIL than what we were linked
against when we're run inside httpd.  Our error messages seem to imply
this...

However, digging back in the history it does not seem that this was
done this way for that reason at all:
http://subversion.tigris.org/issues/show_bug.cgi?id=957

I'm not finding any history of a problem coming up from this httpd
mismatch.  However, that doesn't mean it didn't happen or can't
happen.  So I'm somewhat disinclined to unwind this without doing a
lot of work to prove that it can't cause a problem.

Given that most people use fsfs instead of the bdb based file system
I'm left with a whole lot less anecdotal evidence of what the reality
here is.

> We will make changes to make packages work together flawlessly. I
> don't think this particular change is a very intrusive one. But if the
> current subversion still has a problem with it, it may be a good idea
> to make it pass --dbm-libs by default.

That's what I've done (though it's a tad more complicated because
older versions of apu-config don't support --dbm-libs).


Reply to: