You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Joe Orton <jo...@redhat.com> on 2018/05/01 21:25:44 UTC

[PATCH] fix libsvn_auth_gnome_keyring.pc w/libsecret

libsvn_auth_gnome_keyring.pc is wrong in 1.10.0; when built against 
libsecret it still references the gnome-keyring library.

...
Requires:  apr-1 gnome-keyring-1
Requires.private:  libsvn_subr

The dep should also be private; fix attached OK?

[[[
Fixes libsvn_auth_gnome_keyring.pc when configured with libsecret, and
make dependencies private.

* configure.in, build/ac-macros/libsecret.m4:
  Set SVN_GNOME_KEYRING_PCLIBS to libsecret/gnome-keyring as appropriate.

* build.conf (gnome-keyring): 
  Substitute SVN_GNOME_KEYRING_PCLIBS as private deps of 
  libsvn_auth_gnome_keyring in generated pkg-config file.
]]]



Re: [PATCH] fix libsvn_auth_gnome_keyring.pc w/libsecret

Posted by Joe Orton <jo...@redhat.com>.
On Thu, May 03, 2018 at 08:32:56PM +0100, Philip Martin wrote:
> Your patch is an improvement so I would be happy to see it on
> trunk/1.10.  Going further and removing some .pc files is probably also
> suitable for 1.10.  Changing the DSO names and installation location is
> probably not suitable for 1.10.

OK, committed to trunk in r1830882.  Thanks for reviewing!

Regards, Joe

Re: [PATCH] fix libsvn_auth_gnome_keyring.pc w/libsecret

Posted by Philip Martin <ph...@codematters.co.uk>.
Joe Orton <jo...@redhat.com> writes:

> I thought about that, but the SVN buildsystem is building & installing 
> them like libraries not like DSOs (which should be linked with libtool's 
> -module argument and not installed directly in $libdir),

I suspect that is accidental.  The RA/FS option --enable-dso, which
became --enable-runtime-module-search, was added a long time ago and the
names of the libraries/modules do not change when switching between
shared library and DSO.  When the auth DSOs were added they just
followed the same naming scheme as the RA/FS DSOs.

> and there are 
> symbols exposed in the headers like svn_auth_gnome_keyring_version().  

I'm not sure why those functions are public, we should probably
deprecate them and make them private functions.  I don't think a 3rd
party can do anything useful with the public gnome/kwallet API.  Even a
3rd party implementing a custom auth provider would not use the
gnome/kwallet part of the svn_auth_ API.

> So it looks a bit weird if they are really not intended to be used as 
> libraries?

Your patch is an improvement so I would be happy to see it on
trunk/1.10.  Going further and removing some .pc files is probably also
suitable for 1.10.  Changing the DSO names and installation location is
probably not suitable for 1.10.

-- 
Philip

Re: [PATCH] fix libsvn_auth_gnome_keyring.pc w/libsecret

Posted by Joe Orton <jo...@redhat.com>.
On Wed, May 02, 2018 at 04:32:26PM +0100, Philip Martin wrote:
> Philip Martin <ph...@codematters.co.uk> writes:
> 
> >> Fixes libsvn_auth_gnome_keyring.pc when configured with libsecret, and
> >> make dependencies private.
> >
> > Looks OK to me.
> 
> Perhaps we should delete the .pc files for gnome/kwallet auth libraries.
> The corresponding libraries do not really have a public API and I think
> nodody will ever attempt to link against them.  In Subversion the
> libraries are loaded at runtime using APR's DSO functions so even we do
> not link against them.

I thought about that, but the SVN buildsystem is building & installing 
them like libraries not like DSOs (which should be linked with libtool's 
-module argument and not installed directly in $libdir), and there are 
symbols exposed in the headers like svn_auth_gnome_keyring_version().  
So it looks a bit weird if they are really not intended to be used as 
libraries?

Regards, Joe

Re: [PATCH] fix libsvn_auth_gnome_keyring.pc w/libsecret

Posted by Stefan Sperling <st...@apache.org>.
On Thu, May 03, 2018 at 09:11:33AM +0100, Philip Martin wrote:
> Philip Martin <ph...@codematters.co.uk> writes:
> 
> > Philip Martin <ph...@codematters.co.uk> writes:
> >
> >>> Fixes libsvn_auth_gnome_keyring.pc when configured with libsecret, and
> >>> make dependencies private.
> >>
> >> Looks OK to me.
> >
> > Perhaps we should delete the .pc files for gnome/kwallet auth libraries.
> > The corresponding libraries do not really have a public API and I think
> > nodody will ever attempt to link against them.  In Subversion the
> > libraries are loaded at runtime using APR's DSO functions so even we do
> > not link against them.
> 
> We should probably remove the .pc files for anything that doesn't have a
> public API, i.e. the RA backends, the FS backends and fs_util in
> addition to gnome/kwallet auth libraries.

+1

Re: [PATCH] fix libsvn_auth_gnome_keyring.pc w/libsecret

Posted by Philip Martin <ph...@codematters.co.uk>.
Philip Martin <ph...@codematters.co.uk> writes:

> Philip Martin <ph...@codematters.co.uk> writes:
>
>>> Fixes libsvn_auth_gnome_keyring.pc when configured with libsecret, and
>>> make dependencies private.
>>
>> Looks OK to me.
>
> Perhaps we should delete the .pc files for gnome/kwallet auth libraries.
> The corresponding libraries do not really have a public API and I think
> nodody will ever attempt to link against them.  In Subversion the
> libraries are loaded at runtime using APR's DSO functions so even we do
> not link against them.

We should probably remove the .pc files for anything that doesn't have a
public API, i.e. the RA backends, the FS backends and fs_util in
addition to gnome/kwallet auth libraries.

-- 
Philip

Re: [PATCH] fix libsvn_auth_gnome_keyring.pc w/libsecret

Posted by Philip Martin <ph...@codematters.co.uk>.
Philip Martin <ph...@codematters.co.uk> writes:

>> Fixes libsvn_auth_gnome_keyring.pc when configured with libsecret, and
>> make dependencies private.
>
> Looks OK to me.

Perhaps we should delete the .pc files for gnome/kwallet auth libraries.
The corresponding libraries do not really have a public API and I think
nodody will ever attempt to link against them.  In Subversion the
libraries are loaded at runtime using APR's DSO functions so even we do
not link against them.

-- 
Philip

Re: [PATCH] fix libsvn_auth_gnome_keyring.pc w/libsecret

Posted by Philip Martin <ph...@codematters.co.uk>.
Joe Orton <jo...@redhat.com> writes:

> libsvn_auth_gnome_keyring.pc is wrong in 1.10.0; when built against 
> libsecret it still references the gnome-keyring library.
>
> ...
> Requires:  apr-1 gnome-keyring-1
> Requires.private:  libsvn_subr
>
> The dep should also be private; fix attached OK?
>
> [[[
> Fixes libsvn_auth_gnome_keyring.pc when configured with libsecret, and
> make dependencies private.

Looks OK to me.

-- 
Philip