Import spice-gtk_0.33-3.3+deb9u1.debian.tar.xz
authorSalvatore Bonaccorso <carnil@debian.org>
Fri, 26 Oct 2018 15:52:24 +0000 (16:52 +0100)
committerSalvatore Bonaccorso <carnil@debian.org>
Fri, 26 Oct 2018 15:52:24 +0000 (16:52 +0100)
[dgit import tarball spice-gtk 0.33-3.3+deb9u1 spice-gtk_0.33-3.3+deb9u1.debian.tar.xz]

31 files changed:
changelog [new file with mode: 0644]
compat [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
gir1.2-spice-client-glib-2.0.install [new file with mode: 0644]
gir1.2-spice-client-gtk-2.0.install [new file with mode: 0644]
gir1.2-spice-client-gtk-3.0.install [new file with mode: 0644]
libspice-client-glib-2.0-8.install [new file with mode: 0644]
libspice-client-glib-2.0-8.symbols [new file with mode: 0644]
libspice-client-glib-2.0-dev.install [new file with mode: 0644]
libspice-client-gtk-3.0-5.install [new file with mode: 0644]
libspice-client-gtk-3.0-5.symbols [new file with mode: 0644]
libspice-client-gtk-3.0-dev.install [new file with mode: 0644]
patches/Fix-flexible-array-buffer-overflow.patch [new file with mode: 0644]
patches/debian_843471-clipboard_Fix_crash_by_handling_error.patch [new file with mode: 0644]
patches/explicitly-enable-subdir-objects.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
patches/ssl-Rework-our-custom-BIO-type.patch [new file with mode: 0644]
patches/ssl-Stop-creating-our-own-X509_LOOKUP_METHOD.patch [new file with mode: 0644]
patches/ssl-Use-accessors-rather-than-direct-struct-access.patch [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
spice-client-glib-usb-acl-helper.install [new file with mode: 0644]
spice-client-glib-usb-acl-helper.postinst [new file with mode: 0644]
spice-client-glib-usb-acl-helper.postrm [new file with mode: 0644]
spice-client-gtk.install [new file with mode: 0644]
spice-client-gtk.manpages [new file with mode: 0644]
spicy-screenshot.1 [new file with mode: 0644]
spicy-stats.1 [new file with mode: 0644]
spicy.1 [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..fc8326c
--- /dev/null
+++ b/changelog
@@ -0,0 +1,450 @@
+spice-gtk (0.33-3.3+deb9u1) stretch; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix flexible array buffer overflow (CVE-2018-10873) (Closes: #906316)
+
+ -- Salvatore Bonaccorso <carnil@debian.org>  Fri, 26 Oct 2018 17:52:24 +0200
+
+spice-gtk (0.33-3.3) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * debian/rules: delete generated files to ensure they're re-generated
+    from source (Closes: #797855).
+  * Replace OpenSSL 1.1 compatibility patch with the version applied
+    upstream (Closes: #851127).
+  * debian/copyright: fix empty short license field (spotted by Lintian).
+
+ -- intrigeri <intrigeri@debian.org>  Sat, 14 Jan 2017 11:34:36 +0000
+
+spice-gtk (0.33-3.2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * debian_843471-clipboard_Fix_crash_by_handling_error.patch:
+    new patch, cherry-picked from upstream (Closes: #843471).
+
+ -- intrigeri <intrigeri@debian.org>  Sun, 25 Dec 2016 08:30:43 +0000
+
+spice-gtk (0.33-3.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTBFS with OpenSSL 1.1, patch by Sebastian Andrzej Siewior (Closes:
+    #828554).
+
+ -- Andrey Rahmatullin <wrar@debian.org>  Sat, 10 Dec 2016 20:06:07 +0500
+
+spice-gtk (0.33-3) unstable; urgency=medium
+
+  * debian/control:
+    - Add gstreamer1.0-tools, gstreamer1.0-libav and gstreamer1.0-plugins-*
+      to Build-Depends (Closes: #841932)
+    - Add gstreamer1.0-libav and gstreamer1.0-plugins-* to 
+      libspice-client-glib-2.0-8 Depends
+  * debian/rules
+    - Remove dh_strip on python-spice-client-gtk, package already removed
+  * Install missed docs
+
+ -- Liang Guo <guoliang@debian.org>  Tue, 25 Oct 2016 10:00:32 +0800
+
+spice-gtk (0.33-2) unstable; urgency=medium
+
+  * debian/control:
+    - Add libphodav-2.0-dev to Build-Depends, enable webdav
+      support (Closes: #841764)
+    - Add libgstreamer1.0-dev and libgstreamer-plugins-base1.0-dev 
+      to Build-Depends, enable gstreamer support
+
+ -- Liang Guo <guoliang@debian.org>  Mon, 24 Oct 2016 20:06:17 +0800
+
+spice-gtk (0.33-1) unstable; urgency=medium
+
+  * New upstream release (Closes: #840603)
+  * debian/control:
+    - Update Build-Depends on spice-protocol to 0.12.12
+  * debian/patches:
+    - Refresh explicitly-enable-subdir-objects.patch
+  * Refresh libspice-client-glib-2.0-8.symbols
+
+ -- Liang Guo <guoliang@debian.org>  Fri, 07 Oct 2016 23:14:27 +0800
+
+spice-gtk (0.32-1) unstable; urgency=medium
+
+  * New upstream release
+  * Update debian/copyright
+  * debian/control:
+    - Update Build-Depends libglib2.0-dev and libspice-protocol-dev 
+      version required
+    - Remove Build-Depends on libgtk2.0-dev 
+    - Bump Standards-Version to 3.9.8 (no changes)
+    - Use secure uri in vcs-*
+  * Remove libspice-client-gtk-2.0-* and python-spice-client-gtk,  
+    upstream don't support gtk2 anymore
+  * Refresh explicitly-enable-subdir-objects.patch
+  * Bump SONAME and package name of libspice-client-gtk-3.0
+
+ -- Liang Guo <guoliang@debian.org>  Fri, 01 Jul 2016 19:32:58 +0800
+
+spice-gtk (0.30-1) unstable; urgency=low
+
+  * New upstream release (Closes: #806294, #808504)
+  * Enable python checks
+  * Update debian/copyright, remove license about upstream
+    removed files
+  * Spice-protocol is splited to sperate package, add build-depends on 
+    libspice-protocol-dev
+  * Refresh debian/patches/explicitly-enable-subdir-objects.patch
+  * Refresh libspice-client-glib-2.0-8.symbols
+  * switch to automatic dbgsym package.
+
+ -- Liang Guo <guoliang@debian.org>  Fri, 25 Dec 2015 14:47:11 +0800
+
+spice-gtk (0.29-1) unstable; urgency=medium
+
+  * New upstream release
+  * Update explicitly-enable-subdir-objects.patch, source directory changed from
+    gtk to src
+  * Update debian/copyright, source directory changed from gtk to src
+
+ -- Liang Guo <guoliang@debian.org>  Sat, 29 Aug 2015 11:44:44 +0800
+
+spice-gtk (0.28-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Drop libspice-server-dev dependencies from libspice-client-glib-2.0-dev
+    it's not needed and block the migration to testing because it's not
+    available on some architectures (Closes: #792407)
+  * Enable smartcard support (Closes: #786835)
+
+ -- Laurent Bigonville <bigon@debian.org>  Mon, 24 Aug 2015 20:57:27 +0200
+
+spice-gtk (0.28-1) unstable; urgency=low
+
+  * New upstream release
+  * Update debian/copyright
+  * Add build-depends on gtk-doc
+  * Enable LZ4 support
+  * Update libspice-client-glib-2.0-8.symbols
+  * Update spice-client-glib-usb-acl-helper description
+  * Added spice-gtk-dbg package (Closes:783463)
+
+ -- Liang Guo <guoliang@debian.org>  Sat, 25 Apr 2015 14:29:58 +0800
+
+spice-gtk (0.26-2) experimental; urgency=medium
+
+  * build on all archtecture,not only linux
+
+ -- Liang Guo <guoliang@debian.org>  Wed, 12 Nov 2014 14:38:12 +0800
+
+spice-gtk (0.26-1) experimental; urgency=medium
+
+  * New upstream release
+  * Build on all archtecture (Closes: 747082)
+  * Remove debian/patches/remove-srcdir-or-top-srcdir-in-makefile-am.patch,
+    Applied upstream
+  * Bump Standards-Version to 3.9.6 (no changes)
+  * Update debian/copyright, remove license about upstream 
+    removed files.
+
+ -- Liang Guo <guoliang@debian.org>  Mon, 10 Nov 2014 19:15:57 +0800
+
+spice-gtk (0.25-1) unstable; urgency=medium
+
+  * New upstream release
+  * Refresh debian/copyright, new file added
+  * debian/patches:
+    - - remove-srcdir-or-top-srcdir-in-makefile-am.patch, refresh
+    - explicitly-enable-subdir-objects.patch, refresh
+    - do-not-build-tests.patch, remove, upstream provide option to 
+      disable tests build
+  * Add build-depends on libsoup2.4-dev
+  * Refresh libspice-client-glib-2.0-8.symbols
+
+ -- Liang Guo <guoliang@debian.org>  Wed, 25 Jun 2014 07:53:38 +0800
+
+spice-gtk (0.23-1) unstable; urgency=low
+
+  * New upstream release
+  * Refresh debian/copyright, new file added
+  * debian/patches:
+    - make-celt-to-be-optional.patch, remove, upstream
+      have similar patch
+    - remove-srcdir-or-top-srcdir-in-makefile-am.patch, refresh
+  * Enable opus
+
+ -- Liang Guo <guoliang@debian.org>  Sun, 16 Feb 2014 21:05:01 +0800
+
+spice-gtk (0.22-0nocelt2) unstable; urgency=medium
+
+  * Enable dbus support (Closes: 737663)
+  * Remove build-depends on libspice-protocol-dev
+    and libspice-server-dev, not needed.
+  * Add build-depends on libssl-dev
+
+ -- Liang Guo <guoliang@debian.org>  Wed, 05 Feb 2014 11:50:40 +0800
+
+spice-gtk (0.22-0nocelt1) unstable; urgency=low
+
+  * New upstream release 
+  * Bump Standards-Version to 3.9.5 (no changes)
+  * debian/patches:
+    - make-celt-to-be-optional.patch, refresh
+    - explicitly-enable-subdir-objects.patch, refresh
+    - remove-srcdir-or-top-srcdir-in-makefile-am.patch, refresh
+    - fix-usbredir-being-broken-since-commit-159c6ebf.patch, remove,
+      applied upstream
+    - palette-regression.patch, remove, applied upstream
+    - do-not-build-tests.patch, add
+  * Refresh *.symbols
+
+ -- Liang Guo <guoliang@debian.org>  Sun, 19 Jan 2014 10:59:06 +0800
+
+spice-gtk (0.21-0nocelt3) unstable; urgency=low
+
+  * debian/atches:
+    - palette-regression.patch, add, (Closes: 727707)
+
+ -- Liang Guo <guoliang@debian.org>  Sat, 09 Nov 2013 00:18:33 +0800
+
+spice-gtk (0.21-0nocelt2) unstable; urgency=low
+
+  * debian/patches:
+    - fix-usbredir-being-broken-since-commit-159c6ebf.patch, 
+      add, (Closes:  726292)
+
+ -- Liang Guo <guoliang@debian.org>  Fri, 18 Oct 2013 17:40:05 +0800
+
+spice-gtk (0.21-0nocelt1) unstable; urgency=low
+
+  * New upstream release (Closes: 724473)
+  * debian/patches:
+    - make-celt-to-be-optional.patch, refresh
+    - add-spice_channel_string_to_type-to-map-files.patch, 
+      remove, applied upstream
+    - explicitly-enable-subdir-objects.patch, new, or 
+      compile with automake 1.14 will fail
+    - remove-srcdir-or-top-srcdir-in-makefile-am.patch, new. 
+  * Refresh debian/libspice-client-gtk-{2,3}.0-4.symbols
+  * set spice-client-glib-usb-acl-helper replaces and breaks
+    libspice-client-glib-2.0-1, which is in wheezy 
+    (Closes: #718962, #722533)
+
+ -- Liang Guo <guoliang@debian.org>  Thu, 26 Sep 2013 09:25:56 +0800
+
+spice-gtk (0.20-0nocelt3) unstable; urgency=low
+
+  * set spice-client-glib-usb-acl-helper replaces
+    libspice-client-glib-2.0-8 too (Closes: #718962)
+
+ -- Liang Guo <guoliang@debian.org>  Thu, 08 Aug 2013 00:18:19 +0800
+
+spice-gtk (0.20-0nocelt2) unstable; urgency=low
+
+  * set spice-client-glib-usb-acl-helper breaks 
+    libspice-client-glib-2.0-8 (<< 0.20-0nocelt1) (Closes: #718962)
+  * move libspice-client-glib-2.0-8.post* to
+    spice-client-glib-usb-acl-helper.post* (Closes: #718964,#718986)
+
+ -- Liang Guo <guoliang@debian.org>  Wed, 07 Aug 2013 22:04:28 +0800
+
+spice-gtk (0.20-0nocelt1) unstable; urgency=low
+
+  * New upstream release (Closes: 717718)
+  * Remove depends on libvala-0.16-dev (Closes: 709694)
+  * Bump Standards-Version to 3.9.4
+  * debian/control:
+    - Bump Standards-Version to 3.9.4 (no changes)
+    - Update VCS-* to use canonical URIs
+    - Remove conflicts on old ABI (Closes: 712587)
+  * Refresh libspice-client-glib-2.0-8.symbols
+  * debian/patches:
+    - make-celt-to-be-optional.patch, refresh
+    - add-spice_channel_string_to_type-to-map-files.patch, add 
+  * Split usb acl helper to separate package (Closes: 704525)
+
+ -- Liang Guo <guoliang@debian.org>  Sat, 03 Aug 2013 01:33:13 +0800
+
+spice-gtk (0.19-0nocelt3) unstable; urgency=low
+
+  * Switch from valac-0.18 to valac (>= 0.18) (Closes: #709036)
+
+ -- Liang Guo <guoliang@debian.org>  Sun, 26 May 2013 13:10:16 +0800
+
+spice-gtk (0.19-0nocelt2) unstable; urgency=low
+
+  * Upload to unstable
+  * Remove clearenv-in-usb-acl-helper.patch, applied upstream
+  * Switch from valac-0.16 to valac-0.18 (Closes: #707464)
+
+ -- Liang Guo <guoliang@debian.org>  Sun, 12 May 2013 18:54:51 +0800
+
+spice-gtk (0.19-0nocelt1exq) experimental; urgency=low
+
+  * New upstream release
+  * Rename spicy-snapshot to spicy-screenshot, upstream 
+    had rename snappy to spicy-screenshot
+  * Optimize debian/rules
+  * Set spice-client-gtk depends on the same version of
+    libspice-client-glib and libspice-client-gtk (Closes: #703413)
+  * Set spice-client-gtk depends on libusbredirhost1 (>= 0.6)
+  * Refresh libspice-client-glib-2.0-8.symbols
+
+ -- Liang Guo <guoliang@debian.org>  Thu, 11 Apr 2013 23:30:35 +0800
+
+spice-gtk (0.18-0nocelt1exp) experimental; urgency=low
+
+  * New upstream release (Closes: #700562)
+  * Refresh debian/patches/make-celt-to-be-optional.patch
+  * Refresh debian/libspice-client-glib-2.0-8.symbols
+
+ -- Liang Guo <guoliang@debian.org>  Sat, 02 Mar 2013 08:34:12 +0800
+
+spice-gtk (0.16-0nocelt1exp) experimental; urgency=low
+
+  * New upstream release
+  * Refresh debian/libspice-client-glib-2.0-8.symbols
+  * Refresh debian/patches/make-celt-to-be-optional.patch
+
+ -- Liang Guo <guoliang@debian.org>  Sat, 12 Jan 2013 20:17:31 +0800
+
+spice-gtk (0.14-1) experimental; urgency=low
+
+  * New upstream release
+  * debian/patches:
+    - Refresh make-celt-to-be-optional.patch
+  * Refresh debian/*.symbols
+  
+ -- Liang Guo <guoliang@debian.org>  Wed, 10 Oct 2012 12:44:10 +0800
+  
+spice-gtk (0.13-1) experimental; urgency=low
+
+  * New upstream release
+  * debian/patches:
+    - Remove fix-parsing-uri-query.patch, applied upstream
+    - Remove fix-spice-audio-binding.patch, applied upstream
+    - Refresh make-celt-to-be-optional.patch
+  * Bump SONAME and package name
+  * Refresh symbols
+
+ -- Liang Guo <guoliang@debian.org>  Tue, 04 Sep 2012 14:15:17 +0800
+
+spice-gtk (0.12-5) unstable; urgency=high
+
+  * Add patch clearenv-in-usb-acl-helper.patch (Closes: #689155)
+
+ -- Liang Guo <guoliang@debian.org>  Mon, 01 Oct 2012 21:30:21 +0800
+
+spice-gtk (0.12-4) unstable; urgency=low
+
+  * Correct version problem in *.pc (Closes: #680290)
+
+ -- Liang Guo <guoliang@debian.org>  Mon, 09 Jul 2012 00:36:14 +0800
+
+spice-gtk (0.12-3) unstable; urgency=low
+
+  * Add patch make-celt-to-be-optional.patch
+  * Disable celt
+
+ -- Liang Guo <guoliang@debian.org>  Fri, 29 Jun 2012 01:37:37 +0800
+
+spice-gtk (0.12-2) unstable; urgency=low
+
+  * Enable usb redirect (Closes: #677662)
+  * Switch to vala 0.16 (Closes: #675665)
+  * Enable multiarch for libspice-client-glib-2.0-1, 
+    libspice-client-gtk-2.0-1, libspice-client-gtk-3.0-1
+  * Build with hardening flags
+  * Use dpkg-statoverride to handle setuid bits
+
+ -- Liang Guo <guoliang@debian.org>  Fri, 25 May 2012 21:52:45 +0800
+
+spice-gtk (0.12-1) unstable; urgency=low
+
+  * New upstream release
+  * Update debian/copyright, file moved
+    - common -> spice-common/common
+    - spice-protocol -> spice-common/spice-protocol
+  * debian/patches:
+    - Refresh debian/patches/remove-libjpeg-turbo-warning.patch
+    - Add fix-parsing-uri-query.patch
+    - Add fix-spice-audio-binding.patch
+  * Refresh debian/libspice-client-glib-2.0-1.symbols, new function added
+
+ -- Liang Guo <bluestonechina@gmail.com>  Thu, 03 May 2012 09:45:49 +0800
+
+spice-gtk (0.11-1) unstable; urgency=low
+
+  * New upstream release (Closes: #667569)
+  * Update debian/copyright, new file added
+  * Bump Standards-Version to 3.9.3, no changes needed
+  * Refresh debian/libspice-client-glib-2.0-1.symbols
+  * Update debian/rules, build spice-gtk in a subdirectory
+  * Include missed .deps and .vapi files in libspice-client-gtk-2.0-dev
+  * Add libtext-csv-perl to Build-Depends
+
+ -- Liang Guo <bluestonechina@gmail.com>  Fri, 06 Apr 2012 21:22:13 +0800
+
+spice-gtk (0.9-1) unstable; urgency=low
+
+  [ Jeremy Bicha ]
+  * New upstream release.
+    - add USB redirection support, see Hans comments in the log and that
+      post for details: http://hansdegoede.livejournal.com/11084.html
+    - introduce SpiceGtkSession to deal with session-wide Gtk events, such
+      as clipboard, instead of doing it per display
+    - many cursor and keyboard handling improvements
+    - handle the new "semi-seamless" migration
+    - support new Spice mini-headers
+    - better coroutines: fibers on windows & jmp on linux
+    - add Vala vapi bindings generation
+    - Add command line options for setting the cache size and the glz
+      window size
+    - Add a USB device selection widget to libspice-client-gtk
+    - many bug fixes and code improvements
+  * Update symbols and bump libspice-client-glib-2.0 soname back to 1
+  * Enable vala bindings
+  * debian/control:
+    - Build-depend on libusb-1.0, libgudev, valac and libvala-dev
+    - Bump build-depends on spice-protocol to 0.10.1
+  * debian/rules: Disable usbredir support since the library isn't in
+    Debian yet
+  
+  [ Liang Guo ]
+  * debian/copyright:
+    - Add gtk/coroutine_winfibers.c
+    - Add gtk/spice-client-glib-usb-acl-helper.c
+    - Remove common/win/my_getopt-1.5/*, not in upstream any more
+  * debian/rules:
+    - Remove vapi/Makefile in clean target
+  * debian/control:
+    - Replace libspice-client-glib-2.0-4 with libspice-client-glib-2.0-1
+  
+ -- Liang Guo <bluestonechina@gmail.com>  Wed, 01 Feb 2012 14:38:05 +0800
+
+spice-gtk (0.7-3) unstable; urgency=low
+
+  * Enable introspection support
+  * Don't lock into particular python version (Closes: #639936)
+  * Add libpixman-1-dev, libspice-server-dev, libspice-protocol-dev
+    and libssl-dev to libspice-client-glib-2.0-dev Depends (Closes: #640138)
+  * Add libgtk2.0-dev and libspice-client-glib-2.0-dev to 
+    libspice-client-gtk-2.0-dev Depends
+  * Add libgtk-3-dev and libspice-client-glib-2.0-dev to 
+    libspice-client-gtk-3.0-dev Depends (Closes: #640136)
+  * Update debian/copyright fix some lintian warning
+  * Use dh_python2 to handle python module (Closes: #644090)
+  
+ -- Liang Guo <bluestonechina@gmail.com>  Fri, 07 Oct 2011 22:25:53 +0800
+  
+spice-gtk (0.7-2) unstable; urgency=low
+
+  * Rename snappy to spicy-snapshot (Closes: #637983)
+  * Remove spice-protocol.vapi from libspice-client-gtk-2.0-dev 
+    (Closes: #637982)
+  * Check only versions start with number, ignore spice-gtk-LATEST.tar.bz2
+
+ -- Liang Guo <bluestonechina@gmail.com>  Tue, 16 Aug 2011 18:24:32 +0800
+
+spice-gtk (0.7-1) unstable; urgency=low
+
+  * Initial release (Closes: #632866)
+
+ -- Liang Guo <bluestonechina@gmail.com>  Sun, 14 Aug 2011 15:36:28 +0800
diff --git a/compat b/compat
new file mode 100644 (file)
index 0000000..ec63514
--- /dev/null
+++ b/compat
@@ -0,0 +1 @@
+9
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..9b1bd46
--- /dev/null
+++ b/control
@@ -0,0 +1,153 @@
+Source: spice-gtk
+Section: misc
+Priority: optional
+Maintainer: Liang Guo <guoliang@debian.org>
+Build-Depends: 
+ debhelper (>= 9), 
+ libpixman-1-dev (>= 0.17.7),
+ libssl-dev,
+ libgtk-3-dev,
+ libglib2.0-dev (>= 2.36),
+ libgudev-1.0-dev,
+ libcairo2-dev (>= 1.2.0),
+ libpulse-dev,
+ libusb-1.0-0-dev,
+ valac (>= 0.18),
+ python-all,
+ python-six,
+ python-gtk2-dev (>= 2.0.0),
+ python-pyparsing,
+ intltool,
+ libsasl2-dev,
+ libjpeg-dev,
+ gobject-introspection,
+ libgirepository1.0-dev,
+ gir1.2-gtk-2.0,
+ libtext-csv-perl,
+ libusbredirhost-dev (>= 0.6),
+ libacl1-dev,
+ libpolkit-agent-1-dev,
+ libpolkit-gobject-1-dev,
+ dpkg-dev (>= 1.16.1~),
+ libdbus-glib-1-dev,
+ libopus-dev,
+ libsoup2.4-dev,
+ gtk-doc-tools (>= 1.14),
+ liblz4-dev,
+ libcacard-dev (>= 0.1.2),
+ libspice-protocol-dev (>= 0.12.12),
+ libphodav-2.0-dev, 
+ libgstreamer1.0-dev,
+ libgstreamer-plugins-base1.0-dev,
+ gstreamer1.0-tools,
+ gstreamer1.0-plugins-bad,
+ gstreamer1.0-plugins-base,
+ gstreamer1.0-plugins-good,
+ gstreamer1.0-libav,
+Standards-Version: 3.9.8
+X-Python-Version: >= 2.5
+Homepage: http://www.spice-space.org/
+Vcs-Git: https://anonscm.debian.org/git/collab-maint/spice-gtk.git
+Vcs-Browser: https://anonscm.debian.org/gitweb/?p=collab-maint/spice-gtk.git
+
+Package: spice-client-gtk
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, 
+ libspice-client-glib-2.0-8 (= ${binary:Version}), 
+ libspice-client-gtk-3.0-5 (= ${binary:Version}),
+ libusbredirhost1 (>= 0.6),
+ libusbredirparser1 (>= 0.6)
+Description: Simple clients for interacting with SPICE servers
+ Simple clients for interacting with SPICE servers. This package
+ includes:
+ .
+ spicy - GTK+ based SPICE client tool
+ spicy-screenshot - SPICE screen-shot capture tool
+ spicy-stats - SPICE connection details display tool
+
+Package: spice-client-glib-usb-acl-helper
+Architecture: any
+Multi-Arch: foreign
+Depends: ${shlibs:Depends}, ${misc:Depends},
+Replaces: libspice-client-glib-2.0-8 (<< 0.20-0nocelt1), libspice-client-glib-2.0-1
+Breaks: libspice-client-glib-2.0-8 (<< 0.20-0nocelt1), libspice-client-glib-2.0-1
+Description: Helper tool to validate usb ACLs
+ When passthrough USB devices to VMs, spice-client-glib-usb-acl-helper
+ is called to validate usb ACLs via policykit policy
+
+Package: libspice-client-glib-2.0-8
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}, spice-client-glib-usb-acl-helper, 
+ gstreamer1.0-plugins-bad, gstreamer1.0-plugins-base, gstreamer1.0-plugins-good,
+ gstreamer1.0-libav
+Description: GObject for communicating with Spice servers (runtime library)
+ libspice-glib4 provides glib objects for spice protocol 
+ decoding and surface rendering
+ .
+ This package provide the runtime library.
+
+Package: gir1.2-spice-client-glib-2.0
+Section: introspection
+Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, ${gir:Depends}
+Description: GObject for communicating with Spice servers (GObject-Introspection)
+ libspice-glib4 provides glib objects for spice protocol
+ decoding and surface rendering
+ .
+ This package contains the GObject-introspection data in binary typelib format.
+
+Package: libspice-client-glib-2.0-dev
+Section: libdevel
+Architecture: any
+Depends: libspice-client-glib-2.0-8 (= ${binary:Version}), 
+ gir1.2-spice-client-glib-2.0 (= ${binary:Version}), 
+ libpixman-1-dev (>= 0.17.7),
+ libspice-protocol-dev,
+ libssl-dev,
+ ${misc:Depends}
+Description: GObject for communicating with Spice servers (development files)
+ libspice-glib4 provides glib objects for spice protocol 
+ decoding and surface rendering
+ .
+ This package provide the development headers.
+
+Package: libspice-client-gtk-3.0-5
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: GTK3 widget for SPICE clients (runtime library)
+ libspice-gtk3 provides gtk3 widget to show spice display 
+ and accept user input.
+ .
+ This package provide the runtime library.
+
+Package: gir1.2-spice-client-gtk-3.0
+Section: introspection
+Architecture: any
+Depends: ${misc:Depends}, ${gir:Depends}
+Description: GTK3 widget for SPICE clients (GObject-Introspection)
+ libspice-gtk3 provides gtk3 widget to show spice display 
+ and accept user input.
+ .
+ This package contains the GObject-introspection data in binary typelib format.
+
+Package: libspice-client-gtk-3.0-dev
+Section: libdevel
+Architecture: any
+Depends: libspice-client-gtk-3.0-5 (= ${binary:Version}), 
+ gir1.2-spice-client-gtk-3.0 (= ${binary:Version}), 
+ libgtk-3-dev (>= 2.91.3),
+ libspice-client-glib-2.0-dev,
+ ${misc:Depends}
+Description: GTK3 widget for SPICE clients (development files)
+ libspice-gtk3 provides gtk3 widget to show spice display 
+ and accept user input.
+ .
+ This package provide the development headers.
+
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..9b030a0
--- /dev/null
+++ b/copyright
@@ -0,0 +1,221 @@
+Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=174
+Upstream-Name: spice-gtk
+Source: http://www.spice-space.org/
+
+Files: *
+Copyright: Copyright (C) 2009-2016 Red Hat, Inc.
+License: LGPL-2.1+
+
+Files: debian/*
+Copyright: Copyright (C) 2011-2016 Liang Guo <bluestonechina@gmail.com>
+License: LGPL-2.1+
+
+Files: spice-common/common/lz_compress_tmpl.c 
+       spice-common/common/lz.c 
+       spice-common/common/lz_decompress_tmpl.c
+Copyright: Copyright 2009 Red Hat, Inc. and/or its affiliates.
+           Copyright (C) 2005, 2006, 2007 Ariya Hidayat (ariya@kde.org)
+License: LGPL-2.1+ and MIT
+
+Files: spice-common/common/draw.h spice-common/common/messages.h 
+Copyright: Copyright (C) 2009, 2010 Red Hat, Inc.
+License: BSD-3-clause
+
+Files: spice-common/common/lz.h
+Copyright: Copyright 2009-2011 Red Hat, Inc. and/or its affiliates
+License: MIT
+Comment: No copyright holder in file header
+Files: src/spice-grabsequence.c
+Copyright: Copyright (C) 2010 Daniel P. Berrange <dan@berrange.com>
+License: LGPL-2.0+
+
+Files: src/gio-coroutine.c src/gio-coroutine.h
+Copyright: Copyright (C) 2010 Red Hat, Inc.
+           Copyright (C) 2006 Anthony Liguori <anthony@codemonkey.ws>
+           Copyright (C) 2009-2010 Daniel P. Berrange <dan@berrange.com>
+License: LGPL-2.0+
+
+Files: src/vncdisplaykeymap.c src/spice-grabsequence.h 
+       src/vncdisplaykeymap.h
+Copyright: Copyright (C) 2006, 2008  Anthony Liguori <anthony@codemonkey.ws>
+          Copyright (C) 2009-2010 Daniel P. Berrange <dan@berrange.com>
+License: LGPL-2.0+
+
+Files: src/continuation.c src/continuation.h src/coroutine_gthread.c
+       src/coroutine.h src/coroutine_ucontext.c  
+Copyright: Copyright (C) 2006  Anthony Liguori <anthony@codemonkey.ws>
+License: LGPL-2.0+
+
+Files: src/coroutine_winfibers.c
+Copyright: Copyright (C) 2011  Marc-André Lureau <marcandre.lureau@redhat.com>
+License: LGPL-2.0+
+
+Files: src/channel-display-gst.c
+Copyright: Copyright (C) 2015-2016 CodeWeavers, Inc
+License: LGPL-2.1+
+
+Files: src/spice-client-glib-usb-acl-helper.c
+Copyright: Copyright (C) 2011,2012 Red Hat, Inc.
+          Copyright (C) 2009 Kay Sievers <kay.sievers@vrfy.org>
+License: GPL-2.0+
+
+Files: tests/mock-acl-helper.c
+Copyright: Copyright (C) 2016 Red Hat, Inc.
+License: GPL-2.0+
+
+Files: spice-common/common/snd_codec.*
+Copyright: Copyright (C) 2013 Jeremy White <jwhite@codeweavers.com>
+License: LGPL-2.1+
+
+Files: src/wocky-http-proxy.c
+Copyright: Copyright (C) 2010 Collabora, Ltd.
+          Copyright (C) 2014 Red Hat, Inc.
+License: LGPL-2.1+
+
+Files: src/wocky-http-proxy.h
+Copyright: Copyright (C) 2010 Collabora, Ltd.
+License: LGPL-2.1+
+
+License: LGPL-2.1+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+ .
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ Lesser General Public License for more details.
+ .
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU Lesser General
+ Public License can be found in "/usr/share/common-licenses/LGPL-2.1".
+
+License: LGPL-2.0+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.0 of the License, or (at your option) any later version.
+ .
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ Lesser General Public License for more details.
+ .
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
+ .
+ On Debian systems, the complete text of the GNU Lesser General
+ Public License can be found in "/usr/share/common-licenses/LGPL-2".
+
+License: GPL-2.0+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 2 of the License,
+ or (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, see <http://www.gnu.org/licenses/>.
+ . 
+ On Debian systems, the complete text of the GNU General Public
+ License can be found in "/usr/share/common-licenses/GPL-2"
+
+License: MIT
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ \* Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+ \* Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+ \* Neither the name of the copyright holder nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Files: spice-common/common/lines.*
+Copyright: Copyright 1987, 1989, 1998  The Open Group
+           Copyright 1987, 1989 by Digital Equipment Corporation, Maynard, Massachusetts
+License: other
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation.
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+ OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ .
+ Except as contained in this notice, the name of The Open Group shall not be
+ used in advertising or otherwise to promote the sale, use or other dealings
+ in this Software without prior written authorization from The Open Group.
+ .
+ All Rights Reserved
+ .
+ Permission to use, copy, modify, and distribute this software and its
+ documentation for any purpose and without fee is hereby granted,
+ provided that the above copyright notice appear in all copies and that
+ both that copyright notice and this permission notice appear in
+ supporting documentation, and that the name of Digital not be
+ used in advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+ .
+ DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+ DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ SOFTWARE.
+
diff --git a/gir1.2-spice-client-glib-2.0.install b/gir1.2-spice-client-glib-2.0.install
new file mode 100644 (file)
index 0000000..f6fc13f
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/girepository-1.0/SpiceClientGLib-2.0.typelib usr/lib/girepository-1.0
diff --git a/gir1.2-spice-client-gtk-2.0.install b/gir1.2-spice-client-gtk-2.0.install
new file mode 100644 (file)
index 0000000..3f18558
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/girepository-1.0/SpiceClientGtk-2.0.typelib usr/lib/girepository-1.0
diff --git a/gir1.2-spice-client-gtk-3.0.install b/gir1.2-spice-client-gtk-3.0.install
new file mode 100644 (file)
index 0000000..2597696
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/girepository-1.0/SpiceClientGtk-3.0.typelib usr/lib/girepository-1.0
diff --git a/libspice-client-glib-2.0-8.install b/libspice-client-glib-2.0-8.install
new file mode 100644 (file)
index 0000000..b43e119
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/*/libspice-client-glib-2.0.so.*
+usr/lib/*/libspice-controller.so.*
diff --git a/libspice-client-glib-2.0-8.symbols b/libspice-client-glib-2.0-8.symbols
new file mode 100644 (file)
index 0000000..aa25664
--- /dev/null
@@ -0,0 +1,197 @@
+libspice-client-glib-2.0.so.8 libspice-client-glib-2.0-8 #MINVER#
+ SPICEGTK_1@SPICEGTK_1 0.13
+ spice_audio_get@SPICEGTK_1 0.13
+ spice_audio_get_type@SPICEGTK_1 0.13
+ spice_audio_new@SPICEGTK_1 0.13
+ spice_channel_connect@SPICEGTK_1 0.13
+ spice_channel_destroy@SPICEGTK_1 0.13
+ spice_channel_disconnect@SPICEGTK_1 0.13
+ spice_channel_event_get_type@SPICEGTK_1 0.13
+ spice_channel_flush_async@SPICEGTK_1 0.16
+ spice_channel_flush_finish@SPICEGTK_1 0.16
+ spice_channel_get_error@SPICEGTK_1 0.25
+ spice_channel_get_type@SPICEGTK_1 0.13
+ spice_channel_new@SPICEGTK_1 0.13
+ spice_channel_open_fd@SPICEGTK_1 0.13
+ spice_channel_set_capability@SPICEGTK_1 0.13
+ spice_channel_string_to_type@SPICEGTK_1 0.20
+ spice_channel_test_capability@SPICEGTK_1 0.13
+ spice_channel_test_common_capability@SPICEGTK_1 0.13
+ spice_channel_type_to_string@SPICEGTK_1 0.13
+ spice_client_error_quark@SPICEGTK_1 0.13
+ spice_cursor_channel_get_type@SPICEGTK_1 0.13
+ spice_display_change_preferred_compression@SPICEGTK_1 0.32
+ spice_display_channel_get_type@SPICEGTK_1 0.13
+ spice_display_get_gl_scanout@SPICEGTK_1 0.32
+ spice_display_get_primary@SPICEGTK_1 0.13
+ spice_display_gl_draw_done@SPICEGTK_1 0.32
+ spice_file_transfer_task_cancel@SPICEGTK_1 0.32
+ spice_file_transfer_task_get_filename@SPICEGTK_1 0.32
+ spice_file_transfer_task_get_progress@SPICEGTK_1 0.32
+ spice_file_transfer_task_get_total_bytes@SPICEGTK_1 0.33
+ spice_file_transfer_task_get_transferred_bytes@SPICEGTK_1 0.33
+ spice_file_transfer_task_get_type@SPICEGTK_1 0.32
+ spice_g_signal_connect_object@SPICEGTK_1 0.13
+ spice_get_option_group@SPICEGTK_1 0.13
+ spice_gl_scanout_free@SPICEGTK_1 0.32
+ spice_gl_scanout_get_type@SPICEGTK_1 0.32
+ spice_inputs_button_press@SPICEGTK_1 0.13
+ spice_inputs_button_release@SPICEGTK_1 0.13
+ spice_inputs_channel_get_type@SPICEGTK_1 0.13
+ spice_inputs_key_press@SPICEGTK_1 0.13
+ spice_inputs_key_press_and_release@SPICEGTK_1 0.14
+ spice_inputs_key_release@SPICEGTK_1 0.13
+ spice_inputs_lock_get_type@SPICEGTK_1 0.13
+ spice_inputs_motion@SPICEGTK_1 0.13
+ spice_inputs_position@SPICEGTK_1 0.13
+ spice_inputs_set_key_locks@SPICEGTK_1 0.13
+ spice_main_agent_test_capability@SPICEGTK_1 0.13
+ spice_main_channel_get_type@SPICEGTK_1 0.13
+ spice_main_clipboard_grab@SPICEGTK_1 0.13
+ spice_main_clipboard_notify@SPICEGTK_1 0.13
+ spice_main_clipboard_release@SPICEGTK_1 0.13
+ spice_main_clipboard_request@SPICEGTK_1 0.13
+ spice_main_clipboard_selection_grab@SPICEGTK_1 0.13
+ spice_main_clipboard_selection_notify@SPICEGTK_1 0.13
+ spice_main_clipboard_selection_release@SPICEGTK_1 0.13
+ spice_main_clipboard_selection_request@SPICEGTK_1 0.13
+ spice_main_file_copy_async@SPICEGTK_1 0.18
+ spice_main_file_copy_finish@SPICEGTK_1 0.18
+ spice_main_request_mouse_mode@SPICEGTK_1 0.32
+ spice_main_send_monitor_config@SPICEGTK_1 0.13
+ spice_main_set_display@SPICEGTK_1 0.13
+ spice_main_set_display_enabled@SPICEGTK_1 0.13
+ spice_main_update_display@SPICEGTK_1 0.19
+ spice_main_update_display_enabled@SPICEGTK_1 0.30
+ spice_playback_channel_get_type@SPICEGTK_1 0.13
+ spice_playback_channel_set_delay@SPICEGTK_1 0.13
+ spice_port_channel_get_type@SPICEGTK_1 0.16
+ spice_port_event@SPICEGTK_1 0.16
+ spice_port_write_async@SPICEGTK_1 0.16
+ spice_port_write_finish@SPICEGTK_1 0.16
+ spice_record_channel_get_type@SPICEGTK_1 0.13
+ spice_record_send_data@SPICEGTK_1 0.13
+ spice_session_connect@SPICEGTK_1 0.13
+ spice_session_disconnect@SPICEGTK_1 0.13
+ spice_session_get_channels@SPICEGTK_1 0.13
+ spice_session_get_proxy_uri@SPICEGTK_1 0.25
+ spice_session_get_read_only@SPICEGTK_1 0.13
+ spice_session_get_type@SPICEGTK_1 0.13
+ spice_session_has_channel_type@SPICEGTK_1 0.13
+ spice_session_is_for_migration@SPICEGTK_1 0.28
+ spice_session_migration_get_type@SPICEGTK_1 0.13
+ spice_session_new@SPICEGTK_1 0.13
+ spice_session_open_fd@SPICEGTK_1 0.13
+ spice_session_verify_get_type@SPICEGTK_1 0.13
+ spice_set_session_option@SPICEGTK_1 0.13
+ spice_smartcard_channel_get_type@SPICEGTK_1 0.13
+ spice_smartcard_manager_get@SPICEGTK_1 0.13
+ spice_smartcard_manager_get_readers@SPICEGTK_1 0.20
+ spice_smartcard_manager_get_type@SPICEGTK_1 0.13
+ spice_smartcard_manager_insert_card@SPICEGTK_1 0.13
+ spice_smartcard_manager_remove_card@SPICEGTK_1 0.13
+ spice_smartcard_reader_get_type@SPICEGTK_1 0.13
+ spice_smartcard_reader_insert_card@SPICEGTK_1 0.20
+ spice_smartcard_reader_is_software@SPICEGTK_1 0.13
+ spice_smartcard_reader_remove_card@SPICEGTK_1 0.20
+ spice_uri_get_hostname@SPICEGTK_1 0.25
+ spice_uri_get_password@SPICEGTK_1 0.25
+ spice_uri_get_port@SPICEGTK_1 0.25
+ spice_uri_get_scheme@SPICEGTK_1 0.25
+ spice_uri_get_type@SPICEGTK_1 0.25
+ spice_uri_get_user@SPICEGTK_1 0.25
+ spice_uri_set_hostname@SPICEGTK_1 0.25
+ spice_uri_set_password@SPICEGTK_1 0.25
+ spice_uri_set_port@SPICEGTK_1 0.25
+ spice_uri_set_scheme@SPICEGTK_1 0.25
+ spice_uri_set_user@SPICEGTK_1 0.25
+ spice_uri_to_string@SPICEGTK_1 0.25
+ spice_usb_device_get_description@SPICEGTK_1 0.13
+ spice_usb_device_get_libusb_device@SPICEGTK_1 0.28
+ spice_usb_device_get_type@SPICEGTK_1 0.13
+ spice_usb_device_manager_can_redirect_device@SPICEGTK_1 0.13
+ spice_usb_device_manager_connect_device_async@SPICEGTK_1 0.13
+ spice_usb_device_manager_connect_device_finish@SPICEGTK_1 0.13
+ spice_usb_device_manager_disconnect_device@SPICEGTK_1 0.13
+ spice_usb_device_manager_disconnect_device_async@SPICEGTK_1 0.32
+ spice_usb_device_manager_disconnect_device_finish@SPICEGTK_1 0.32
+ spice_usb_device_manager_get@SPICEGTK_1 0.13
+ spice_usb_device_manager_get_devices@SPICEGTK_1 0.13
+ spice_usb_device_manager_get_devices_with_filter@SPICEGTK_1 0.20
+ spice_usb_device_manager_get_type@SPICEGTK_1 0.13
+ spice_usb_device_manager_is_device_connected@SPICEGTK_1 0.13
+ spice_usb_device_manager_is_redirecting@SPICEGTK_1 0.32
+ spice_usbredir_channel_get_type@SPICEGTK_1 0.13
+ spice_util_get_debug@SPICEGTK_1 0.13
+ spice_util_get_version_string@SPICEGTK_1 0.13
+ spice_util_set_debug@SPICEGTK_1 0.13
+ spice_uuid_to_string@SPICEGTK_1 0.22
+ spice_webdav_channel_get_type@SPICEGTK_1 0.25
+libspice-controller.so.0 libspice-client-glib-2.0-8 #MINVER#
+ spice_controller_listener_accept_async@Base 0.9
+ spice_controller_listener_accept_finish@Base 0.9
+ spice_controller_listener_error_quark@Base 0.9
+ spice_controller_listener_new@Base 0.9
+ spice_ctrl_controller_construct@Base 0.7
+ spice_ctrl_controller_get_ca_file@Base 0.7
+ spice_ctrl_controller_get_color_depth@Base 0.12
+ spice_ctrl_controller_get_disable_channels@Base 0.7
+ spice_ctrl_controller_get_disable_effects@Base 0.12
+ spice_ctrl_controller_get_display_flags@Base 0.7
+ spice_ctrl_controller_get_enable_smartcard@Base 0.11
+ spice_ctrl_controller_get_enable_usb_autoshare@Base 0.12
+ spice_ctrl_controller_get_enable_usbredir@Base 0.12
+ spice_ctrl_controller_get_host@Base 0.7
+ spice_ctrl_controller_get_host_subject@Base 0.7
+ spice_ctrl_controller_get_hotkeys@Base 0.7
+ spice_ctrl_controller_get_menu@Base 0.7
+ spice_ctrl_controller_get_password@Base 0.7
+ spice_ctrl_controller_get_port@Base 0.7
+ spice_ctrl_controller_get_proxy@Base 0.18
+ spice_ctrl_controller_get_secure_channels@Base 0.7
+ spice_ctrl_controller_get_send_cad@Base 0.12
+ spice_ctrl_controller_get_sport@Base 0.7
+ spice_ctrl_controller_get_title@Base 0.7
+ spice_ctrl_controller_get_tls_ciphers@Base 0.7
+ spice_ctrl_controller_get_type@Base 0.7
+ spice_ctrl_controller_get_usb_filter@Base 0.12
+ spice_ctrl_controller_listen@Base 0.7
+ spice_ctrl_controller_listen_finish@Base 0.7
+ spice_ctrl_controller_menu_item_click_msg@Base 0.7
+ spice_ctrl_controller_new@Base 0.7
+ spice_ctrl_controller_send_msg@Base 0.7
+ spice_ctrl_controller_send_msg_finish@Base 0.7
+ spice_ctrl_error_quark@Base 0.7
+ spice_ctrl_foreign_menu_app_activated_msg@Base 0.11
+ spice_ctrl_foreign_menu_construct@Base 0.11
+ spice_ctrl_foreign_menu_get_menu@Base 0.11
+ spice_ctrl_foreign_menu_get_title@Base 0.11
+ spice_ctrl_foreign_menu_get_type@Base 0.11
+ spice_ctrl_foreign_menu_listen@Base 0.11
+ spice_ctrl_foreign_menu_listen_finish@Base 0.11
+ spice_ctrl_foreign_menu_menu_item_checked_msg@Base 0.11
+ spice_ctrl_foreign_menu_menu_item_click_msg@Base 0.11
+ spice_ctrl_foreign_menu_new@Base 0.11
+ spice_ctrl_foreign_menu_send_msg@Base 0.11
+ spice_ctrl_foreign_menu_send_msg_finish@Base 0.11
+ spice_ctrl_input_stream_read@Base 0.13
+ spice_ctrl_input_stream_read_finish@Base 0.13
+ spice_ctrl_menu_construct@Base 0.7
+ spice_ctrl_menu_construct_from_string@Base 0.7
+ spice_ctrl_menu_find_id@Base 0.7
+ spice_ctrl_menu_get_type@Base 0.7
+ spice_ctrl_menu_item_construct@Base 0.7
+ spice_ctrl_menu_item_construct_from_string@Base 0.7
+ spice_ctrl_menu_item_get_type@Base 0.7
+ spice_ctrl_menu_item_new@Base 0.7
+ spice_ctrl_menu_item_new_from_string@Base 0.7
+ spice_ctrl_menu_item_to_string@Base 0.7
+ spice_ctrl_menu_new@Base 0.7
+ spice_ctrl_menu_new_from_string@Base 0.7
+ spice_ctrl_menu_to_string@Base 0.7
+ spice_ctrl_output_stream_write@Base 0.13
+ spice_ctrl_output_stream_write_finish@Base 0.13
+ spice_foreign_menu_listener_accept_async@Base 0.11
+ spice_foreign_menu_listener_accept_finish@Base 0.11
+ spice_foreign_menu_listener_error_quark@Base 0.11
+ spice_foreign_menu_listener_new@Base 0.11
diff --git a/libspice-client-glib-2.0-dev.install b/libspice-client-glib-2.0-dev.install
new file mode 100644 (file)
index 0000000..dc81ff3
--- /dev/null
@@ -0,0 +1,11 @@
+usr/lib/*/libspice-client-glib-2.0.so
+usr/lib/*/libspice-controller.so
+usr/lib/*/pkgconfig/spice-controller.pc
+usr/lib/*/pkgconfig/spice-client-glib-2.0.pc
+usr/include/spice-client-glib-2.0
+usr/include/spice-controller
+usr/share/vala/vapi/spice-protocol.vapi
+usr/share/vala/vapi/spice-client-glib-2.0.deps
+usr/share/vala/vapi/spice-client-glib-2.0.vapi
+usr/share/gir-1.0/SpiceClientGLib-2.0.gir
+usr/share/gtk-doc
diff --git a/libspice-client-gtk-3.0-5.install b/libspice-client-gtk-3.0-5.install
new file mode 100644 (file)
index 0000000..bd544f1
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libspice-client-gtk-3.0.so.*
diff --git a/libspice-client-gtk-3.0-5.symbols b/libspice-client-gtk-3.0-5.symbols
new file mode 100644 (file)
index 0000000..a719c61
--- /dev/null
@@ -0,0 +1,28 @@
+libspice-client-gtk-3.0.so.5 libspice-client-gtk-3.0-5 #MINVER#
+ SPICEGTK_1@SPICEGTK_1 0.32
+ spice_display_get_grab_keys@SPICEGTK_1 0.32
+ spice_display_get_pixbuf@SPICEGTK_1 0.32
+ spice_display_get_type@SPICEGTK_1 0.32
+ spice_display_key_event_get_type@SPICEGTK_1 0.32
+ spice_display_mouse_ungrab@SPICEGTK_1 0.32
+ spice_display_new@SPICEGTK_1 0.32
+ spice_display_new_with_monitor@SPICEGTK_1 0.32
+ spice_display_send_keys@SPICEGTK_1 0.32
+ spice_display_set_grab_keys@SPICEGTK_1 0.32
+ spice_g_signal_connect_object@SPICEGTK_1 0.32
+ spice_grab_sequence_as_string@SPICEGTK_1 0.32
+ spice_grab_sequence_copy@SPICEGTK_1 0.32
+ spice_grab_sequence_free@SPICEGTK_1 0.32
+ spice_grab_sequence_get_type@SPICEGTK_1 0.32
+ spice_grab_sequence_new@SPICEGTK_1 0.32
+ spice_grab_sequence_new_from_string@SPICEGTK_1 0.32
+ spice_gtk_session_copy_to_guest@SPICEGTK_1 0.32
+ spice_gtk_session_get@SPICEGTK_1 0.32
+ spice_gtk_session_get_type@SPICEGTK_1 0.32
+ spice_gtk_session_paste_from_guest@SPICEGTK_1 0.32
+ spice_usb_device_widget_get_type@SPICEGTK_1 0.32
+ spice_usb_device_widget_new@SPICEGTK_1 0.32
+ spice_util_get_debug@SPICEGTK_1 0.32
+ spice_util_get_version_string@SPICEGTK_1 0.32
+ spice_util_set_debug@SPICEGTK_1 0.32
+ spice_uuid_to_string@SPICEGTK_1 0.32
diff --git a/libspice-client-gtk-3.0-dev.install b/libspice-client-gtk-3.0-dev.install
new file mode 100644 (file)
index 0000000..e916584
--- /dev/null
@@ -0,0 +1,6 @@
+usr/include/spice-client-gtk-3.0/*
+usr/lib/*/libspice-client-gtk-3.0.so
+usr/lib/*/pkgconfig/spice-client-gtk-3.0.pc
+usr/share/gir-1.0/SpiceClientGtk-3.0.gir
+usr/share/vala/vapi/spice-client-gtk-3.0.deps
+usr/share/vala/vapi/spice-client-gtk-3.0.vapi
diff --git a/patches/Fix-flexible-array-buffer-overflow.patch b/patches/Fix-flexible-array-buffer-overflow.patch
new file mode 100644 (file)
index 0000000..4522186
--- /dev/null
@@ -0,0 +1,68 @@
+From: Frediano Ziglio <fziglio@redhat.com>
+Date: Fri, 18 May 2018 11:41:57 +0100
+Subject: Fix flexible array buffer overflow
+Origin: https://gitlab.freedesktop.org/spice/spice-common/commit/bb15d4815ab586b4c4a20f4a565970a44824c42c
+Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2018-10873
+Bug-Debian: https://bugs.debian.org/906316
+
+This is kind of a DoS, possibly flexible array in the protocol
+causes the network size check to be ignored due to integer overflows.
+
+The size of flexible array is computed as (message_end - position),
+then this size is added to the number of bytes before the array and
+this number is used to check if we overflow initial message.
+
+An example is:
+
+    message {
+        uint32 dummy[2];
+        uint8 data[] @end;
+    } LenMessage;
+
+which generated this (simplified remove useless code) code:
+
+    { /* data */
+        data__nelements = message_end - (start + 8);
+
+        data__nw_size = data__nelements;
+    }
+
+    nw_size = 8 + data__nw_size;
+
+    /* Check if message fits in reported side */
+    if (nw_size > (uintptr_t) (message_end - start)) {
+        return NULL;
+    }
+
+Following code:
+- data__nelements == message_end - (start + 8)
+- data__nw_size == data__nelements == message_end - (start + 8)
+- nw_size == 8 + data__nw_size == 8 + message_end - (start + 8) ==
+  8 + message_end - start - 8 == message_end -start
+- the check for overflow is (nw_size > (message_end - start)) but
+  nw_size == message_end - start so the check is doing
+  ((message_end - start) > (message_end - start)) which is always false.
+
+If message_end - start < 8 then data__nelements (number of element
+on the array above) computation generate an integer underflow that
+later create a buffer overflow.
+
+Add a check to make sure that the array starts before the message ends
+to avoid the overflow.
+
+Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
+Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
+[Salvatore Bonaccorso: Drop generated diff from commit messages causing
+ problem when applying with quilt. Remove addition to testsuite]
+---
+
+--- a/spice-common/python_modules/demarshal.py
++++ b/spice-common/python_modules/demarshal.py
+@@ -318,6 +318,7 @@ def write_validate_array_item(writer, co
+         writer.assign(nelements, array.size)
+     elif array.is_remaining_length():
+         if element_type.is_fixed_nw_size():
++            writer.error_check("%s > message_end" % item.get_position())
+             if element_type.get_fixed_nw_size() == 1:
+                 writer.assign(nelements, "message_end - %s" % item.get_position())
+             else:
diff --git a/patches/debian_843471-clipboard_Fix_crash_by_handling_error.patch b/patches/debian_843471-clipboard_Fix_crash_by_handling_error.patch
new file mode 100644 (file)
index 0000000..2163e46
--- /dev/null
@@ -0,0 +1,40 @@
+commit 03c016bea939ee4a26e90d80fa1012a993a8ea47
+Author: Victor Toso <me@victortoso.com>
+Origin: upstream, https://cgit.freedesktop.org/spice/spice-gtk/commit/?id=03c016bea939ee4a26e90d80fa1012a993a8ea47
+Bug-Debian: https://bugs.debian.org/843471
+Date:   Fri Oct 14 18:12:01 2016 +0200
+
+    clipboard: Fix crash by handling error
+    
+    As manual states below, text could be NULL for different reasons and
+    we should handle that. I've included a debug message to help
+    identifying possible regressions from wayland's clipboard.
+    
+    This crash is a regression from 7b0de6217670e0f668aff2949f
+    
+     "The text parameter to callback will contain the resulting text if
+     the request succeeded, or NULL if it failed. This could happen for
+     various reasons, in particular if the clipboard was empty or if the
+     contents of the clipboard could not be converted into text form."
+    
+    Resolves: rhbz#1384676
+    
+    Signed-off-by: Victor Toso <victortoso@redhat.com>
+    Acked-by: Pavel Grunt <pgrunt@redhat.com>
+
+diff --git a/src/spice-gtk-session.c b/src/spice-gtk-session.c
+index 3ff4e9a..3e0ec74 100644
+--- a/src/spice-gtk-session.c
++++ b/src/spice-gtk-session.c
+@@ -945,6 +945,11 @@ static void clipboard_received_text_cb(GtkClipboard *clipboard,
+     if (self == NULL)
+         return;
++    if (text == NULL) {
++        SPICE_DEBUG("Failed to retrieve clipboard text");
++        return;
++    }
++
+     g_return_if_fail(SPICE_IS_GTK_SESSION(self));
+     selection = get_selection_from_clipboard(self->priv, clipboard);
diff --git a/patches/explicitly-enable-subdir-objects.patch b/patches/explicitly-enable-subdir-objects.patch
new file mode 100644 (file)
index 0000000..340e33d
--- /dev/null
@@ -0,0 +1,50 @@
+When subdir source is included but subdir-objects is not 
+enabled, automake will throw a warning which will be considered
+error by debian build system
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,5 +1,6 @@
+ ACLOCAL_AMFLAGS = -I m4
+ NULL =
++AUTOMAKE_OPTIONS = subdir-objects
+ SUBDIRS = spice-common src man po doc data
+--- a/spice-common/Makefile.am
++++ b/spice-common/Makefile.am
+@@ -1,5 +1,6 @@
+ NULL =
+ ACLOCAL_AMFLAGS = -I m4
++AUTOMAKE_OPTIONS = subdir-objects
+ SUBDIRS = python_modules common tests
+--- a/spice-common/common/Makefile.am
++++ b/spice-common/common/Makefile.am
+@@ -1,5 +1,7 @@
+ NULL =
++AUTOMAKE_OPTIONS = subdir-objects
++
+ # Avoid need for python(pyparsing) by end users
+ CLIENT_MARSHALLERS =                          \
+       generated_client_demarshallers.c        \
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -1,5 +1,6 @@
+ NULL =
+ SUBDIRS =
++AUTOMAKE_OPTIONS = subdir-objects
+ if WITH_CONTROLLER
+ SUBDIRS += controller
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -17,6 +17,7 @@
+ noinst_PROGRAMS += test-mock-acl-helper
+ endif
++AUTOMAKE_OPTIONS = subdir-objects
+ noinst_PROGRAMS += $(TESTS)
+ AM_CPPFLAGS =                                 \
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..00c071f
--- /dev/null
@@ -0,0 +1,6 @@
+explicitly-enable-subdir-objects.patch
+debian_843471-clipboard_Fix_crash_by_handling_error.patch
+ssl-Stop-creating-our-own-X509_LOOKUP_METHOD.patch
+ssl-Rework-our-custom-BIO-type.patch
+ssl-Use-accessors-rather-than-direct-struct-access.patch
+Fix-flexible-array-buffer-overflow.patch
diff --git a/patches/ssl-Rework-our-custom-BIO-type.patch b/patches/ssl-Rework-our-custom-BIO-type.patch
new file mode 100644 (file)
index 0000000..ea2f871
--- /dev/null
@@ -0,0 +1,121 @@
+From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+Date: Wed, 26 Oct 2016 17:31:27 +0200
+Origin: upstream, https://cgit.freedesktop.org/spice/spice-gtk/commit/?id=498f5369203d73026e9fb3929fd19a358d76a152
+Bug-Debian: https://bugs.debian.org/851127
+Subject: ssl: Rework our custom BIO type
+
+This commit changes to an actual new BIO method rather than reusing an
+existing BIO method, and overriding only the fields that we need.
+The approach before this commit would be causing issues with OpenSSL
+1.1.0 as some of the fields we access have become opaque.
+---
+ src/bio-gio.c | 57 ++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 28 insertions(+), 29 deletions(-)
+
+diff --git a/src/bio-gio.c b/src/bio-gio.c
+index b310c97..0f8b415 100644
+--- a/src/bio-gio.c
++++ b/src/bio-gio.c
+@@ -23,21 +23,22 @@
+ #include "spice-util.h"
+ #include "bio-gio.h"
+-typedef struct bio_gsocket_method {
+-    BIO_METHOD method;
+-    GIOStream *stream;
+-} bio_gsocket_method;
+-
+-#define BIO_GET_GSOCKET(bio)  (((bio_gsocket_method*)bio->method)->gsocket)
+-#define BIO_GET_ISTREAM(bio)  (g_io_stream_get_input_stream(((bio_gsocket_method*)bio->method)->stream))
+-#define BIO_GET_OSTREAM(bio)  (g_io_stream_get_output_stream(((bio_gsocket_method*)bio->method)->stream))
++static long bio_gio_ctrl(G_GNUC_UNUSED BIO *b,
++                         int cmd,
++                         G_GNUC_UNUSED long num,
++                         G_GNUC_UNUSED void *ptr)
++{
++    return (cmd == BIO_CTRL_FLUSH);
++}
+ static int bio_gio_write(BIO *bio, const char *in, int inl)
+ {
++    GOutputStream *stream;
+     gssize ret;
+     GError *error = NULL;
+-    ret = g_pollable_output_stream_write_nonblocking(G_POLLABLE_OUTPUT_STREAM(BIO_GET_OSTREAM(bio)),
++    stream = g_io_stream_get_output_stream(bio->ptr);
++    ret = g_pollable_output_stream_write_nonblocking(G_POLLABLE_OUTPUT_STREAM(stream),
+                                                      in, inl, NULL, &error);
+     BIO_clear_retry_flags(bio);
+@@ -53,10 +54,12 @@ static int bio_gio_write(BIO *bio, const char *in, int inl)
+ static int bio_gio_read(BIO *bio, char *out, int outl)
+ {
++    GInputStream *stream;
+     gssize ret;
+     GError *error = NULL;
+-    ret = g_pollable_input_stream_read_nonblocking(G_POLLABLE_INPUT_STREAM(BIO_GET_ISTREAM(bio)),
++    stream = g_io_stream_get_input_stream(bio->ptr);
++    ret = g_pollable_input_stream_read_nonblocking(G_POLLABLE_INPUT_STREAM(stream),
+                                                    out, outl, NULL, &error);
+     BIO_clear_retry_flags(bio);
+@@ -70,17 +73,6 @@ static int bio_gio_read(BIO *bio, char *out, int outl)
+     return ret;
+ }
+-static int bio_gio_destroy(BIO *bio)
+-{
+-    if (bio == NULL || bio->method == NULL)
+-        return 0;
+-
+-    SPICE_DEBUG("bio gsocket destroy");
+-    g_clear_pointer(&bio->method, g_free);
+-
+-    return 1;
+-}
+-
+ static int bio_gio_puts(BIO *bio, const char *str)
+ {
+     int n, ret;
+@@ -91,23 +83,30 @@ static int bio_gio_puts(BIO *bio, const char *str)
+     return ret;
+ }
++#define BIO_TYPE_START 128
++
+ G_GNUC_INTERNAL
+ BIO* bio_new_giostream(GIOStream *stream)
+ {
+-    // TODO: make an actual new BIO type, or just switch to GTls already...
+-    BIO *bio = BIO_new_socket(-1, BIO_NOCLOSE);
++    BIO *bio;
++    static BIO_METHOD bio_gio_method;
+-    bio_gsocket_method *bio_method = g_new(bio_gsocket_method, 1);
+-    bio_method->method = *bio->method;
+-    bio_method->stream = stream;
++    if (bio_gio_method.name == NULL) {
++        bio_gio_method.type = BIO_TYPE_START | BIO_TYPE_SOURCE_SINK;
++        bio_gio_method.name = "gio stream";
++    }
+-    bio->method->destroy(bio);
+-    bio->method = (BIO_METHOD*)bio_method;
++    bio = BIO_new(&bio_gio_method);
++    if (!bio)
++        return NULL;
+     bio->method->bwrite = bio_gio_write;
+     bio->method->bread = bio_gio_read;
+     bio->method->bputs = bio_gio_puts;
+-    bio->method->destroy = bio_gio_destroy;
++    bio->method->ctrl = bio_gio_ctrl;
++
++    bio->init = 1;
++    bio->ptr = stream;
+     return bio;
+ }
diff --git a/patches/ssl-Stop-creating-our-own-X509_LOOKUP_METHOD.patch b/patches/ssl-Stop-creating-our-own-X509_LOOKUP_METHOD.patch
new file mode 100644 (file)
index 0000000..534506e
--- /dev/null
@@ -0,0 +1,71 @@
+From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+Date: Wed, 26 Oct 2016 12:55:03 +0200
+Origin: upstream, https://cgit.freedesktop.org/spice/spice-gtk/commit/?id=3ec02a76ea5e0bea4aa3d3cc81846a9063c26d7a
+Bug-Debian: https://bugs.debian.org/851127
+Subject: ssl: Stop creating our own X509_LOOKUP_METHOD
+
+OpenSSL 1.1.0 does not seem to provide API to do that anymore.
+
+There is no need to create a custom lookup to begin with. This method
+here has no callbacks implemented and is doing nothing. The way I
+understand it, it is used to retrieve a `lookup' object which provides a
+certificate store.  The SSL ctx provides also such a store.
+
+Acked-by: Christophe Fergeau <cfergeau@redhat.com>
+Acked-by: Pavel Grunt <pgrunt@redhat.com>
+---
+ src/spice-channel.c | 13 ++++---------
+ 1 file changed, 4 insertions(+), 9 deletions(-)
+
+diff --git a/src/spice-channel.c b/src/spice-channel.c
+index 95662f3..6a911a6 100644
+--- a/src/spice-channel.c
++++ b/src/spice-channel.c
+@@ -2352,17 +2352,12 @@ static gboolean spice_channel_delayed_unref(gpointer data)
+     return FALSE;
+ }
+-static X509_LOOKUP_METHOD spice_x509_mem_lookup = {
+-    "spice_x509_mem_lookup",
+-    0
+-};
+-
+ static int spice_channel_load_ca(SpiceChannel *channel)
+ {
+     SpiceChannelPrivate *c = channel->priv;
+     STACK_OF(X509_INFO) *inf;
+     X509_INFO *itmp;
+-    X509_LOOKUP *lookup;
++    X509_STORE *store;
+     BIO *in;
+     int i, count = 0;
+     guint8 *ca;
+@@ -2372,13 +2367,13 @@ static int spice_channel_load_ca(SpiceChannel *channel)
+     g_return_val_if_fail(c->ctx != NULL, 0);
+-    lookup = X509_STORE_add_lookup(c->ctx->cert_store, &spice_x509_mem_lookup);
+     ca_file = spice_session_get_ca_file(c->session);
+     spice_session_get_ca(c->session, &ca, &size);
+     CHANNEL_DEBUG(channel, "Load CA, file: %s, data: %p", ca_file, ca);
+     if (ca != NULL) {
++        store = SSL_CTX_get_cert_store(c->ctx);
+         in = BIO_new_mem_buf(ca, size);
+         inf = PEM_X509_INFO_read_bio(in, NULL, NULL, NULL);
+         BIO_free(in);
+@@ -2386,11 +2381,11 @@ static int spice_channel_load_ca(SpiceChannel *channel)
+         for (i = 0; i < sk_X509_INFO_num(inf); i++) {
+             itmp = sk_X509_INFO_value(inf, i);
+             if (itmp->x509) {
+-                X509_STORE_add_cert(lookup->store_ctx, itmp->x509);
++                X509_STORE_add_cert(store, itmp->x509);
+                 count++;
+             }
+             if (itmp->crl) {
+-                X509_STORE_add_crl(lookup->store_ctx, itmp->crl);
++                X509_STORE_add_crl(store, itmp->crl);
+                 count++;
+             }
+         }
diff --git a/patches/ssl-Use-accessors-rather-than-direct-struct-access.patch b/patches/ssl-Use-accessors-rather-than-direct-struct-access.patch
new file mode 100644 (file)
index 0000000..40d67ac
--- /dev/null
@@ -0,0 +1,193 @@
+From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+Date: Wed, 30 Nov 2016 16:34:59 +0100
+Origin: upstream, https://cgit.freedesktop.org/spice/spice-gtk/commit/?id=97bd84313597d7c37c637c29e75f8862fcab1940
+Bug-Debian: https://bugs.debian.org/851127
+Subject: ssl: Use accessors rather than direct struct access
+
+In OpenSSL 1.1.0, the struct fields are private so we can no longer
+directly access them.
+
+The accessors are not available in previous OpenSSL releases, so we need
+to add compat helpers.
+---
+ src/bio-gio.c       | 106 ++++++++++++++++++++++++++++++++++++++++++++--------
+ src/spice-channel.c |  11 +++++-
+ 2 files changed, 100 insertions(+), 17 deletions(-)
+
+diff --git a/src/bio-gio.c b/src/bio-gio.c
+index 0f8b415..9358fae 100644
+--- a/src/bio-gio.c
++++ b/src/bio-gio.c
+@@ -23,6 +23,75 @@
+ #include "spice-util.h"
+ #include "bio-gio.h"
++#if OPENSSL_VERSION_NUMBER < 0x10100000
++static BIO_METHOD one_static_bio;
++
++static int BIO_meth_set_read(BIO_METHOD *biom,
++                             int (*bread) (BIO *, char *, int))
++{
++    biom->bread = bread;
++    return 1;
++}
++
++static int BIO_meth_set_write(BIO_METHOD *biom,
++                              int (*bwrite) (BIO *, const char *, int))
++{
++    biom->bwrite = bwrite;
++    return 1;
++}
++
++static int BIO_meth_set_puts(BIO_METHOD *biom,
++                             int (*bputs) (BIO *, const char *))
++{
++    biom->bputs = bputs;
++    return 1;
++}
++
++static int BIO_meth_set_ctrl(BIO_METHOD *biom,
++                             long (*ctrl) (BIO *, int, long, void *))
++{
++    biom->ctrl = ctrl;
++    return 1;
++}
++
++#define BIO_TYPE_START 128
++
++static int BIO_get_new_index(void)
++{
++    static int bio_index = BIO_TYPE_START;
++    return bio_index++;
++}
++
++static void BIO_set_init(BIO *a, int init)
++{
++      a->init = init;
++}
++
++static void BIO_set_data(BIO *a, void *ptr)
++{
++    a->ptr = ptr;
++}
++
++static void *BIO_get_data(BIO *a)
++{
++    return a->ptr;
++}
++
++static BIO_METHOD *BIO_meth_new(int type, const char *name)
++{
++    BIO_METHOD *biom = &one_static_bio;
++
++    biom->type = type;
++    biom->name = name;
++    return biom;
++}
++
++static void BIO_meth_free(BIO_METHOD *biom)
++{
++}
++
++#endif
++
+ static long bio_gio_ctrl(G_GNUC_UNUSED BIO *b,
+                          int cmd,
+                          G_GNUC_UNUSED long num,
+@@ -37,7 +106,7 @@ static int bio_gio_write(BIO *bio, const char *in, int inl)
+     gssize ret;
+     GError *error = NULL;
+-    stream = g_io_stream_get_output_stream(bio->ptr);
++    stream = g_io_stream_get_output_stream(BIO_get_data(bio));
+     ret = g_pollable_output_stream_write_nonblocking(G_POLLABLE_OUTPUT_STREAM(stream),
+                                                      in, inl, NULL, &error);
+     BIO_clear_retry_flags(bio);
+@@ -58,7 +127,7 @@ static int bio_gio_read(BIO *bio, char *out, int outl)
+     gssize ret;
+     GError *error = NULL;
+-    stream = g_io_stream_get_input_stream(bio->ptr);
++    stream = g_io_stream_get_input_stream(BIO_get_data(bio));
+     ret = g_pollable_input_stream_read_nonblocking(G_POLLABLE_INPUT_STREAM(stream),
+                                                    out, outl, NULL, &error);
+     BIO_clear_retry_flags(bio);
+@@ -83,30 +152,35 @@ static int bio_gio_puts(BIO *bio, const char *str)
+     return ret;
+ }
+-#define BIO_TYPE_START 128
++static BIO_METHOD *bio_gio_method;
+ G_GNUC_INTERNAL
+ BIO* bio_new_giostream(GIOStream *stream)
+ {
+     BIO *bio;
+-    static BIO_METHOD bio_gio_method;
+-    if (bio_gio_method.name == NULL) {
+-        bio_gio_method.type = BIO_TYPE_START | BIO_TYPE_SOURCE_SINK;
+-        bio_gio_method.name = "gio stream";
++    if (!bio_gio_method) {
++        bio_gio_method = BIO_meth_new(BIO_get_new_index() |
++                                      BIO_TYPE_SOURCE_SINK,
++                                      "gio stream");
++        if (!bio_gio_method)
++            return NULL;
++
++        if (!BIO_meth_set_write(bio_gio_method, bio_gio_write) ||
++            !BIO_meth_set_read(bio_gio_method, bio_gio_read) ||
++            !BIO_meth_set_puts(bio_gio_method, bio_gio_puts) ||
++            !BIO_meth_set_ctrl(bio_gio_method, bio_gio_ctrl)) {
++            BIO_meth_free(bio_gio_method);
++            bio_gio_method = NULL;
++            return NULL;
++        }
+     }
+-    bio = BIO_new(&bio_gio_method);
++    bio = BIO_new(bio_gio_method);
+     if (!bio)
+         return NULL;
+-    bio->method->bwrite = bio_gio_write;
+-    bio->method->bread = bio_gio_read;
+-    bio->method->bputs = bio_gio_puts;
+-    bio->method->ctrl = bio_gio_ctrl;
+-
+-    bio->init = 1;
+-    bio->ptr = stream;
+-
++    BIO_set_init(bio, 1);
++    BIO_set_data(bio, stream);
+     return bio;
+ }
+diff --git a/src/spice-channel.c b/src/spice-channel.c
+index 6a911a6..6556db3 100644
+--- a/src/spice-channel.c
++++ b/src/spice-channel.c
+@@ -55,6 +55,15 @@ static void spice_channel_reset_capabilities(SpiceChannel *channel);
+ static void spice_channel_send_migration_handshake(SpiceChannel *channel);
+ static gboolean channel_connect(SpiceChannel *channel, gboolean tls);
++#if OPENSSL_VERSION_NUMBER < 0x10100000
++static RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey)
++{
++    if (pkey->type != EVP_PKEY_RSA) {
++        return NULL;
++    }
++    return pkey->pkey.rsa;
++}
++#endif
+ /**
+  * SECTION:spice-channel
+  * @short_description: the base channel class
+@@ -1161,7 +1170,7 @@ static SpiceChannelEvent spice_channel_send_spice_ticket(SpiceChannel *channel)
+     pubkey = d2i_PUBKEY_bio(bioKey, NULL);
+     g_return_val_if_fail(pubkey != NULL, ret);
+-    rsa = pubkey->pkey.rsa;
++    rsa = EVP_PKEY_get0_RSA(pubkey);
+     nRSASize = RSA_size(rsa);
+     encrypted = g_alloca(nRSASize);
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..cfebeb8
--- /dev/null
+++ b/rules
@@ -0,0 +1,90 @@
+#!/usr/bin/make -f
+# spice-gtk debian/rules using debhelper
+# Copyright (C) 2011 Liang Guo <bluestonechina@gmail.com>
+
+ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
+  CXXFLAGS += -g
+endif
+
+ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
+       CFLAGS += -O0
+else
+       CFLAGS += -O2
+endif
+
+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/buildflags.mk
+
+build-arch: build
+build-indep: build
+
+build: build-stamp
+build-stamp: build-gtk3-stamp 
+       touch build-stamp
+
+build-gtk3-stamp:
+       mkdir build-gtk3
+       ls |egrep -v '(debian|build-gtk)'|xargs -i cp -r {} build-gtk3/
+       cp .version .tarball-version build-gtk3/
+       rm build-gtk3/spice-common/common/generated_*
+       rm build-gtk3/spice-common/tests/generated_*
+       cd build-gtk3 && autoreconf
+       cd build-gtk3 && ./configure --prefix=/usr --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \
+               --enable-smartcard=yes --with-gtk=3.0 --disable-static \
+               --enable-introspection --enable-vala --disable-celt051 \
+               --enable-usbredir=yes --enable-polkit=yes --enable-dbus=yes \
+               --enable-lz4=yes --enable-python-checks \
+               --with-usb-acl-helper-dir=/usr/lib/spice-gtk
+       $(MAKE) -C build-gtk3
+       touch build-gtk3-stamp
+
+clean: clean-patched 
+clean-patched: 
+       dh_testdir
+       dh_testroot
+       [ ! -d $(CURDIR)/build-gtk3 ] || rm -rf $(CURDIR)/build-gtk3
+       dh_clean 
+
+install: install-stamp
+install-stamp: build-stamp
+       dh_testdir
+       dh_testroot
+       dh_prep
+       dh_installdirs
+       $(MAKE) -C $(CURDIR)/build-gtk3 install DESTDIR=$(CURDIR)/debian/tmp
+       dh_install --sourcedir=debian/tmp
+       touch install-stamp
+
+binary-arch: build install
+       dh_testdir
+       dh_testroot
+       dh_install  --list-missing
+       dh_installchangelogs
+       dh_installdocs 
+       dh_installexamples
+       dh_installman
+       dh_python2 --no-guessing-versions
+       dh_link
+       dh_strip -pspice-client-gtk --ddeb-migration='spice-client-gtk-dbg  (<< 0.30~)'
+       dh_strip -pspice-client-glib-usb-acl-helper --ddeb-migration='spice-client-glib-usb-acl-helper-dbg (<< 0.30~)'
+       dh_strip -plibspice-client-glib-2.0-8 --ddeb-migration='spice-gtk-dbg (<< 0.30~)'
+       dh_strip -plibspice-client-gtk-3.0-5 --ddeb-migration='spice-gtk-dbg (<< 0.30~)'
+       dh_compress
+       dh_fixperms
+       dh_makeshlibs
+       dh_girepository
+       dh_installdeb
+       dh_shlibdeps
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install
+
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/spice-client-glib-usb-acl-helper.install b/spice-client-glib-usb-acl-helper.install
new file mode 100644 (file)
index 0000000..a4e50ae
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/spice-gtk/spice-client-glib-usb-acl-helper
+usr/share/polkit-1/actions/org.spice-space.lowlevelusbaccess.policy
diff --git a/spice-client-glib-usb-acl-helper.postinst b/spice-client-glib-usb-acl-helper.postinst
new file mode 100644 (file)
index 0000000..167183a
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+set -e
+#DEBHELPER#
+if ! dpkg-statoverride --list /usr/lib/spice-gtk/spice-client-glib-usb-acl-helper >/dev/null 2>&1
+then
+  dpkg-statoverride --update --add root root 4755 /usr/lib/spice-gtk/spice-client-glib-usb-acl-helper
+fi
diff --git a/spice-client-glib-usb-acl-helper.postrm b/spice-client-glib-usb-acl-helper.postrm
new file mode 100644 (file)
index 0000000..5a27f73
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+set -e
+#DEBHELPER#
+if dpkg-statoverride --list /usr/lib/spice-gtk/spice-client-glib-usb-acl-helper >/dev/null 2>&1
+then
+  dpkg-statoverride --remove /usr/lib/spice-gtk/spice-client-glib-usb-acl-helper
+fi
diff --git a/spice-client-gtk.install b/spice-client-gtk.install
new file mode 100644 (file)
index 0000000..f0c7047
--- /dev/null
@@ -0,0 +1,5 @@
+usr/share/locale/*
+usr/bin/spicy-screenshot
+usr/bin/spicy
+usr/bin/spicy-stats
+usr/share/man/man1/spice-client.1
diff --git a/spice-client-gtk.manpages b/spice-client-gtk.manpages
new file mode 100644 (file)
index 0000000..bfec80d
--- /dev/null
@@ -0,0 +1,3 @@
+debian/spicy-screenshot.1
+debian/spicy.1
+debian/spicy-stats.1
diff --git a/spicy-screenshot.1 b/spicy-screenshot.1
new file mode 100644 (file)
index 0000000..35aae04
--- /dev/null
@@ -0,0 +1,66 @@
+.\"                                      Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH SPICY-SCREENSHOT 1 "August 15, 2011"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh        disable hyphenation
+.\" .hy        enable hyphenation
+.\" .ad l      left justify
+.\" .ad b      justify to both left and right margins
+.\" .nf        disable filling
+.\" .fi        enable filling
+.\" .br        insert line break
+.\" .sp <n>    insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+spicy-screenshot \- Spice screen-shot capture tool
+.SH SYNOPSIS
+.B spicy-screenshot
+.RI [ \-\-uri\=<uri> ] 
+.RI [ \-h,\ \-\-host\=<host> ] 
+.RI [ \-p,\ \-\-port\=<port> ] 
+.RI [ \-s,\ \-\-secure\-port\=<port> ] 
+.RI [ \-w,\ \-\-password\=<password> ] 
+.RI [ \-o,\ \-\-out\-file\=<filename> ] 
+.RI [ \-\-version ] 
+.RI [ \-?,\ \-\-help ] 
+.SH DESCRIPTION
+spicy-screenshot connects to Spice server and capture screen-shot to a ppm format file, the default file name is snappy.ppm
+.SH OPTIONS
+.TP
+.B \-\-uri\= <uri>
+Spice server uri. 
+.TP
+.B \-h,\ \-\-host\=<host>
+Spice server address. 
+.TP
+.B \-p,\ \-\-port\=<port> 
+Spice server port 
+.TP
+.B \-s,\ \-\-secure\-port\=<port> 
+Spice server secure port
+.TP
+.B \-w,\ \-\-password\=<password> 
+Spice server password
+.TP
+.B \-o,\ \-\-out\-file\=<filename>
+Output file name (default snappy.ppm)
+.TP
+.B \-\-version
+Display spicy-screenshot version
+.TP
+.B \-?,\ \-\-help 
+Display help information
+.SH SEE ALSO
+.BR spicec (1)
+.BR spicy (1)
+.TP
+Spice related documents can be found at http://www.spice-space.org/documentation.html
+.SH AUTHOR
+Spice project
+.PP
+This manual page was written by Liang Guo <bluestonechina@gmail.com>, for the Debian project (and may be used by others). Permission is  granted to  copy, distribute and/or modify this document under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
+.
diff --git a/spicy-stats.1 b/spicy-stats.1
new file mode 100644 (file)
index 0000000..aef9b82
--- /dev/null
@@ -0,0 +1,62 @@
+.\"                                      Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH SPICY-STATS 1 "August 15, 2011"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh        disable hyphenation
+.\" .hy        enable hyphenation
+.\" .ad l      left justify
+.\" .ad b      justify to both left and right margins
+.\" .nf        disable filling
+.\" .fi        enable filling
+.\" .br        insert line break
+.\" .sp <n>    insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+spicy-stats \- Spice client used for testing and measurements
+.SH SYNOPSIS
+.B spicy-stats
+.RI [ \-\-uri\=<uri> ] 
+.RI [ \-h,\ \-\-host\=<host> ] 
+.RI [ \-p,\ \-\-port\=<port> ] 
+.RI [ \-s,\ \-\-secure\-port\=<port> ] 
+.RI [ \-w,\ \-\-password\=<password> ] 
+.RI [ \-\-version ] 
+.RI [ \-?,\ \-\-help ] 
+.SH DESCRIPTION
+spicy-stats connects to Spice server and writes out a summary of connection details, amount of bytes transferred...
+.SH OPTIONS
+.TP
+.B \-\-uri\= <uri>
+Spice server uri. 
+.TP
+.B \-h,\ \-\-host\=<host>
+Spice server address. 
+.TP
+.B \-p,\ \-\-port\=<port> 
+Spice server port 
+.TP
+.B \-s,\ \-\-secure\-port\=<port> 
+Spice server secure port
+.TP
+.B \-w,\ \-\-password\=<password> 
+Spice server password
+.TP
+.B \-\-version
+Display spicy-stats version
+.TP
+.B \-?,\ \-\-help 
+Display help information
+.SH SEE ALSO
+.BR spicec (1)
+.BR spicy (1)
+.TP
+Spice related documents can be found at http://www.spice-space.org/documentation.html
+.SH AUTHOR
+Spice project
+.PP
+This manual page was written by Liang Guo <bluestonechina@gmail.com>, for the Debian project (and may be used by others). Permission is  granted to  copy, distribute and/or modify this document under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
+.
diff --git a/spicy.1 b/spicy.1
new file mode 100644 (file)
index 0000000..958c28c
--- /dev/null
+++ b/spicy.1
@@ -0,0 +1,70 @@
+.\"                                      Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH SPICY 1 "August 15, 2011"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh        disable hyphenation
+.\" .hy        enable hyphenation
+.\" .ad l      left justify
+.\" .ad b      justify to both left and right margins
+.\" .nf        disable filling
+.\" .fi        enable filling
+.\" .br        insert line break
+.\" .sp <n>    insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+spicy \- Spice client test application
+.SH SYNOPSIS
+.B spicy
+.RI [ \-\-uri\=<uri> ] 
+.RI [ \-h,\ \-\-host\=<host> ] 
+.RI [ \-p,\ \-\-port\=<port> ] 
+.RI [ \-s,\ \-\-secure\-port\=<port> ] 
+.RI [ \-w,\ \-\-password\=<password> ] 
+.RI [ \-f,\ \-\-full\-screen ] 
+.RI [ \-\-version ] 
+.RI [ \-\-display\=<display> ] 
+.RI [ \-?,\ \-\-help ] 
+.RI [GTK\ Generic\ Options] 
+.RI [Spice \ Generic\ Options]
+.SH DESCRIPTION
+spicy is a Gtk+ test client to connect to Spice servers
+.SH OPTIONS
+.TP
+.B \-\-uri\= <uri>
+Spice server uri. 
+.TP
+.B \-h,\ \-\-host\=<host>
+Spice server address. 
+.TP
+.B \-p,\ \-\-port\=<port> 
+Spice server port 
+.TP
+.B \-s,\ \-\-secure\-port\=<port> 
+Spice server secure port
+.TP
+.B \-w,\ \-\-password\=<password> 
+Spice server password
+.TP
+.B \-f,\ \-\-full\-screen[\=auto\-conf]
+Open in a full screen mode. Optional automatic configuration of the remote display settings
+according to the client display settings. A guest agent must be installed and started for this
+option.
+.TP
+.B \-\-version
+Display spicy version
+.TP
+.B \-?,\ \-\-help 
+Display help information
+.SH SEE ALSO
+.BR spicec (1)
+.TP
+Spice related documents can be found at http://www.spice-space.org/documentation.html
+.SH AUTHOR
+Spice project
+.PP
+This manual page was written by Liang Guo <bluestonechina@gmail.com>, for the Debian project (and may be used by others). Permission is  granted to  copy, distribute and/or modify this document under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
+.
diff --git a/watch b/watch
new file mode 100644 (file)
index 0000000..3440334
--- /dev/null
+++ b/watch
@@ -0,0 +1,3 @@
+version=3
+http://www.spice-space.org/download/gtk/spice-gtk-(\d.*).tar.bz2
+