On 25.08.2015 23:12, Stefan Fuhrmann wrote:
> On Tue, Aug 25, 2015 at 4:43 PM, Branko Čibej <brane_at_wandisco.com> wrote:
>
>> On 25.08.2015 17:31, Stefan Fuhrmann wrote:
>>> On Tue, Aug 25, 2015 at 12:55 PM, Branko Čibej <brane_at_wandisco.com>
>> wrote:
>>>> On 25.08.2015 13:49, brane_at_apache.org wrote:
>>>>> Author: brane
>>>>> Date: Tue Aug 25 11:49:09 2015
>>>>> New Revision: 1697654
>>>>>
>>>>> URL: http://svn.apache.org/r1697654
>>>>> Log:
>>>>> * branches/1.9.x/STATUS:
>>>>> - Approve r1693886.
>>>>> - Temporarily veto r1694481; the change looks broken.
>>>> [...]
>>>>
>>>>> @@ -98,5 +84,22 @@ Candidate changes:
>>>>> Veto-blocked changes:
>>>>> =====================
>>>>>
>>>>> + * r1694481
>>>>> + Fix Unix build on systems without GPG agent.
>>>>> + Justification:
>>>>> + This is a user-reported issue.
>>>>> + Votes:
>>>>> + +1: stefan2, philip
>>>>> + -1: brane (You can't just remove a public API implementation,
>>>>> + even if it is deprecated. And the prototyps is still
>>>>> + right there in svn_auth.h)
>>>>> +
>>>>> Approved changes:
>>>>> =================
>>>> r1694481 (conditionally) removes the implementation of a public API,
>>>> whilst leaving the prototype in svn_auth.h untouched. This is a
>>>> violation of our ABI compatibility rules, and also a linking error
>>>> waiting to happen.
>>>>
>>> Except that the very problem is that
>>> svn_auth__get_gpg_agent_simple_provider
>>> is not implemented either if SVN_HAVE_GPG_AGENT
>>> is not defined. And that linker problem is the one being
>>> already reported and fixed by the patch.
>>>
>>> You are still right that we introduce another linker problem
>>> further down the road for some people that stumbled
>>> across the first one in the past. And not implementing
>>> the public API is a bad thing.
>>>
>>> So, I think we need to do some coding to fix this on /trunk.
>>> Question is whether we want to skip r1694481 as a stop-
>>> gap patch for 1.9.1 and enable people to build SVN again.
>>
>> Daniel suggested inserting a dummy handler if we don't have the GPG
>> agent support. I think that may be the only reasonable solution for both
>> trunk and 1.9.1 (or .x if we don't thing it's important enough for .1).
>>
>> The real effort here is double-checking that a dummy handler won't break
>> credentials resolution.
>>
> I think just starting with a full copying the GPG agent handler and
> making each call return "failed" should work. Didn't try it, though.
I'll give this a go and hopefully come up with a test case, too.
-- Brane
Received on 2015-08-26 07:27:01 CEST