[Spice-devel] [spice-gtk 1/2] build-sys: require spice-protocol 0.12.4

Frediano Ziglio fziglio at redhat.com
Thu May 31 09:24:14 UTC 2018


> 
> Hi,
> 
> On Thu, May 31, 2018 at 04:36:57AM -0400, Frediano Ziglio wrote:
> > > 
> > > From: Victor Toso <me at victortoso.com>
> > > 
> > > This is mostly needed form client side optimizations on streaming
> > > mode. The following change introduced dependency of latest
> > > spice-protocol:
> > > 
> > >  | commit 424397546463698c2912b15449ef5e94f2c39c12
> > >  | Author: Snir Sheriber <ssheribe at redhat.com>
> > >  | Date:   Thu Mar 8 15:57:31 2018 +0200
> > >  |
> > >  | Gstreamer: Use GstVideoOverlay if possible
> > > 
> > > The spice-protocol commit for reference:
> > > 
> > >  | commit 4250216bafd37905afe0e9ad8cb9beb4a0c89254
> > >  | Author: Frediano Ziglio <fziglio at redhat.com>
> > >  | Date:   Tue Nov 7 10:45:20 2017 +0000
> > >  |
> > >  | Allow to specify a surface will be streamed
> > >  |
> > >  | This flag will allow the client to perform some optimisations
> > >  | on output and buffering processing.
> > >  | Old clients will ignore this additional flag.
> > > 
> > > Note that without bumping the requirement, the code would fail to
> > > build with:
> > > 
> > >  | channel-display.c:1809:50: error: ‘SPICE_SURFACE_FLAGS_STREAMING_MODE’
> > >  | undeclared (first use in this function); did you mean
> > >  | ‘SPICE_DISPLAY_STREAMING_MODE’?
> > >  |      surface->streaming_mode = !!(create->flags &
> > >  |      SPICE_SURFACE_FLAGS_STREAMING_MODE);
> > >  |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > 
> > > Signed-off-by: Victor Toso <victortoso at redhat.com>
> > > ---
> > >  configure.ac | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/configure.ac b/configure.ac
> > > index a9a7eb9..768e180 100644
> > > --- a/configure.ac
> > > +++ b/configure.ac
> > > @@ -86,7 +86,7 @@ AC_CHECK_LIBM
> > >  AC_SUBST(LIBM)
> > >  
> > >  AC_CONFIG_SUBDIRS([spice-common])
> > > -PKG_CHECK_MODULES([SPICE_PROTOCOL], [spice-protocol >= 0.12.13])
> > > +PKG_CHECK_MODULES([SPICE_PROTOCOL], [spice-protocol >= 0.12.14])
> > >  
> > >  COMMON_CFLAGS='-I${top_builddir}/spice-common/
> > >  -I${top_srcdir}/spice-common/
> > >  ${SPICE_PROTOCOL_CFLAGS}'
> > >  AC_SUBST(COMMON_CFLAGS)
> > 
> > The only problem is that officially there's no 0.12.14 version.
> 
> WIP... but we still depend on it on the unreleased version of
> spice-gtk ;)
> 
> https://koji.fedoraproject.org/koji/taskinfo?taskID=27319331
> 

Yes, you are right, the patches are "prepare for", not "release" and
code won't compile so does not make sense to wait.

Acked-by: Frediano Ziglio <fziglio at redhat.com>

OT: checked code, no ABI incompatibility.

very OT: about API compatibility, won't be good to provide, beside old
ABI for compatibility also API like:

G_DEPRECATED_FOR(spice_display_channel_get_primary)
static inline gboolean
spice_display_get_primary(SpiceChannel *channel, guint32 surface_id,
                          SpiceDisplayPrimary *primary)
{
    return spice_display_channel_get_primary(channel, surface_id, primary);
}

?
That way recompiling will produce warning but also will use the new ABIs
without requiring code changes.

Frediano


More information about the Spice-devel mailing list