# # spec file for package spice-vdagent # # Copyright (c) 2020 SUSE LLC # Copyright (c) 2014 B1 Systems GmbH, Vohburg, 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 https://bugs.opensuse.org/ # #This test doesn't work right in build service, but does outside of it %bcond_with session_info_test Name: spice-vdagent Version: 0.20.0 Release: 0 Summary: Agent for Spice guests License: GPL-3.0-or-later Group: System/Daemons URL: http://spice-space.org/ Source: http://spice-space.org/download/releases/%{name}-%{version}.tar.bz2 Source1: http://spice-space.org/download/releases/%{name}-%{version}.tar.bz2.sig Source2: %{name}.keyring Patch1: vdagentd-work-around-GLib-s-fork-issues.patch Patch2: vdagentd-init-static-uinput-before-fork.patch Patch3: systemd-login-Avoid-a-crash-on-container.patch Patch4: vdagentd-Use-bool-for-agent_owns_clipboard-and-clien.patch Patch5: vdagentd-Automatically-release-agent_data.patch Patch6: vdagent-connection-Pass-err-to-g_credentials_get_uni.patch Patch7: vdagentd-Better-check-for-vdagent_connection_get_pee.patch Patch8: vdagentd-Avoid-calling-chmod.patch Patch9: Avoids-unchecked-file-transfer-IDs-allocation-and-us.patch Patch10: Avoids-uncontrolled-active_xfers-allocations.patch Patch11: Avoids-unlimited-agent-connections.patch Patch12: Avoids-user-session-hijacking.patch Patch13: Better-check-for-sessions.patch Patch14: vdagentd-Limit-number-of-agents-per-session-to-1.patch Patch15: cleanup-active_xfers-when-the-client-disconnects.patch Patch16: vdagentd-do-not-allow-to-use-an-already-used-file-xf.patch Patch17: Add-a-test-for-session_info.patch BuildRequires: alsa-devel >= 1.0.22 BuildRequires: desktop-file-utils BuildRequires: libXfixes-devel BuildRequires: libXinerama-devel BuildRequires: libXrandr-devel >= 1.3 BuildRequires: libpciaccess-devel >= 0.10 BuildRequires: libtool BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(gio-2.0) >= 2.50 BuildRequires: pkgconfig(glib-2.0) >= 2.58 BuildRequires: pkgconfig(gobject-2.0) >= 2.50 BuildRequires: pkgconfig(gtk+-3.0) >= 3.22 BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(spice-protocol) >= 0.14.1 BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(udev) Supplements: modalias(xorg-x11-server:virtio:d00000003v*) %{?systemd_requires} %description Spice agent for Linux guests offering the following features: Features: * Client mouse mode (no need to grab mouse by client, no mouse lag) this is handled by the daemon by feeding mouse events into the kernel via uinput. This will only work if the active X-session is running a spice-vdagent process so that its resolution can be determined. * Automatic adjustment of the X-session resolution to the client resolution * Support of copy and paste (text and images) between the active X-session and the client %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 %if %{with session_info_test} %patch17 -p1 %endif %build autoreconf %configure \ --with-session-info=systemd \ --with-init-script=systemd make %{?_smp_mflags} V=2 %check make check V=2 %install make install DESTDIR=%{buildroot} V=2 # create rc symlink ln -s service %{buildroot}%{_sbindir}/rcspice-vdagentd mkdir -p %{buildroot}%{_datadir}/gdm/greeter/autostart mv %{buildroot}%{_datadir}/gdm/autostart/LoginWindow/*.desktop %{buildroot}%{_datadir}/gdm/greeter/autostart rm -fr %{buildroot}%{_datadir}/gdm/autostart %pre %service_add_pre spice-vdagentd.service %service_add_pre spice-vdagentd.socket %post %service_add_post spice-vdagentd.service if [ "$1" -eq 1 ]; then systemctl -q enable spice-vdagentd.service || : fi %service_add_post spice-vdagentd.socket %tmpfiles_create %_tmpfilesdir/spice-vdagentd.conf %preun %service_del_preun spice-vdagentd.service %service_del_preun spice-vdagentd.socket %postun %service_del_postun spice-vdagentd.service %service_del_postun spice-vdagentd.socket %files %defattr(-,root,root) %doc CHANGELOG.md README.md %license COPYING %ghost /run/spice-vdagentd %{_udevrulesdir}/70-spice-vdagentd.rules %{_unitdir}/spice-vdagentd.service %{_unitdir}/spice-vdagentd.socket %{_tmpfilesdir}/spice-vdagentd.conf %{_bindir}/spice-vdagent %{_sbindir}/spice-vdagentd %{_sbindir}/rcspice-vdagentd %{_sysconfdir}/xdg/autostart/spice-vdagent.desktop # For /usr/share/gdm/autostart/LoginWindow/spice-vdagent.desktop # We own the dir too, otherwise we must Require gdm %{_datadir}/gdm %{_mandir}/man1/%{name}*.1* %changelog