File spice.spec of Package spice.4108
#
# spec file for package spice
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# Common info
Name: spice
Version: 0.12.4
Release: 0
Summary: SPICE client and server library
License: LGPL-2.1+
Group: Productivity/Networking/Other
Url: http://www.spice-space.org/
# Install-time parameters
Requires: celt051
# Build-time parameters
BuildRequires: alsa-devel
BuildRequires: celt051-devel
BuildRequires: cyrus-sasl-devel
BuildRequires: gcc-c++
Source: http://spice-space.org/download/releases/%{name}-%{version}.tar.bz2
Patch1: spice-glibc217.patch
Patch2: 8af61900-cve-2013-4282-fix.patch
Patch3: cve-2015-3247.patch
# Fixes for CVE-2015-5260 and CVE-2015-5261
Patch4: 0001-Validate-surface-bounding-box-before-using-it.patch
Patch5: 0001-worker-validate-correctly-surfaces.patch
Patch6: 0002-worker-avoid-double-free-or-double-create-of-surface.patch
Patch7: 0003-Define-a-constant-to-limit-data-from-guest.patch
Patch8: 0004-Fix-some-integer-overflow-causing-large-memory-alloc.patch
Patch9: 0005-Check-properly-surface-to-be-created.patch
Patch10: 0006-Fix-buffer-reading-overflow.patch
Patch11: 0007-Prevent-32-bit-integer-overflow-in-bitmap_consistent.patch
Patch12: 0008-Fix-race-condition-on-red_get_clip_rects.patch
Patch13: 0009-Fix-race-in-red_get_image.patch
Patch14: 0010-Fix-race-condition-in-red_get_string.patch
Patch15: 0011-Fix-integer-overflow-computing-glyph_size-in-red_get.patch
Patch16: 0012-Fix-race-condition-in-red_get_data_chunks_ptr.patch
Patch17: 0013-Prevent-memory-leak-if-red_get_data_chunks_ptr-fails.patch
Patch18: 0014-Prevent-DoS-from-guest-trying-to-allocate-too-much-d.patch
Patch19: 0015-Fix-some-possible-overflows-in-red_get_string-for-32.patch
Patch20: 0016-Make-sure-we-can-read-QXLPathSeg-structures.patch
Patch21: 0017-Avoid-race-condition-copying-segments-in-red_get_pat.patch
Patch22: 0018-Prevent-data_size-to-be-set-independently-from-data.patch
Patch23: 0019-Prevent-leak-if-size-from-red_get_data_chunks-don-t-.patch
# Fixes for CVE-2016-0749 and CVE-2016-2150
Patch24: CVE-2016-0749-smartcard-add-a-ref-to-item-before-adding-to-pipe.patch
Patch25: CVE-2016-0749-smartcard-allocate-msg-with-the-expected-size.patch
Patch26: CVE-2016-2150-create-a-function-to-validate-surface-parameters.patch
Patch27: CVE-2016-2150-improve-primary-surface-parameter-checks.patch
Patch28: CVE-2016-9578-remote-dos-via-crafted-message.patch
Patch29: CVE-2016-9577-buffer-overflow-in-main_channel_alloc_msg_rcv_buf.patch
BuildRequires: libjpeg-devel
BuildRequires: libopenssl-devel
BuildRequires: libpixman-1-0-devel >= 0.17.7
BuildRequires: pkg-config
BuildRequires: python-pyparsing
BuildRequires: spice-protocol-devel >= 0.10.1
BuildRequires: xorg-x11-devel
BuildRequires: xorg-x11-libXfixes-devel
BuildRequires: pkgconfig(glib-2.0) >= 2.22
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 x86_64
%description
The SPICE package provides the SPICE server library and client.
These components are used to provide access to a remote machine's
display and devices.
%package -n spice-client
Summary: SPICE client
Group: Productivity/Networking/Other
%description -n spice-client
The SPICE client provides access to a remote machine's display and devices.
%package -n libspice-server1
Summary: Library for SPICE-server
Group: Productivity/Networking/Other
%description -n libspice-server1
Library for SPICE-server
The SPICE server is used to expose a remote machine's display
and devices.
%package -n libspice-server-devel
Summary: Development files for building SPICE-server
Group: Development/Languages/C and C++
Requires: libspice-server1 = %{version}
%description -n libspice-server-devel
Development files for building SPICE-server.
The SPICE server is used to expose a remote machine's display
and devices.
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
%build
%configure \
--disable-static \
--enable-client \
--disable-smartcard
LDFLAGS="-Wl,--as-needed -Wl,--strip-all"
make %{?_smp_mflags}
%install
%makeinstall DESTDIR=%{buildroot}
find %{buildroot} -type f -name '*.la' -delete -print
%clean
[ %{buildroot} != "/" ] && rm -rf %{buildroot}
%post -n libspice-server1 -p /sbin/ldconfig
%postun -n libspice-server1 -p /sbin/ldconfig
%files -n spice-client
%defattr(-,root,root)
%doc AUTHORS COPYING NEWS README
%{_bindir}/spicec
%files -n libspice-server1
%defattr(-,root,root)
%{_libdir}/libspice-server.so.*
%files -n libspice-server-devel
%defattr(-,root,root)
%{_libdir}/pkgconfig/spice-server.pc
%{_includedir}/spice-server/
%{_libdir}/libspice-server.so
%changelog