gvfs and (lib)smbclient (resend)
rosslagerwall at gmail.com
Fri Aug 8 16:01:34 MDT 2014
On Fri, Aug 08, 2014 at 01:21:17PM -0700, Jeremy Allison wrote:
> On Sat, Aug 09, 2014 at 07:34:17AM +1200, Andrew Bartlett wrote:
> > Echoing a similar discussion between us and sssd, I wonder where in the
> > possible boundaries is the most stable API and ABI?
> > That is, I'm wondering is the backend API in gvfs a stable, public ABI
> > that we could provide a plugin for?
> > I'm just brainstorming, but if
> > https://git.gnome.org/browse/gvfs/tree/daemon/gvfsbackendsmb.c were part
> > of Samba, and we had some way to ensure we didn't break it, we might be
> > able to find a different way out of this conundrum.
> That's a really interesting good idea ! Ross, is it possible
> for backends for gnome to be maintained by a different project ?
> In that case we could certainly make the cli_XXXX interface
> usable and keep it working, as that's what we do for internal
> use in smbclient.
Like the cli_XXXX interface, the gvfs backend API is not necessarily
stable or exported for external consumers. However, I don't think it
has changed much of late so maybe it's time to export the interface for
this purpose. At least it sounds easier to stabilize than the cli_XXXX
interface. Perhaps we can export the interface with no stability
guarantees for a while and see how it goes. Ultimately all that needs
to be built is a single executable, gvfsd-smb, to be placed in
/usr/lib/gvfs (or /usr/libexec) on some systems.
Being a desktop product, the release cycle of gvfs is more frequent than
Samba, and much less emphasis is put on maintenance of older releases.
Do distros tend to stick with known stable (and older) releases of Samba
or do they usually pick the latest release? Because in this case there
might be a situation where the distro uses a version of Samba a few
years behind the GNOME version. I need to think a bit about the
consequences of this.
Generally, I think this is a good solution if reworking libsmbclient (or
creating a new one) is too difficult. I shall see how difficult it is
to compile backends out-of-tree and proceed from there.
More information about the samba-technical