Hello community, here is the log from the commit of package spice-protocol for openSUSE:Factory checked in at 2019-05-22 10:51:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/spice-protocol (Old) and /work/SRC/openSUSE:Factory/.spice-protocol.new.5148 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spice-protocol" Wed May 22 10:51:38 2019 rev:25 rq:703828 version:0.14.0 Changes: -------- --- /work/SRC/openSUSE:Factory/spice-protocol/spice-protocol.changes 2019-03-01 20:30:05.954001539 +0100 +++ /work/SRC/openSUSE:Factory/.spice-protocol.new.5148/spice-protocol.changes 2019-05-22 10:51:39.727316375 +0200 @@ -1,0 +2,10 @@ +Tue Apr 16 20:21:17 UTC 2019 - Bruce Rogers <[email protected]> + +- Update to version 0.14.0: + + Add: VDAgentGraphicsDeviceInfo and StreamMsgGraphicsDeviceInfo + messages, and SpiceStat structure padding + + Remove: SpicePubkeyType, SpiceTunnelServiceType, + SpiceTunnelIpType, SPICE_MSG_TUNNEL_* and SPICE_MSGC_TUNNEL_* +- Add keyring and tarball signature files + +------------------------------------------------------------------- Old: ---- spice-protocol-0.12.15.tar.bz2 New: ---- spice-protocol-0.14.0.tar.bz2 spice-protocol-0.14.0.tar.bz2.sig spice-protocol.keyring ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ spice-protocol.spec ++++++ --- /var/tmp/diff_new_pack.SIe78m/_old 2019-05-22 10:51:42.167314978 +0200 +++ /var/tmp/diff_new_pack.SIe78m/_new 2019-05-22 10:51:42.191314964 +0200 @@ -17,13 +17,15 @@ Name: spice-protocol -Version: 0.12.15 +Version: 0.14.0 Release: 0 Summary: SPICE-protocol definitions License: BSD-3-Clause Group: Development/Languages/C and C++ URL: https://www.spice-space.org/ Source: https://www.spice-space.org/download/releases/%{name}-%{version}.tar.bz2 +Source1: https://www.spice-space.org/download/releases/%{name}-%{version}.tar.bz2.sig +Source2: %{name}.keyring BuildRequires: meson >= 0.41.0 BuildRequires: pkgconfig Requires: python-pyparsing @@ -52,7 +54,7 @@ %files devel %license COPYING -%doc NEWS +%doc CHANGELOG.md README.md %{_datadir}/pkgconfig/spice-protocol.pc %{_includedir}/spice-1/ ++++++ spice-protocol-0.12.15.tar.bz2 -> spice-protocol-0.14.0.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spice-protocol-0.12.15/CHANGELOG.md new/spice-protocol-0.14.0/CHANGELOG.md --- old/spice-protocol-0.12.15/CHANGELOG.md 1970-01-01 01:00:00.000000000 +0100 +++ new/spice-protocol-0.14.0/CHANGELOG.md 2019-04-12 15:54:46.000000000 +0200 @@ -0,0 +1,206 @@ +Major changes in 0.14.0 +======================= +* Bumping minor to show that some types and values were removed +* Regenerate enums.h (from spice.proto) which removes: + * SpicePubkeyType; + * SpiceTunnelServiceType; + * SpiceTunnelIpType; + * SPICE_MSG_TUNNEL_* and SPICE_MSGC_TUNNEL_* +* Add VDAgentGraphicsDeviceInfo message +* Add StreamMsgGraphicsDeviceInfo message +* Add padding to SpiceStat structure + +Major changes in 0.12.15 +======================== +* Add support for h265 video codec +* qxl_dev: Align QXLRam to 4 bytes +* meson: fix spice-protocol as subproject + +Major changes in 0.12.14 +======================== +* add stream-device protocol +* add SPICE_SURFACE_FLAGS_STREAMING_MODE flag +* add e2k (Elbrus 2000) architecture +* add SPICE_MAX_NUM_STREAMS +* add meson support +* add bult-ins byte swapping for Visual C++ +* switch to built-ins byte swapping in GCC + +Major changes in 0.12.13 +======================== +* add DISPLAY_PREFERRED_VIDEO_CODEC_TYPE +* add VP9 codec type +* add VD_AGENT_CLEAR_CAPABILITY() macro +* add VD_AGENT_CAP_FILE_XFER_DISABLED +* add VD_AGENT_FILE_XFER_STATUS_NOT_ENOUGH_SPACE +* add new file-xfer statuses for detailed error +* Change enums.h license to MIT + +Major changes in 0.12.12 +======================== +* protocol: Add lz4 compression support to the SpiceVMC channel + +Major changes in 0.12.11 +======================== +* protocol: add support for the VP8 and h264 video codecs +* protocol: add unix GL scanout messages +* remove code generation scripts, moved back to spice-common +* macros improvements, more type safety + +Major changes in 0.12.10 +======================== +* Add VD_AGENT_CAP_MONITORS_CONFIG_POSITION to handle multi-monitor + configurations that are not multi-head +* Add protocol code generation scripts from spice-common +* Endianness and compiler portability fixes (clang) + +Major changes in 0.12.9 +======================= +* rename newly introduced SpiceImageCompress enum to SpiceImageCompression + as otherwise it was clashing with the definition used by older spice-server + releases, breaking QEMU build + +Major changes in 0.12.8 +======================= +* add LZ4 support +* add audio volume synchronization +* deprecate unused vdi-dev +* add 'preferred-compression' message/capability +* add a new Windows driver escape code to send + monitors capability from guest to client + +Major changes in 0.12.7 +======================= +* add support for Webdav channel +* add support for the Opus codec + +Major changes in 0.12.6 +======================= +* add adaptive video streaming support: + control playback latency and receive playback + reports from the client. +* add agent capabilities for signaling guest line ending. + +Major changes in 0.12.5 +======================= +* Add agent file xfer success status +* Add a client-disconnected agent message + +Major changes in 0.12.4 +======================= +* Add agent file copy support. +* Add agent sparse monitors capability. +* Add controller proxy message. + +Major changes in 0.12.3 +======================= +* Add a generic "port" channel + +Major changes in 0.12.2 +======================= +* Add A8 surface capability in display channel. +* Add to qxl device support for: + * client present + * client capabilities + * client monitors configuration + +Major changes in 0.12.1 +======================= +* Support seamless migration. +* New QXLComposite message for better X support. +* Support arbitrary scancode message INPUTS_KEY_SCANCODE. + +Major changes in 0.12.0 +======================= +* Add support for arbitrary resolution on Windows QXL with + QXL_ESCAPE_SET_CUSTOM_DISPLAY +* Add support for arbitrary resolution and multiple monitor per + display channel with QXLMonitorsConfig and co +* build cleanup + +Major changes in 0.10.3 (0.10.2 was never released) +=================================================== +* Add support for video streams with differently sized (wxh) data +* Add controller messages for USB redirection, COLOR_DEPTH, DISABLE_EFFECTS, + and ENABLE_SMARTCARD +* Add name & uuid messages on main channel +* some cleanups +* Fixes RHBZ#815422, RHBZ#807295, RHBZ#787447 + +Major changes in 0.10.1 +======================= +* Add support for a header without sublist and serial (mini header) + +Major changes in 0.10.0 +======================= +* no changes, released to match version with spice + +Major changes in 0.9.1 (same as 0.8.2 in 0.8 branch) +====================== +* Add support for semi-seamless migration + +Major changes in 0.9.0 +====================== +* Add support for generic spicevmc chardev passthrough messages +* Add USB redirection channel + +Major changes in 0.8.1 +====================== +* Add support for volume change +* Add support for async guest io writes and interrupt +* Add support for suspend related guest io writes +* Add support for interrupt indicating guest bug + +Major changes in 0.8.0 +====================== +* Add support for different clipboards (selections) to vd_agent copy paste +* Add support for using different authentication mechanisms (just SASL for now) + +Major changes in 0.7.1 +====================== +* Add some enums for the xorg qxl driver +* Some other small fixes + +Major changes in 0.7.0 +====================== +* Add smartcard channel + +Major changes in 0.6.4 +====================== +* Make controller client protocol menu text UTF8 rather then 16 bit unicode + +Major changes in 0.6.3: +======================= +* Add support for copy and paste to the agent protocol +* Add foreign-menu and external controller client protocol headers + +Major changes in 0.6.2: +======================= +* Skipped to stay in sync with spice + +Major changes in 0.6.1: +======================= +* Added compat flag for 16bpp commands + +Major changes in 0.6.0: +======================= +* Initial messages for clipboard sharing +* Move agent protocol structs from spice to spice-protocol +* Add capabilities to agent protocol + +Major changes in 0.5.3: +======================= + +Network major number changed to 2 to reflect that the network +protocol is now stable and backwards compatible from this point. + +Some vdagent messages for display settings and clipboard sharing +were added. + +Major changes in 0.5.2: +======================= + +This is the first release of the unstable 0.5.x series leading up to 0.6. +This module was split out of spice so that e.g. drivers and qemu can +get the types and constants they need without using the full spice +codebase. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spice-protocol-0.12.15/INSTALL new/spice-protocol-0.14.0/INSTALL --- old/spice-protocol-0.12.15/INSTALL 2019-01-11 18:00:22.000000000 +0100 +++ new/spice-protocol-0.14.0/INSTALL 1970-01-01 01:00:00.000000000 +0100 @@ -1,368 +0,0 @@ -Installation Instructions -************************* - - Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software -Foundation, Inc. - - Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. This file is offered as-is, -without warranty of any kind. - -Basic Installation -================== - - Briefly, the shell command './configure && make && make install' -should configure, build, and install this package. The following -more-detailed instructions are generic; see the 'README' file for -instructions specific to this package. Some packages provide this -'INSTALL' file but do not implement all of the features documented -below. The lack of an optional feature in a given package is not -necessarily a bug. More recommendations for GNU packages can be found -in *note Makefile Conventions: (standards)Makefile Conventions. - - The 'configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a 'Makefile' in each directory of the package. -It may also create one or more '.h' files containing system-dependent -definitions. Finally, it creates a shell script 'config.status' that -you can run in the future to recreate the current configuration, and a -file 'config.log' containing compiler output (useful mainly for -debugging 'configure'). - - It can also use an optional file (typically called 'config.cache' and -enabled with '--cache-file=config.cache' or simply '-C') that saves the -results of its tests to speed up reconfiguring. Caching is disabled by -default to prevent problems with accidental use of stale cache files. - - If you need to do unusual things to compile the package, please try -to figure out how 'configure' could check whether to do them, and mail -diffs or instructions to the address given in the 'README' so they can -be considered for the next release. If you are using the cache, and at -some point 'config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file 'configure.ac' (or 'configure.in') is used to create -'configure' by a program called 'autoconf'. You need 'configure.ac' if -you want to change it or regenerate 'configure' using a newer version of -'autoconf'. - - The simplest way to compile this package is: - - 1. 'cd' to the directory containing the package's source code and type - './configure' to configure the package for your system. - - Running 'configure' might take a while. While running, it prints - some messages telling which features it is checking for. - - 2. Type 'make' to compile the package. - - 3. Optionally, type 'make check' to run any self-tests that come with - the package, generally using the just-built uninstalled binaries. - - 4. Type 'make install' to install the programs and any data files and - documentation. When installing into a prefix owned by root, it is - recommended that the package be configured and built as a regular - user, and only the 'make install' phase executed with root - privileges. - - 5. Optionally, type 'make installcheck' to repeat any self-tests, but - this time using the binaries in their final installed location. - This target does not install anything. Running this target as a - regular user, particularly if the prior 'make install' required - root privileges, verifies that the installation completed - correctly. - - 6. You can remove the program binaries and object files from the - source code directory by typing 'make clean'. To also remove the - files that 'configure' created (so you can compile the package for - a different kind of computer), type 'make distclean'. There is - also a 'make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - - 7. Often, you can also type 'make uninstall' to remove the installed - files again. In practice, not all packages have tested that - uninstallation works correctly, even though it is required by the - GNU Coding Standards. - - 8. Some packages, particularly those that use Automake, provide 'make - distcheck', which can by used by developers to test that all other - targets like 'make install' and 'make uninstall' work correctly. - This target is generally not run by end users. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the 'configure' script does not know about. Run './configure --help' -for details on some of the pertinent environment variables. - - You can give 'configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here is -an example: - - ./configure CC=c99 CFLAGS=-g LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you can use GNU 'make'. 'cd' to the -directory where you want the object files and executables to go and run -the 'configure' script. 'configure' automatically checks for the source -code in the directory that 'configure' is in and in '..'. This is known -as a "VPATH" build. - - With a non-GNU 'make', it is safer to compile the package for one -architecture at a time in the source code directory. After you have -installed the package for one architecture, use 'make distclean' before -reconfiguring for another architecture. - - On MacOS X 10.5 and later systems, you can create libraries and -executables that work on multiple system types--known as "fat" or -"universal" binaries--by specifying multiple '-arch' options to the -compiler but only a single '-arch' option to the preprocessor. Like -this: - - ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -E" CXXCPP="g++ -E" - - This is not guaranteed to produce working output in all cases, you -may have to build one architecture at a time and combine the results -using the 'lipo' tool if you have problems. - -Installation Names -================== - - By default, 'make install' installs the package's commands under -'/usr/local/bin', include files under '/usr/local/include', etc. You -can specify an installation prefix other than '/usr/local' by giving -'configure' the option '--prefix=PREFIX', where PREFIX must be an -absolute file name. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -pass the option '--exec-prefix=PREFIX' to 'configure', the package uses -PREFIX as the prefix for installing programs and libraries. -Documentation and other data files still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like '--bindir=DIR' to specify different values for particular -kinds of files. Run 'configure --help' for a list of the directories -you can set and what kinds of files go in them. In general, the default -for these options is expressed in terms of '${prefix}', so that -specifying just '--prefix' will affect all of the other directory -specifications that were not explicitly provided. - - The most portable way to affect installation locations is to pass the -correct locations to 'configure'; however, many packages provide one or -both of the following shortcuts of passing variable assignments to the -'make install' command line to change installation locations without -having to reconfigure or recompile. - - The first method involves providing an override variable for each -affected directory. For example, 'make install -prefix=/alternate/directory' will choose an alternate location for all -directory configuration variables that were expressed in terms of -'${prefix}'. Any directories that were specified during 'configure', -but not in terms of '${prefix}', must each be overridden at install time -for the entire installation to be relocated. The approach of makefile -variable overrides for each directory variable is required by the GNU -Coding Standards, and ideally causes no recompilation. However, some -platforms have known limitations with the semantics of shared libraries -that end up requiring recompilation when using this method, particularly -noticeable in packages that use GNU Libtool. - - The second method involves providing the 'DESTDIR' variable. For -example, 'make install DESTDIR=/alternate/directory' will prepend -'/alternate/directory' before all installation names. The approach of -'DESTDIR' overrides is not required by the GNU Coding Standards, and -does not work on platforms that have drive letters. On the other hand, -it does better at avoiding recompilation issues, and works well even -when some directory options were not specified in terms of '${prefix}' -at 'configure' time. - -Optional Features -================= - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving 'configure' the -option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'. - - Some packages pay attention to '--enable-FEATURE' options to -'configure', where FEATURE indicates an optional part of the package. -They may also pay attention to '--with-PACKAGE' options, where PACKAGE -is something like 'gnu-as' or 'x' (for the X Window System). The -'README' should mention any '--enable-' and '--with-' options that the -package recognizes. - - For packages that use the X Window System, 'configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the 'configure' options '--x-includes=DIR' and -'--x-libraries=DIR' to specify their locations. - - Some packages offer the ability to configure how verbose the -execution of 'make' will be. For these packages, running './configure ---enable-silent-rules' sets the default to minimal output, which can be -overridden with 'make V=1'; while running './configure ---disable-silent-rules' sets the default to verbose, which can be -overridden with 'make V=0'. - -Particular systems -================== - - On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC -is not installed, it is recommended to use the following options in -order to use an ANSI C compiler: - - ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" - -and if that doesn't work, install pre-built binaries of GCC for HP-UX. - - HP-UX 'make' updates targets which have the same time stamps as their -prerequisites, which makes it generally unusable when shipped generated -files such as 'configure' are involved. Use GNU 'make' instead. - - On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot -parse its '<wchar.h>' header file. The option '-nodtk' can be used as a -workaround. If GNU CC is not installed, it is therefore recommended to -try - - ./configure CC="cc" - -and if that doesn't work, try - - ./configure CC="cc -nodtk" - - On Solaris, don't put '/usr/ucb' early in your 'PATH'. This -directory contains several dysfunctional programs; working variants of -these programs are available in '/usr/bin'. So, if you need '/usr/ucb' -in your 'PATH', put it _after_ '/usr/bin'. - - On Haiku, software installed for all users goes in '/boot/common', -not '/usr/local'. It is recommended to use the following options: - - ./configure --prefix=/boot/common - -Specifying the System Type -========================== - - There may be some features 'configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, 'configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -'--build=TYPE' option. TYPE can either be a short name for the system -type, such as 'sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS - KERNEL-OS - - See the file 'config.sub' for the possible values of each field. If -'config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the option '--target=TYPE' to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with '--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for 'configure' scripts to share, -you can create a site shell script called 'config.site' that gives -default values for variables like 'CC', 'cache_file', and 'prefix'. -'configure' looks for 'PREFIX/share/config.site' if it exists, then -'PREFIX/etc/config.site' if it exists. Or, you can set the -'CONFIG_SITE' environment variable to the location of the site script. -A warning: not all 'configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to 'configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the 'configure' command line, using 'VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -causes the specified 'gcc' to be used as the C compiler (unless it is -overridden in the site shell script). - -Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an -Autoconf limitation. Until the limitation is lifted, you can use this -workaround: - - CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash - -'configure' Invocation -====================== - - 'configure' recognizes the following options to control how it -operates. - -'--help' -'-h' - Print a summary of all of the options to 'configure', and exit. - -'--help=short' -'--help=recursive' - Print a summary of the options unique to this package's - 'configure', and exit. The 'short' variant lists options used only - in the top level, while the 'recursive' variant lists options also - present in any nested packages. - -'--version' -'-V' - Print the version of Autoconf used to generate the 'configure' - script, and exit. - -'--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally 'config.cache'. FILE defaults to '/dev/null' to - disable caching. - -'--config-cache' -'-C' - Alias for '--cache-file=config.cache'. - -'--quiet' -'--silent' -'-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to '/dev/null' (any error - messages will still be shown). - -'--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - 'configure' can determine that directory automatically. - -'--prefix=DIR' - Use DIR as the installation prefix. *note Installation Names:: for - more details, including other options available for fine-tuning the - installation locations. - -'--no-create' -'-n' - Run the configure checks, but stop before creating any output - files. - -'configure' also accepts some other, not widely useful, options. Run -'configure --help' for more details. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spice-protocol-0.12.15/Makefile.am new/spice-protocol-0.14.0/Makefile.am --- old/spice-protocol-0.12.15/Makefile.am 2018-05-15 16:00:26.000000000 +0200 +++ new/spice-protocol-0.14.0/Makefile.am 2019-04-12 15:54:46.000000000 +0200 @@ -22,6 +22,9 @@ `find "$(srcdir)" -type f -name Makefile.in -print` \ $(NULL) -EXTRA_DIST = meson.build +EXTRA_DIST = \ + README.md \ + CHANGELOG.md \ + meson.build -include $(top_srcdir)/git.mk diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spice-protocol-0.12.15/Makefile.in new/spice-protocol-0.14.0/Makefile.in --- old/spice-protocol-0.12.15/Makefile.in 2019-01-11 18:33:15.000000000 +0100 +++ new/spice-protocol-0.14.0/Makefile.in 2019-04-12 15:55:07.000000000 +0200 @@ -186,8 +186,8 @@ CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(srcdir)/spice-protocol.pc.in AUTHORS COPYING ChangeLog \ - INSTALL NEWS README install-sh missing + $(srcdir)/spice-protocol.pc.in AUTHORS COPYING install-sh \ + missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -326,7 +326,11 @@ `find "$(srcdir)" -type f -name Makefile.in -print` \ $(NULL) -EXTRA_DIST = meson.build +EXTRA_DIST = \ + README.md \ + CHANGELOG.md \ + meson.build + all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive @@ -337,15 +341,15 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile + $(AUTOMAKE) --foreign Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spice-protocol-0.12.15/NEWS new/spice-protocol-0.14.0/NEWS --- old/spice-protocol-0.12.15/NEWS 2019-01-11 18:06:58.000000000 +0100 +++ new/spice-protocol-0.14.0/NEWS 1970-01-01 01:00:00.000000000 +0100 @@ -1,194 +0,0 @@ -Major changes in 0.12.15 -======================== -* Add support for h265 video codec -* qxl_dev: Align QXLRam to 4 bytes -* meson: fix spice-protocol as subproject - -Major changes in 0.12.14 -======================== -* add stream-device protocol -* add SPICE_SURFACE_FLAGS_STREAMING_MODE flag -* add e2k (Elbrus 2000) architecture -* add SPICE_MAX_NUM_STREAMS -* add meson support -* add bult-ins byte swapping for Visual C++ -* switch to built-ins byte swapping in GCC - -Major changes in 0.12.13 -======================== -* add DISPLAY_PREFERRED_VIDEO_CODEC_TYPE -* add VP9 codec type -* add VD_AGENT_CLEAR_CAPABILITY() macro -* add VD_AGENT_CAP_FILE_XFER_DISABLED -* add VD_AGENT_FILE_XFER_STATUS_NOT_ENOUGH_SPACE -* add new file-xfer statuses for detailed error -* Change enums.h license to MIT - -Major changes in 0.12.12 -======================== -* protocol: Add lz4 compression support to the SpiceVMC channel - -Major changes in 0.12.11 -======================== -* protocol: add support for the VP8 and h264 video codecs -* protocol: add unix GL scanout messages -* remove code generation scripts, moved back to spice-common -* macros improvements, more type safety - -Major changes in 0.12.10 -======================== -* Add VD_AGENT_CAP_MONITORS_CONFIG_POSITION to handle multi-monitor - configurations that are not multi-head -* Add protocol code generation scripts from spice-common -* Endianness and compiler portability fixes (clang) - -Major changes in 0.12.9 -======================= -* rename newly introduced SpiceImageCompress enum to SpiceImageCompression - as otherwise it was clashing with the definition used by older spice-server - releases, breaking QEMU build - -Major changes in 0.12.8 -======================= -* add LZ4 support -* add audio volume synchronization -* deprecate unused vdi-dev -* add 'preferred-compression' message/capability -* add a new Windows driver escape code to send - monitors capability from guest to client - -Major changes in 0.12.7 -======================= -* add support for Webdav channel -* add support for the Opus codec - -Major changes in 0.12.6 -======================= -* add adaptive video streaming support: - control playback latency and receive playback - reports from the client. -* add agent capabilities for signaling guest line ending. - -Major changes in 0.12.5 -======================= -* Add agent file xfer success status -* Add a client-disconnected agent message - -Major changes in 0.12.4 -======================= -* Add agent file copy support. -* Add agent sparse monitors capability. -* Add controller proxy message. - -Major changes in 0.12.3 -======================= -* Add a generic "port" channel - -Major changes in 0.12.2 -======================= -* Add A8 surface capability in display channel. -* Add to qxl device support for: - * client present - * client capabilities - * client monitors configuration - -Major changes in 0.12.1 -======================= -* Support seamless migration. -* New QXLComposite message for better X support. -* Support arbitrary scancode message INPUTS_KEY_SCANCODE. - -Major changes in 0.12.0 -======================= -* Add support for arbitrary resolution on Windows QXL with - QXL_ESCAPE_SET_CUSTOM_DISPLAY -* Add support for arbitrary resolution and multiple monitor per - display channel with QXLMonitorsConfig and co -* build cleanup - -Major changes in 0.10.3 (0.10.2 was never released) -=================================================== -* Add support for video streams with differently sized (wxh) data -* Add controller messages for USB redirection, COLOR_DEPTH, DISABLE_EFFECTS, - and ENABLE_SMARTCARD -* Add name & uuid messages on main channel -* some cleanups -* Fixes RHBZ#815422, RHBZ#807295, RHBZ#787447 - -Major changes in 0.10.1 -======================= -* Add support for a header without sublist and serial (mini header) - -Major changes in 0.10.0 -======================= -* no changes, released to match version with spice - -Major changes in 0.9.1 (same as 0.8.2 in 0.8 branch) -====================== -* Add support for semi-seamless migration - -Major changes in 0.9.0 -====================== -* Add support for generic spicevmc chardev passthrough messages -* Add USB redirection channel - -Major changes in 0.8.1 -====================== -* Add support for volume change -* Add support for async guest io writes and interrupt -* Add support for suspend related guest io writes -* Add support for interrupt indicating guest bug - -Major changes in 0.8.0 -====================== -* Add support for different clipboards (selections) to vd_agent copy paste -* Add support for using different authentication mechanisms (just SASL for now) - -Major changes in 0.7.1 -====================== -* Add some enums for the xorg qxl driver -* Some other small fixes - -Major changes in 0.7.0 -====================== -* Add smartcard channel - -Major changes in 0.6.4 -====================== -* Make controller client protocol menu text UTF8 rather then 16 bit unicode - -Major changes in 0.6.3: -======================= -* Add support for copy and paste to the agent protocol -* Add foreign-menu and external controller client protocol headers - -Major changes in 0.6.2: -======================= -* Skipped to stay in sync with spice - -Major changes in 0.6.1: -======================= -* Added compat flag for 16bpp commands - -Major changes in 0.6.0: -======================= -* Initial messages for clipboard sharing -* Move agent protocol structs from spice to spice-protocol -* Add capabilities to agent protocol - -Major changes in 0.5.3: -======================= - -Network major number changed to 2 to reflect that the network -protocol is now stable and backwards compatible from this point. - -Some vdagent messages for display settings and clipboard sharing -were added. - -Major changes in 0.5.2: -======================= - -This is the first release of the unstable 0.5.x series leading up to 0.6. -This module was split out of spice so that e.g. drivers and qemu can -get the types and constants they need without using the full spice -codebase. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spice-protocol-0.12.15/README.md new/spice-protocol-0.14.0/README.md --- old/spice-protocol-0.12.15/README.md 1970-01-01 01:00:00.000000000 +0100 +++ new/spice-protocol-0.14.0/README.md 2019-04-12 15:54:46.000000000 +0200 @@ -0,0 +1,27 @@ +spice-protocol +============== + +The protocol definition for [SPICE] project used by: +* [spice-server]: A server side library used by [QEMU] and [x11spice]; +* [spice-gtk]: A client side library used by [virt-viewer and virt-manager] and + [GNOME Boxes]; +* [linux/vd-agent] and [win32/vd-agent]: Guest components for Linux and Windows +* [xf86-video-qxl], [gpu/drm/qxl], [win32/qxl], [win32/qxl-wddm-dod]: Guest video + drivers; + +Please [report bugs] at Freedesktop's instance of Gitlab + +[SPICE]: https://spice-space.org +[spice-server]: https://gitlab.freedesktop.org/spice/spice +[QEMU]: https://www.qemu.org +[x11spice]: https://gitlab.com/spice/x11spice +[spice-gtk]: https://gitlab.freedesktop.org/spice/spice-gtk +[virt-viewer and virt-manager]: https://virt-manager.org/ +[GNOME Boxes]: https://wiki.gnome.org/Apps/Boxes +[linux/vd-agent]: https://gitlab.freedesktop.org/spice/linux/vd_agent +[win32/vd-agent]: https://gitlab.freedesktop.org/spice/win32/vd_agent +[xf86-video-qxl]: https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl +[gpu/drm/qxl]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/qxl +[win32/qxl]: https://gitlab.freedesktop.org/spice/win32/qxl +[win32/qxl-wddm-dod]: https://gitlab.freedesktop.org/spice/win32/qxl-wddm-dod +[report bugs]: https://gitlab.freedesktop.org/spice/spice-protocol/issues/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spice-protocol-0.12.15/configure new/spice-protocol-0.14.0/configure --- old/spice-protocol-0.12.15/configure 2019-01-11 18:33:15.000000000 +0100 +++ new/spice-protocol-0.14.0/configure 2019-04-12 15:55:07.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for spice-protocol 0.12.15. +# Generated by GNU Autoconf 2.69 for spice-protocol 0.14.0. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -576,8 +576,8 @@ # Identity of this package. PACKAGE_NAME='spice-protocol' PACKAGE_TARNAME='spice-protocol' -PACKAGE_VERSION='0.12.15' -PACKAGE_STRING='spice-protocol 0.12.15' +PACKAGE_VERSION='0.14.0' +PACKAGE_STRING='spice-protocol 0.14.0' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1200,7 +1200,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures spice-protocol 0.12.15 to adapt to many kinds of systems. +\`configure' configures spice-protocol 0.14.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1266,7 +1266,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of spice-protocol 0.12.15:";; + short | recursive ) echo "Configuration of spice-protocol 0.14.0:";; esac cat <<\_ACEOF @@ -1343,7 +1343,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -spice-protocol configure 0.12.15 +spice-protocol configure 0.14.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1360,7 +1360,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by spice-protocol $as_me 0.12.15, which was +It was created by spice-protocol $as_me 0.14.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2228,7 +2228,7 @@ # Define the identity of the package. PACKAGE='spice-protocol' - VERSION='0.12.15' + VERSION='0.14.0' cat >>confdefs.h <<_ACEOF @@ -2905,7 +2905,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by spice-protocol $as_me 0.12.15, which was +This file was extended by spice-protocol $as_me 0.14.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -2967,7 +2967,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -spice-protocol config.status 0.12.15 +spice-protocol config.status 0.14.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spice-protocol-0.12.15/configure.ac new/spice-protocol-0.14.0/configure.ac --- old/spice-protocol-0.12.15/configure.ac 2019-01-11 18:33:12.000000000 +0100 +++ new/spice-protocol-0.14.0/configure.ac 2019-04-12 15:54:46.000000000 +0200 @@ -1,15 +1,15 @@ AC_PREREQ([2.57]) m4_define([SPICE_MAJOR], 0) -m4_define([SPICE_MINOR], 12) -m4_define([SPICE_MICRO], 15) +m4_define([SPICE_MINOR], 14) +m4_define([SPICE_MICRO], 0) AC_INIT(spice-protocol, [SPICE_MAJOR.SPICE_MINOR.SPICE_MICRO], [], spice-protocol) AC_CONFIG_MACRO_DIR([m4]) AM_CONFIG_HEADER([config.h]) -AM_INIT_AUTOMAKE([dist-bzip2]) +AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spice-protocol-0.12.15/meson.build new/spice-protocol-0.14.0/meson.build --- old/spice-protocol-0.12.15/meson.build 2019-01-11 18:33:12.000000000 +0100 +++ new/spice-protocol-0.14.0/meson.build 2019-04-12 15:28:38.000000000 +0200 @@ -2,7 +2,7 @@ # project definition # project('spice-protocol', 'c', - version : '0.12.15', + version : '0.14.0', license : 'BSD', meson_version : '>= 0.41.0') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spice-protocol-0.12.15/spice/Makefile.in new/spice-protocol-0.14.0/spice/Makefile.in --- old/spice-protocol-0.12.15/spice/Makefile.in 2019-01-11 18:33:15.000000000 +0100 +++ new/spice-protocol-0.14.0/spice/Makefile.in 2019-04-12 15:55:08.000000000 +0200 @@ -274,9 +274,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu spice/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign spice/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu spice/Makefile + $(AUTOMAKE) --foreign spice/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spice-protocol-0.12.15/spice/enums.h new/spice-protocol-0.14.0/spice/enums.h --- old/spice-protocol-0.12.15/spice/enums.h 2018-07-04 19:13:36.000000000 +0200 +++ new/spice-protocol-0.14.0/spice/enums.h 2019-04-04 10:42:57.000000000 +0200 @@ -119,21 +119,6 @@ SPICE_MOUSE_MODE_MASK = 0x3 } SpiceMouseMode; -typedef enum SpicePubkeyType { - SPICE_PUBKEY_TYPE_INVALID, - SPICE_PUBKEY_TYPE_RSA, - SPICE_PUBKEY_TYPE_RSA2, - SPICE_PUBKEY_TYPE_DSA, - SPICE_PUBKEY_TYPE_DSA1, - SPICE_PUBKEY_TYPE_DSA2, - SPICE_PUBKEY_TYPE_DSA3, - SPICE_PUBKEY_TYPE_DSA4, - SPICE_PUBKEY_TYPE_DH, - SPICE_PUBKEY_TYPE_EC, - - SPICE_PUBKEY_TYPE_ENUM_END -} SpicePubkeyType; - typedef enum SpiceDataCompressionType { SPICE_DATA_COMPRESSION_TYPE_NONE, SPICE_DATA_COMPRESSION_TYPE_LZ4, @@ -397,21 +382,6 @@ SPICE_AUDIO_FMT_ENUM_END } SpiceAudioFmt; -typedef enum SpiceTunnelServiceType { - SPICE_TUNNEL_SERVICE_TYPE_INVALID, - SPICE_TUNNEL_SERVICE_TYPE_GENERIC, - SPICE_TUNNEL_SERVICE_TYPE_IPP, - - SPICE_TUNNEL_SERVICE_TYPE_ENUM_END -} SpiceTunnelServiceType; - -typedef enum SpiceTunnelIpType { - SPICE_TUNNEL_IP_TYPE_INVALID, - SPICE_TUNNEL_IP_TYPE_IPv4, - - SPICE_TUNNEL_IP_TYPE_ENUM_END -} SpiceTunnelIpType; - typedef enum SpiceVscMessageType { SPICE_VSC_MESSAGE_TYPE_Init = 1, SPICE_VSC_MESSAGE_TYPE_Error, @@ -614,33 +584,6 @@ }; enum { - SPICE_MSG_TUNNEL_INIT = 101, - SPICE_MSG_TUNNEL_SERVICE_IP_MAP, - SPICE_MSG_TUNNEL_SOCKET_OPEN, - SPICE_MSG_TUNNEL_SOCKET_FIN, - SPICE_MSG_TUNNEL_SOCKET_CLOSE, - SPICE_MSG_TUNNEL_SOCKET_DATA, - SPICE_MSG_TUNNEL_SOCKET_CLOSED_ACK, - SPICE_MSG_TUNNEL_SOCKET_TOKEN, - - SPICE_MSG_END_TUNNEL -}; - -enum { - SPICE_MSGC_TUNNEL_SERVICE_ADD = 101, - SPICE_MSGC_TUNNEL_SERVICE_REMOVE, - SPICE_MSGC_TUNNEL_SOCKET_OPEN_ACK, - SPICE_MSGC_TUNNEL_SOCKET_OPEN_NACK, - SPICE_MSGC_TUNNEL_SOCKET_FIN, - SPICE_MSGC_TUNNEL_SOCKET_CLOSED, - SPICE_MSGC_TUNNEL_SOCKET_CLOSED_ACK, - SPICE_MSGC_TUNNEL_SOCKET_DATA, - SPICE_MSGC_TUNNEL_SOCKET_TOKEN, - - SPICE_MSGC_END_TUNNEL -}; - -enum { SPICE_MSG_SMARTCARD_DATA = 101, SPICE_MSG_END_SMARTCARD diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spice-protocol-0.12.15/spice/stats.h new/spice-protocol-0.14.0/spice/stats.h --- old/spice-protocol-0.12.15/spice/stats.h 2015-11-10 22:44:28.000000000 +0100 +++ new/spice-protocol-0.14.0/spice/stats.h 2019-02-04 14:48:47.000000000 +0100 @@ -62,6 +62,8 @@ uint32_t generation; uint32_t num_of_nodes; uint32_t root_index; + /* to avoid holes in the structure on some platforms */ + uint32_t padding; SpiceStatNode nodes[]; } SpiceStat; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spice-protocol-0.12.15/spice/stream-device.h new/spice-protocol-0.14.0/spice/stream-device.h --- old/spice-protocol-0.12.15/spice/stream-device.h 2018-05-15 16:00:26.000000000 +0200 +++ new/spice-protocol-0.14.0/spice/stream-device.h 2019-02-04 14:48:47.000000000 +0100 @@ -90,6 +90,8 @@ STREAM_TYPE_CURSOR_SET, /* guest cursor position */ STREAM_TYPE_CURSOR_MOVE, + /* the graphics device display information message (device address and display id) */ + STREAM_TYPE_DEVICE_DISPLAY_INFO, } StreamMsgType; typedef enum StreamCapabilities { @@ -140,6 +142,35 @@ uint8_t data[0]; } StreamMsgData; +/* This message contains information about the graphics device and monitor + * belonging to a particular video stream (which maps to a channel) from + * the streaming agent. + * + * The device_address is the hardware address of the device (e.g. PCI), + * device_display_id is the id of the monitor on the device. + * + * The supported device address format is: + * "pci/<DOMAIN>/<SLOT>.<FUNCTION>/.../<SLOT>.<FUNCTION>" + * + * The "pci" identifies the rest of the string as a PCI address. It is the only + * supported address at the moment, other identifiers can be introduced later. + * <DOMAIN> is the PCI domain, followed by <SLOT>.<FUNCTION> of any PCI bridges + * in the chain leading to the device. The last <SLOT>.<FUNCTION> is the + * graphics device. All of <DOMAIN>, <SLOT>, <FUNCTION> are hexadecimal numbers + * with the following number of digits: + * <DOMAIN>: 4 + * <SLOT>: 2 + * <FUNCTION>: 1 + * + * Sent from the streaming agent to the server. + */ +typedef struct StreamMsgDeviceDisplayInfo { + uint32_t stream_id; + uint32_t device_display_id; + uint32_t device_address_len; + uint8_t device_address[0]; // a zero-terminated string +} StreamMsgDeviceDisplayInfo; + /* Tell to stop current stream and possibly start a new one. * This message is sent by the host to the guest. * Allows to communicate the codecs supported by the clients. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spice-protocol-0.12.15/spice/vd_agent.h new/spice-protocol-0.14.0/spice/vd_agent.h --- old/spice-protocol-0.12.15/spice/vd_agent.h 2018-06-05 14:19:44.000000000 +0200 +++ new/spice-protocol-0.14.0/spice/vd_agent.h 2019-02-04 14:48:47.000000000 +0100 @@ -91,6 +91,7 @@ VD_AGENT_CLIENT_DISCONNECTED, VD_AGENT_MAX_CLIPBOARD, VD_AGENT_AUDIO_VOLUME_SYNC, + VD_AGENT_GRAPHICS_DEVICE_INFO, VD_AGENT_END_MESSAGE, }; @@ -248,6 +249,27 @@ uint16_t volume[0]; } VDAgentAudioVolumeSync; +typedef struct SPICE_ATTR_PACKED VDAgentDeviceDisplayInfo { + uint32_t channel_id; + uint32_t monitor_id; + uint32_t device_display_id; + uint32_t device_address_len; + uint8_t device_address[0]; // a zero-terminated string +} VDAgentDeviceDisplayInfo; + + +/* This message contains the mapping of (channel_id, monitor_id) pair to a + * "physical" (virtualized) device and its monitor identified by device_address + * and device_display_id. + * + * It's used on the vd_agent to identify the guest monitors for the + * mouse_position and monitors_config messages. + */ +typedef struct SPICE_ATTR_PACKED VDAgentGraphicsDeviceInfo { + uint32_t count; + VDAgentDeviceDisplayInfo display_info[0]; +} VDAgentGraphicsDeviceInfo; + enum { VD_AGENT_CAP_MOUSE_STATE = 0, VD_AGENT_CAP_MONITORS_CONFIG, @@ -264,6 +286,7 @@ VD_AGENT_CAP_MONITORS_CONFIG_POSITION, VD_AGENT_CAP_FILE_XFER_DISABLED, VD_AGENT_CAP_FILE_XFER_DETAILED_ERRORS, + VD_AGENT_CAP_GRAPHICS_DEVICE_INFO, VD_AGENT_END_CAP, };
