You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by "William A. Rowe, Jr." <wr...@rowe-clan.net> on 2004/07/16 20:02:13 UTC
Re: [PATCH] Stop installing apr-config, and give clients an
APR_FIND_APR that works with apr-1-config.
At 12:25 PM 7/16/2004, Max Bowsher wrote:
>Justin Erenkrantz wrote:
>> --On Friday, July 16, 2004 5:02 PM +0100 Max Bowsher <ma...@ukf.net> wrote:
>>
>>> And since svn, apache, etc. would need to manually import the new
>>> find_apr.m4 or rewrite their build system to use aclocal to get the new
>>> macro, it's not worth making this a default, when doing so sacrifices the
>>> guarantee that careless upgraders will be forced to notice this change.
>>
>> Considering aclocal is part of automake, there's zero chance of httpd or
>> Subversion ever using aclocal.
>>
>> The point isn't about the system install path, it's about people dropping
>in a
>> new find_ap{ru}.m4 to projects that already have it without doing any
>> modifications. That is: what is the closest behavior to what we had
>> previously - to me that's clearly a default of '[1 0]'.
>
>I agree that [1 0] is closest, but I don't think what we have now is right!
>
>Once 1.0 is released, projects will have a real series of official tarballs
>on which they can base themselves. Unless they explicitly take action to
>repeatedly test compatiblility with 0.9, it's quite possible they will break
>compatibility with 0.9 without knowing it.
>
>If this happens, the compile will fail with some kind of undefined symbol
>error. It's much clearer and easier to debug (and more likely for people to
>post useful info to mailing lists when asking questions) if the configure
>stops when trying to find an APR.
>
>Therefore, I don't believe the macro distributed with apr-1 should find
>apr-0 unless it is explicitly asked to do so.
WAIT!!! you got it upside down :)
Folks already invoke APR_FIND_APR. They may have merged it into
aclocal - as autoconf suggests they do.
Only 0.9.x has been released. Ergo, only 0.9 is expected, today, when
an application invokes APR_FIND_APR.
Tomorrow (next week, what have you) an APR 1.0 will exist. It isn't
compatible. New app developers will learn only APR 1.0, but they can
add a little effort to APR_FIND_APR(,,,1) for their application.
A few users, then, will check the version and support both 0, 1, but they
will be the absolute exception - not a rule. In fact, the only sensible
reason I can think of not to just adopt 1.0, is that you are an apache
or svn module author who must remain compatible with older builds.
If the default remains apr-0, then nothing is broken, because nothing
has been released on top of apr-1 yet. But if the default changes, then
older apps supporting only apr-0 may be broken.
Bill
Re: [PATCH] Stop installing apr-config, and give clients an APR_FIND_APR that works with apr-1-config.
Posted by Max Bowsher <ma...@ukf.net>.
William A. Rowe, Jr. wrote:
> At 12:25 PM 7/16/2004, Max Bowsher wrote:
>> Justin Erenkrantz wrote:
>>> --On Friday, July 16, 2004 5:02 PM +0100 Max Bowsher <ma...@ukf.net>
wrote:
>>>
>>>> And since svn, apache, etc. would need to manually import the new
>>>> find_apr.m4 or rewrite their build system to use aclocal to get the new
>>>> macro, it's not worth making this a default, when doing so sacrifices
the
>>>> guarantee that careless upgraders will be forced to notice this change.
>>>
>>> Considering aclocal is part of automake, there's zero chance of httpd or
>>> Subversion ever using aclocal.
>>>
>>> The point isn't about the system install path, it's about people
dropping
>>> in a new find_ap{ru}.m4 to projects that already have it without doing
any
>>> modifications. That is: what is the closest behavior to what we had
>>> previously - to me that's clearly a default of '[1 0]'.
>>
>> I agree that [1 0] is closest, but I don't think what we have now is
right!
>>
>> Once 1.0 is released, projects will have a real series of official
tarballs
>> on which they can base themselves. Unless they explicitly take action to
>> repeatedly test compatiblility with 0.9, it's quite possible they will
break
>> compatibility with 0.9 without knowing it.
>>
>> If this happens, the compile will fail with some kind of undefined symbol
>> error. It's much clearer and easier to debug (and more likely for people
to
>> post useful info to mailing lists when asking questions) if the configure
>> stops when trying to find an APR.
>>
>> Therefore, I don't believe the macro distributed with apr-1 should find
>> apr-0 unless it is explicitly asked to do so.
>
> WAIT!!! you got it upside down :)
>
> Folks already invoke APR_FIND_APR. They may have merged it into
> aclocal - as autoconf suggests they do.
>
> Only 0.9.x has been released. Ergo, only 0.9 is expected, today, when
> an application invokes APR_FIND_APR.
>
> Tomorrow (next week, what have you) an APR 1.0 will exist. It isn't
> compatible. New app developers will learn only APR 1.0, but they can
> add a little effort to APR_FIND_APR(,,,1) for their application.
>
> A few users, then, will check the version and support both 0, 1, but they
> will be the absolute exception - not a rule. In fact, the only sensible
> reason I can think of not to just adopt 1.0, is that you are an apache
> or svn module author who must remain compatible with older builds.
>
> If the default remains apr-0, then nothing is broken, because nothing
> has been released on top of apr-1 yet. But if the default changes, then
> older apps supporting only apr-0 may be broken.
The fact that we are having a huge discussion about the default seems to
support my view that we shouldn't have a default - acceptable-majors should
be a mandatory argument, as it is in my patch.
Max.