You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Greg Stein <gs...@lyra.org> on 2002/08/14 03:01:04 UTC

the versioning code (was: cvs commit: apr-site versioning.html)

On Tue, Aug 13, 2002 at 02:12:36PM -0700, Justin Erenkrantz wrote:
> On Tue, Aug 13, 2002 at 03:25:49PM -0400, Ryan Bloom wrote:
> > Dude, settled how?????  We have run-time versioning, Greg committed it a
> > long time ago, and it is being used by APR and Subversion.
> 
> Nope.  There isn't a way to enforce it.

No... APR should not enforce it. If the app cares, then it can check. If you
think that we need a utility function because a check is too difficult, then
we can add one.

> apr_initialize needs to
> take in the expected MAJOR/MINOR number and return an error if we
> don't satisfy it.  (Of course, the app could ignore the error, but
> that isn't our problem.)

That won't work. You can't just "ignore the error" because to do that you
have to *know* whether APR completed its initialization or whether it bugged
out immediately with the version mismatch error.

I initially thought this would be a good thing for apr_initialize, but have
since moved to thinking that APR should not be in the business. If the app
wants something, then it can test. If the app is smart and can deal with
multiple versions, then fine.

We will have link-level enforcement of major versions, so an app is not
going to suddenly run against the wrong library semantics.

> What we have now doesn't work

Bull. How doesn't it work?

> and APR and SVN don't use what is in
> misc/unix/version.c (i.e. apr_version).  -- justin

APR uses it. If httpd and SVN don't call the functions or do whatever, then
that is their problem. I can state that SVN doesn't do anything with it
simply because we haven't "turned on" our versioning methodology.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/