Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package spice-vdagent for openSUSE:Factory checked in at 2025-10-24 17:22:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/spice-vdagent (Old) and /work/SRC/openSUSE:Factory/.spice-vdagent.new.1980 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spice-vdagent" Fri Oct 24 17:22:49 2025 rev:27 rq:1313079 version:0.23.0 Changes: -------- --- /work/SRC/openSUSE:Factory/spice-vdagent/spice-vdagent.changes 2025-09-29 16:31:31.752662297 +0200 +++ /work/SRC/openSUSE:Factory/.spice-vdagent.new.1980/spice-vdagent.changes 2025-10-24 17:22:52.786009930 +0200 @@ -1,0 +2,13 @@ +Wed Oct 15 09:56:41 MDT 2025 - [email protected] + +- Update to version 0.23.0. Features and Issues addressed: + systemd services: add Documentation key (point to manpage) + Switch to spice-vdagent.service by default + Improve integration with systemd service manager + Makefile.am: don't create /var/run/spice-vdagentd + vdagent: remove callback on destroy() + Fix minor spelling errors + Fix VDAGentMonitorConfig size calculation +- Drop 0001-Switch-to-spice-vdagent.service-by-default.patch + +------------------------------------------------------------------- Old: ---- 0001-Switch-to-spice-vdagent.service-by-default.patch spice-vdagent-0.22.1.tar.bz2 New: ---- spice-vdagent-0.23.0.tar.bz2 ----------(Old B)---------- Old: Fix VDAGentMonitorConfig size calculation - Drop 0001-Switch-to-spice-vdagent.service-by-default.patch ----------(Old E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ spice-vdagent.spec ++++++ --- /var/tmp/diff_new_pack.W2rnyJ/_old 2025-10-24 17:22:53.490039565 +0200 +++ /var/tmp/diff_new_pack.W2rnyJ/_new 2025-10-24 17:22:53.490039565 +0200 @@ -1,7 +1,7 @@ # # spec file for package spice-vdagent # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2025 SUSE LLC and contributors # Copyright (c) 2014 B1 Systems GmbH, Vohburg, Germany. # # All modifications and additions to the file contributed by third parties @@ -21,7 +21,7 @@ %bcond_with session_info_test Name: spice-vdagent -Version: 0.22.1 +Version: 0.23.0 Release: 0 Summary: Agent for Spice guests License: GPL-3.0-or-later @@ -30,8 +30,6 @@ Source: http://spice-space.org/download/releases/%{name}-%{version}.tar.bz2 Source2: %{name}.keyring Patch0: harden_spice-vdagentd.service.patch -# https://gitlab.freedesktop.org/spice/linux/vd_agent/-/merge_requests/47 -Patch1: 0001-Switch-to-spice-vdagent.service-by-default.patch BuildRequires: alsa-devel >= 1.0.22 BuildRequires: desktop-file-utils BuildRequires: libXfixes-devel @@ -49,8 +47,8 @@ BuildRequires: pkgconfig(spice-protocol) >= 0.14.3 BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(udev) -Supplements: modalias(xorg-x11-server:virtio:d00000003v*) Supplements: (xwayland and modalias(virtio:d00000003v*)) +Supplements: modalias(xorg-x11-server:virtio:d00000003v*) %{?systemd_requires} %description @@ -87,7 +85,7 @@ mkdir -p %{buildroot}%{_datadir}/gdm/greeter/autostart -mv %{buildroot}%{_datadir}/gdm/autostart/LoginWindow/*.desktop %{buildroot}%{_datadir}/gdm/greeter/autostart +cp %{buildroot}/etc/xdg/autostart/spice-vdagent.desktop %{buildroot}%{_datadir}/gdm/greeter/autostart rm -fr %{buildroot}%{_datadir}/gdm/autostart %pre @@ -116,6 +114,8 @@ %{_unitdir}/spice-vdagentd.service %{_unitdir}/spice-vdagentd.socket %{_prefix}/lib/systemd/user/spice-vdagent.service +%{_prefix}/lib/systemd/user/graphical-session.target.wants +%{_prefix}/lib/systemd/user/graphical-session.target.wants/spice-vdagent.service %{_tmpfilesdir}/spice-vdagentd.conf %{_bindir}/spice-vdagent %{_sbindir}/spice-vdagentd ++++++ harden_spice-vdagentd.service.patch ++++++ --- /var/tmp/diff_new_pack.W2rnyJ/_old 2025-10-24 17:22:53.522040912 +0200 +++ /var/tmp/diff_new_pack.W2rnyJ/_new 2025-10-24 17:22:53.530041249 +0200 @@ -1,9 +1,9 @@ -Index: spice-vdagent-0.21.0/data/spice-vdagentd.service +Index: spice-vdagent-0.23.0/data/spice-vdagentd.service =================================================================== ---- spice-vdagent-0.21.0.orig/data/spice-vdagentd.service -+++ spice-vdagent-0.21.0/data/spice-vdagentd.service +--- spice-vdagent-0.23.0.orig/data/spice-vdagentd.service ++++ spice-vdagent-0.23.0/data/spice-vdagentd.service @@ -9,6 +9,17 @@ EnvironmentFile=-/etc/sysconfig/spice-vd - ExecStart=/usr/sbin/spice-vdagentd $SPICE_VDAGENTD_EXTRA_ARGS + ExecStart=/usr/sbin/spice-vdagentd -x $SPICE_VDAGENTD_EXTRA_ARGS PIDFile=/run/spice-vdagentd/spice-vdagentd.pid PrivateTmp=true +# added automatically, for details please see @@ -16,8 +16,8 @@ +ProtectKernelLogs=true +ProtectControlGroups=true +RestrictRealtime=true -+# end of automatic additions ++# end of automatic additions Restart=on-failure - [Install] + # spice-vdagentd logs via syslog() and to stderr, causing duplicated ++++++ spice-vdagent-0.22.1.tar.bz2 -> spice-vdagent-0.23.0.tar.bz2 ++++++ ++++ 9984 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-vdagent-0.22.1/CHANGELOG.md new/spice-vdagent-0.23.0/CHANGELOG.md --- old/spice-vdagent-0.22.1/CHANGELOG.md 2022-02-14 11:26:13.000000000 +0100 +++ new/spice-vdagent-0.23.0/CHANGELOG.md 2025-09-23 09:19:23.000000000 +0200 @@ -1,186 +1,214 @@ -Gitlab markdown format support linking to Issues (#) and Merge requests (!) and more, see bellow: +# Spice vdagent changelog + +All notable changes to this project will be documented in this file. +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), + +Gitlab markdown format support linking to Issues (#) and Merge requests (!) and more, see below: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/blob/master/CHANGELOG.md -News in spice-vdagent 0.22.1 -=========================== -* !42 - Fix crash on startup of session agent - -News in spice-vdagent 0.22.0 -=========================== -* !40 - Handle side mouse buttons -* !39 - Set retry limit to connect to vdagentd and improve logging error -* !35 - Fix deprecation warning -* !37 - Provide systemd spice-vdagent.service - -News in spice-vdagent 0.21.0 -============================ -* Security fixes: +## [Unreleased] + +### Added + +- !49 - systemd services: add Documentation key (point to manpage) + +### Changed + +- !47 - Switch to spice-vdagent.service by default +- !54 - Improve integration with systemd service manager + +### Fixed + +- !44 - Makefile.am: don't create /var/run/spice-vdagentd +- !46 - vdagent: remove callback on destroy() +- !48 - Fix minor spelling errors +- !51 - Fix VDAGentMonitorConfig size calculation + +## [0.22.1] - 2022-02-14 + +- !42 - Fix crash on startup of session agent + +## [0.22.0] - 2022-02-07 + +- !40 - Handle side mouse buttons +- !39 - Set retry limit to connect to vdagentd and improve logging error +- !35 - Fix deprecation warning +- !37 - Provide systemd spice-vdagent.service + +## [0.21.0] - 2021-01-13 + +- Security fixes: CVE-2020-25650, CVE-2020-25651, CVE-2020-25652, CVE-2020-25653 -* Fix shutdown issue due to incompatible thread/fork uses with GLib -* Fix mouse pointer issues under Wayland -* Fix a crash when running without dbus (e.g: within containers) -* !9 - Introduce optional GTK4 support for monitor management -* !13 - Enable copying files from client using webdav -* Bump spice-protocol dependency to v0.14.3 - -News in spice-vdagent 0.20.0 -============================ - -* Add gio-unix and gobject dependency >= 2.50 -* Bump gtk+ >= 3.22 (optional dependency) -* Last release with gtk+ being optional -* !4 - Race fixes between client and guest clipboard -* !2 - Fix session lookup for new GNOME versions -* !3 - Now using GMainLoop and GIO to handle I/O of messages -* Several minor covscan fixes - -News in spice-vdagent 0.19.0 -============================ - -* Add libdrm dependency -* Fix file descriptor leak on failed connections -* Handle new VD_AGENT_GRAPHICS_DEVICE_INFO message advertised by +- Fix shutdown issue due to incompatible thread/fork uses with GLib +- Fix mouse pointer issues under Wayland +- Fix a crash when running without dbus (e.g: within containers) +- !9 - Introduce optional GTK4 support for monitor management +- !13 - Enable copying files from client using webdav +- Bump spice-protocol dependency to v0.14.3 + +## [0.20.0] - 2020-03-10 + +- Add gio-unix and gobject dependency >= 2.50 +- Bump gtk+ >= 3.22 (optional dependency) +- Last release with gtk+ being optional +- !4 - Race fixes between client and guest clipboard +- !2 - Fix session lookup for new GNOME versions +- !3 - Now using GMainLoop and GIO to handle I/O of messages +- Several minor covscan fixes + +## [0.19.0] - 2019-04-12 + +- Add libdrm dependency +- Fix file descriptor leak on failed connections +- Handle new VD_AGENT_GRAPHICS_DEVICE_INFO message advertised by VD_AGENT_CAP_GRAPHICS_DEVICE_INFO capability -* Session agent autostart changed to WindowManager ([rhbz#1623947]) +- Session agent autostart changed to WindowManager ([rhbz#1623947]) This fixes possible race with xdg-user-dirs -* Fix of sending empty screen resolution messages ([rhbz#1641723]) -* Fix 'Dependency failed for Activation socket' with systemd ([rhbz#1545212]) -* Fix error messages about on selecting text on host ([rhbz#1594876]) +- Fix of sending empty screen resolution messages ([rhbz#1641723]) +- Fix 'Dependency failed for Activation socket' with systemd ([rhbz#1545212]) +- Fix error messages about on selecting text on host ([rhbz#1594876]) this was also fixed with Gtk backend -* Update paths from /var/run → /run -* Fix Session agent restart -* Add test for file creation -* Prefer GLib memory functions stdlib.h ones -* Several code and logs improvements +- Update paths from /var/run → /run +- Fix Session agent restart +- Add test for file creation +- Prefer GLib memory functions stdlib.h ones +- Several code and logs improvements [rhbz#1623947]: https://bugzilla.redhat.com/show_bug.cgi?id=1623947 [rhbz#1641723]: https://bugzilla.redhat.com/show_bug.cgi?id=1641723 [rhbz#1545212]: https://bugzilla.redhat.com/show_bug.cgi?id=1545212 [rhbz#1594876]: https://bugzilla.redhat.com/show_bug.cgi?id=1594876 -News in spice-vdagent 0.18.0 -============================ +## [0.18.0] - 2018-06-06 -* Add GTK+ framework to handle x11 backend such as clipboard -* Deprecate X11 backend in favor of GTK+ framework -* Ask pkg-config to appropriate directory to install udev rules -* Fix leak of udscs's file descriptor -* Better quote directory path when calling xdg-open to save file transfer -* Bump GLib to 2.34 -* Add systemd socket activation (rhbz#1340160) -* Add support to detailed errors on file transfers -* Add check for available free space in guest before starting a file transfer -* Use better names for duplicated files on file transfer -* Improve support on big endian guests (#5) -* Use IdleHint to check if a session is locked over console-kit (rhbz#1412673) -* Fixes double free on errors over udscs by improving memory ownership -* Hide autostart file on Unity -* Improve command line messages for vdagentd -* Fix typo in --enable-static-uinput configure option -* Code repository moved to gitlab.freedesktop.org - -News in spice-vdagent 0.17.0 -============================ - -* Denies file-transfer in locked sessions - * systems under systemd (rhbz#1323623) - * systems under console-kit (rhbz#1323630) -* Denies file-transfer in login screen - * systems under systemd (rhbz#1328761) - * systems under console-kit (rhbz#1323640) -* Bump glib version to 2.28 -* Set exit code to 1 instead of 0 when virtio device cannot be opened -* Fix double-free on uinput->screen_info (rhbz#1262635) -* Code improvement over unix domain client server support (udcs) -* Fix build compatiblity with different libsystemd versions (fdo#94209) - -News in spice-vdagent 0.16.0 -============================ - -* Add audio volume synchronization support -* Add support for maximum clipboard size -* Add support for more clipboard targets (STRING and TIMESTAMP) -* Improve handling of transfers of multiple files -* Fix transfer of >2GB files on 32 bit systems -* XSpice improvements -* Various bug fixes related to resolution changes - -News in spice-vdagent 0.15.0 -============================ - -* Xspice support -* Release clipboard on client disconnect if owned by client (rhbz#1003977) -* Turn some error messages into debugging messages (rhbz#918310) -* Not having the virtio channel is not an error; instead silently do nothing - -News in spice-vdagent 0.14.0 -============================ - -* More multi-monitor and arbritary resolution support bugfixes -* Add support for file transfers from client to guest -* Add support for setups with multiple Screens (multiple qxl devices each +- Add GTK+ framework to handle x11 backend such as clipboard +- Deprecate X11 backend in favor of GTK+ framework +- Ask pkg-config to appropriate directory to install udev rules +- Fix leak of udscs's file descriptor +- Better quote directory path when calling xdg-open to save file transfer +- Bump GLib to 2.34 +- Add systemd socket activation (rhbz#1340160) +- Add support to detailed errors on file transfers +- Add check for available free space in guest before starting a file transfer +- Use better names for duplicated files on file transfer +- Improve support on big endian guests (#5) +- Use IdleHint to check if a session is locked over console-kit (rhbz#1412673) +- Fixes double free on errors over udscs by improving memory ownership +- Hide autostart file on Unity +- Improve command line messages for vdagentd +- Fix typo in --enable-static-uinput configure option +- Code repository moved to gitlab.freedesktop.org + +## [0.17.0] - 2016-06-10 + +- Denies file-transfer in locked sessions + - systems under systemd (rhbz#1323623) + - systems under console-kit (rhbz#1323630) +- Denies file-transfer in login screen + - systems under systemd (rhbz#1328761) + - systems under console-kit (rhbz#1323640) +- Bump glib version to 2.28 +- Set exit code to 1 instead of 0 when virtio device cannot be opened +- Fix double-free on uinput->screen_info (rhbz#1262635) +- Code improvement over unix domain client server support (udcs) +- Fix build compatibility with different libsystemd versions (fdo#94209) + +## [0.16.0] - 2015-06-30 + +- Add audio volume synchronization support +- Add support for maximum clipboard size +- Add support for more clipboard targets (STRING and TIMESTAMP) +- Improve handling of transfers of multiple files +- Fix transfer of >2GB files on 32 bit systems +- XSpice improvements +- Various bug fixes related to resolution changes + +## [0.15.0] - 2013-10-14 + +- Xspice support +- Release clipboard on client disconnect if owned by client (rhbz#1003977) +- Turn some error messages into debugging messages (rhbz#918310) +- Not having the virtio channel is not an error; instead silently do nothing + +## [0.14.0] - 2013-04-12 + +- More multi-monitor and arbitrary resolution support bugfixes +- Add support for file transfers from client to guest +- Add support for setups with multiple Screens (multiple qxl devices each mapped to their own screen), limitations: - * Max one monitor per Screen / qxl device - * All monitors / Screens must have the same resolution - * No client -> guest resolution syncing -* Add spice-vdagent -X cmdline option, which runtime disables console-kit / + - Max one monitor per Screen / qxl device + - All monitors / Screens must have the same resolution + - No client -> guest resolution syncing +- Add spice-vdagent -X cmdline option, which runtime disables console-kit / systemd-logind integration for setups where these are not used -* Add manpages for spice-vdagent and spice-vdagentd +- Add manpages for spice-vdagent and spice-vdagentd -News in spice-vdagent 0.12.1 -============================ +## [0.12.1] - 2013-01-08 -* Various bugfixes for multi-monitor and arbritary resolution support -* Requires libXrandr >= 1.3, Note 0.12.0 also required this, but did not +- Various bugfixes for multi-monitor and arbitrary resolution support +- Requires libXrandr >= 1.3, Note 0.12.0 also required this, but did not check for it. For older distributions use 0.10.1 -News in spice-vdagent 0.12.0 -============================ +## [0.12.0] - 2012-09-01 -* Full multi-monitor and arbritary resolution support, this requires a new +- Full multi-monitor and arbitrary resolution support, this requires a new enough xorg-x11-drv-qxl driver, as well as a new enough host -* systemd service support, using systemd hardware acivation -* Use syslog for logging, rather then logging to private log files +- systemd service support, using systemd hardware activation +- Use syslog for logging, rather then logging to private log files -News in spice-vdagent 0.10.1 -============================ +## [0.10.1] - 2012-03-27 -* Fix a race condition when opening the vdagent virtio serial port, which +- Fix a race condition when opening the vdagent virtio serial port, which caused it to get opened / closed in rapid succession a number of times on vm boot -News in spice-vdagent 0.10.0 -============================ +## [0.10.0] - 2012-03-20 -* Add limited support for multiple displays, see README -* Add support for RHEL-5 (and other distributions with a non hotplug +- Add limited support for multiple displays, see README +- Add support for RHEL-5 (and other distributions with a non hotplug capable Xorg and/or no console-kit), see README.RHEL-5 -* Add support for using libsystemd-logind as session information source +- Add support for using libsystemd-logind as session information source instead of console-kit -News in spice-vdagent 0.8.1 -=========================== +## [0.8.1] - 2011-07-18 -* In daemon mode the session vdagent now retries connecting to the system +- In daemon mode the session vdagent now retries connecting to the system vdagentd every second, once a connection is made a version check is done, if the version differs (which only happens on an upgrade from one version - to the next) the sesion vdagent re-execs itself (Marc-André Lureau) + to the next) the session vdagent re-execs itself (Marc-André Lureau) -News in spice-vdagent 0.8.0 -=========================== +## [0.8.0] - 2011-04-19 -* Add support for copy and paste using the primary selection, to use this +- Add support for copy and paste using the primary selection, to use this you need a spice-gtk widget based client and the latest spice-gtk code (Marc-André Lureau and Hans de Goede) -* Autotoolized (Christophe Fergeau) -* Allow building without consolekit, for systems which don't have ck, such +- Autotoolized (Christophe Fergeau) +- Allow building without consolekit, for systems which don't have ck, such as RHEL-5 (Christophe Fergeau) -* Various small bugfixes (Hans de Goede) +- Various small bugfixes (Hans de Goede) -News in spice-vdagent 0.6.3 -=========================== +## [0.6.3] - 2010-11-01 -* Initial release, starting with version nr 0.6.3, to indicate that it +- Initial release, starting with version nr 0.6.3, to indicate that it more or less supports all parts of the cdagent protocol in spice-protocol and spice 0.6.3 + +[unreleased]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/compare/spice-vdagent-0.22.1...master +[0.22.1]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/compare/spice-vdagent-0.22.0...spice-vdagent-0.22.1 +[0.22.0]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/compare/spice-vdagent-0.21.0...spice-vdagent-0.22.0 +[0.21.0]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/compare/spice-vdagent-0.20.0...spice-vdagent-0.21.0 +[0.20.0]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/compare/spice-vdagent-0.19.0...spice-vdagent-0.20.0 +[0.19.0]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/compare/spice-vdagent-0.18.0...spice-vdagent-0.19.0 +[0.18.0]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/compare/spice-vdagent-0.17.0...spice-vdagent-0.18.0 +[0.17.0]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/compare/spice-vdagent-0.16.0...spice-vdagent-0.17.0 +[0.16.0]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/compare/spice-vdagent-0.15.0...spice-vdagent-0.16.0 +[0.15.0]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/compare/spice-vdagent-0.14.0...spice-vdagent-0.15.0 +[0.14.0]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/compare/spice-vdagent-0.12.1...spice-vdagent-0.14.0 +[0.12.1]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/compare/spice-vdagent-0.12.0...spice-vdagent-0.12.1 +[0.12.0]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/compare/spice-vdagent-0.10.1...spice-vdagent-0.12.0 +[0.10.1]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/compare/spice-vdagent-0.10.0...spice-vdagent-0.10.1 +[0.10.0]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/compare/spice-vdagent-0.8.1...spice-vdagent-0.10.0 +[0.8.1]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/compare/spice-vdagent-0.8.0...spice-vdagent-0.8.1 +[0.8.0]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/compare/spice-vdagent-0.6.3...spice-vdagent-0.8.0 +[0.6.3]: https://gitlab.freedesktop.org/spice/linux/vd_agent/-/tags/spice-vdagent-0.6.3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-vdagent-0.22.1/Makefile.am new/spice-vdagent-0.23.0/Makefile.am --- old/spice-vdagent-0.22.1/Makefile.am 2022-02-13 18:42:48.000000000 +0100 +++ new/spice-vdagent-0.23.0/Makefile.am 2025-09-23 08:45:24.000000000 +0200 @@ -147,20 +147,15 @@ xdgautostartdir = $(sysconfdir)/xdg/autostart xdgautostart_DATA = $(top_srcdir)/data/spice-vdagent.desktop -gdmautostartdir = $(datadir)/gdm/greeter/autostart -gdmautostart_DATA = $(top_srcdir)/data/spice-vdagent.desktop - -gdmautostart2dir = $(datadir)/gdm/autostart/LoginWindow -gdmautostart2_DATA = $(top_srcdir)/data/spice-vdagent.desktop - -install-data-local: - $(mkdir_p) $(DESTDIR)$(localstatedir)/run/spice-vdagentd - if INIT_SCRIPT_RED_HAT initdir = $(sysconfdir)/rc.d/init.d init_SCRIPTS = $(top_srcdir)/data/spice-vdagentd endif +.PHONY: install-systemd uninstall-systemd + +install-systemd uninstall-systemd: ; + if INIT_SCRIPT_SYSTEMD systemdunitdir = $(SYSTEMDSYSTEMUNITDIR) systemdunit_DATA = \ @@ -176,6 +171,14 @@ tmpfilesdir = $(prefix)/lib/tmpfiles.d tmpfiles_DATA = $(top_srcdir)/data/tmpfiles.d/spice-vdagentd.conf + +install-systemd: + $(MKDIR_P) $(DESTDIR)$(SYSTEMDUSERUNITDIR)/graphical-session.target.wants + ln -sf ../spice-vdagent.service $(DESTDIR)$(SYSTEMDUSERUNITDIR)/graphical-session.target.wants/spice-vdagent.service + +uninstall-systemd: + rm -f $(DESTDIR)$(SYSTEMDUSERUNITDIR)/graphical-session.target.wants/spice-vdagent.service + endif manpagedir = $(mandir)/man1 @@ -207,3 +210,7 @@ check_PROGRAMS += tests/test-device-info check_PROGRAMS += tests/test-termination + +install-data-hook: install-systemd + +uninstall-hook: uninstall-systemd diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-vdagent-0.22.1/compile new/spice-vdagent-0.23.0/compile --- old/spice-vdagent-0.22.1/compile 2022-02-14 11:29:26.000000000 +0100 +++ new/spice-vdagent-0.23.0/compile 2025-09-23 09:20:43.000000000 +0200 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2018-03-07.03; # UTC +scriptversion=2024-06-19.01; # UTC -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2024 Free Software Foundation, Inc. # Written by Tom Tromey <[email protected]>. # # This program is free software; you can redistribute it and/or modify @@ -143,7 +143,7 @@ # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in - *.o | *.[oO][bB][jJ]) + *.o | *.lo | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift @@ -248,14 +248,17 @@ right script to run: please start by reading the file 'INSTALL'. Report bugs to <[email protected]>. +GNU Automake home page: <https://www.gnu.org/software/automake/>. +General help using GNU software: <https://www.gnu.org/gethelp/>. EOF exit $? ;; -v | --v*) - echo "compile $scriptversion" + echo "compile (GNU Automake) $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + clang-cl | *[/\\]clang-cl | clang-cl.exe | *[/\\]clang-cl.exe | \ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-vdagent-0.22.1/configure.ac new/spice-vdagent-0.23.0/configure.ac --- old/spice-vdagent-0.22.1/configure.ac 2022-02-14 11:26:30.000000000 +0100 +++ new/spice-vdagent-0.23.0/configure.ac 2025-09-23 09:20:26.000000000 +0200 @@ -1,5 +1,5 @@ AC_PREREQ(2.59) -AC_INIT([spice-vdagent], [0.22.1]) +AC_INIT([spice-vdagent], [0.23.0]) AC_CONFIG_SRCDIR([configure.ac]) AM_CONFIG_HEADER([src/config.h]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-vdagent-0.22.1/data/spice-vdagent.desktop new/spice-vdagent-0.23.0/data/spice-vdagent.desktop --- old/spice-vdagent-0.22.1/data/spice-vdagent.desktop 2022-02-13 17:02:15.000000000 +0100 +++ new/spice-vdagent-0.23.0/data/spice-vdagent.desktop 2024-03-26 11:52:12.000000000 +0100 @@ -7,3 +7,4 @@ Categories= X-GNOME-Autostart-Phase=WindowManager NoDisplay=true +X-systemd-skip=true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-vdagent-0.22.1/data/spice-vdagent.service new/spice-vdagent-0.23.0/data/spice-vdagent.service --- old/spice-vdagent-0.22.1/data/spice-vdagent.service 2022-02-13 18:42:48.000000000 +0100 +++ new/spice-vdagent-0.23.0/data/spice-vdagent.service 2025-09-23 08:45:24.000000000 +0200 @@ -1,5 +1,18 @@ [Unit] Description=Spice guest session agent +Documentation=man:spice-vdagent(1) + +# Only run whenever the system daemon is running, since this +# service isn't useful on its own +ConditionPathExists=/run/spice-vdagentd/spice-vdagent-sock + +# Ensure display server is already running +PartOf=graphical-session.target +After=graphical-session.target [Service] ExecStart=/usr/bin/spice-vdagent -x + +# spice-vdagent logs via syslog() and to stderr, causing duplicated +# logs. Instead of sending stderr to the journal, disconnect it +StandardError=null diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-vdagent-0.22.1/data/spice-vdagentd.service new/spice-vdagent-0.23.0/data/spice-vdagentd.service --- old/spice-vdagent-0.22.1/data/spice-vdagentd.service 2022-02-07 14:44:48.000000000 +0100 +++ new/spice-vdagent-0.23.0/data/spice-vdagentd.service 2025-09-23 08:45:24.000000000 +0200 @@ -1,15 +1,16 @@ [Unit] Description=Agent daemon for Spice guests -After=dbus.target -Requires=spice-vdagentd.socket +Documentation=man:spice-vdagentd(1) +Requires=spice-vdagentd.socket systemd-logind.service +After=systemd-logind.service [Service] -Type=forking EnvironmentFile=-/etc/sysconfig/spice-vdagentd -ExecStart=/usr/sbin/spice-vdagentd $SPICE_VDAGENTD_EXTRA_ARGS +ExecStart=/usr/sbin/spice-vdagentd -x $SPICE_VDAGENTD_EXTRA_ARGS PIDFile=/run/spice-vdagentd/spice-vdagentd.pid PrivateTmp=true Restart=on-failure -[Install] -Also=spice-vdagentd.socket +# spice-vdagentd logs via syslog() and to stderr, causing duplicated +# logs. Instead of sending stderr to the journal, disconnect it +StandardError=null diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-vdagent-0.22.1/missing new/spice-vdagent-0.23.0/missing --- old/spice-vdagent-0.22.1/missing 2022-02-14 11:29:26.000000000 +0100 +++ new/spice-vdagent-0.23.0/missing 2025-09-23 09:20:43.000000000 +0200 @@ -1,9 +1,11 @@ #! /bin/sh -# Common wrapper for a few potentially missing GNU programs. +# Common wrapper for a few potentially missing GNU and other programs. -scriptversion=2018-03-07.03; # UTC +scriptversion=2024-06-07.14; # UTC -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells + +# Copyright (C) 1996-2024 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <[email protected]>, 1996. # This program is free software; you can redistribute it and/or modify @@ -54,18 +56,20 @@ -v, --version output version information and exit Supported PROGRAM values: - aclocal autoconf autoheader autom4te automake makeinfo - bison yacc flex lex help2man +aclocal autoconf autogen autoheader autom4te automake autoreconf +bison flex help2man lex makeinfo perl yacc Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. -Send bug reports to <[email protected]>." +Report bugs to <[email protected]>. +GNU Automake home page: <https://www.gnu.org/software/automake/>. +General help using GNU software: <https://www.gnu.org/gethelp/>." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" + echo "missing (GNU Automake) $scriptversion" exit $? ;; @@ -108,7 +112,7 @@ program_details () { case $1 in - aclocal|automake) + aclocal|automake|autoreconf) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" @@ -123,6 +127,9 @@ echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; + *) + : + ;; esac } @@ -137,48 +144,55 @@ printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + autoheader_deps="'acconfig.h'" + automake_deps="'Makefile.am'" + aclocal_deps="'acinclude.m4'" case $normalized_program in + aclocal*) + echo "You should only need it if you modified $aclocal_deps or" + echo "$configure_deps." + ;; autoconf*) - echo "You should only need it if you modified 'configure.ac'," - echo "or m4 files included by it." - program_details 'autoconf' + echo "You should only need it if you modified $configure_deps." + ;; + autogen*) + echo "You should only need it if you modified a '.def' or '.tpl' file." + echo "You may want to install the GNU AutoGen package:" + echo "<$gnu_software_URL/autogen/>" ;; autoheader*) - echo "You should only need it if you modified 'acconfig.h' or" + echo "You should only need it if you modified $autoheader_deps or" echo "$configure_deps." - program_details 'autoheader' ;; automake*) - echo "You should only need it if you modified 'Makefile.am' or" - echo "$configure_deps." - program_details 'automake' - ;; - aclocal*) - echo "You should only need it if you modified 'acinclude.m4' or" + echo "You should only need it if you modified $automake_deps or" echo "$configure_deps." - program_details 'aclocal' ;; - autom4te*) + autom4te*) echo "You might have modified some maintainer files that require" echo "the 'autom4te' program to be rebuilt." - program_details 'autom4te' + ;; + autoreconf*) + echo "You should only need it if you modified $aclocal_deps or" + echo "$automake_deps or $autoheader_deps or $automake_deps or" + echo "$configure_deps." ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; - lex*|flex*) - echo "You should only need it if you modified a '.l' file." - echo "You may want to install the Fast Lexical Analyzer package:" - echo "<$flex_URL>" - ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." @@ -189,6 +203,12 @@ echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; + perl*) + echo "You should only need it to run GNU Autoconf, GNU Automake, " + echo " assorted other tools, or if you modified a Perl source file." + echo "You may want to install the Perl 5 language interpreter:" + echo "<$perl_URL>" + ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" @@ -197,6 +217,7 @@ echo "case some other package contains this missing '$1' program." ;; esac + program_details "$normalized_program" } give_advice "$1" | sed -e '1s/^/WARNING: /' \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-vdagent-0.22.1/src/config.h.in new/spice-vdagent-0.23.0/src/config.h.in --- old/spice-vdagent-0.22.1/src/config.h.in 2022-02-14 11:29:26.000000000 +0100 +++ new/spice-vdagent-0.23.0/src/config.h.in 2025-09-23 09:20:43.000000000 +0200 @@ -3,12 +3,39 @@ /* If defined, vdagentd will be compiled with ConsoleKit support */ #undef HAVE_CONSOLE_KIT +/* Define to 1 if you have the <inttypes.h> header file. */ +#undef HAVE_INTTYPES_H + /* If defined, vdagentd will be compiled with libsystemd-login support */ #undef HAVE_LIBSYSTEMD_LOGIN /* If defined, vdagentd will be compiled with pciaccess support */ #undef HAVE_PCIACCESS +/* Define to 1 if you have the <stdint.h> header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the <stdio.h> header file. */ +#undef HAVE_STDIO_H + +/* Define to 1 if you have the <stdlib.h> header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the <strings.h> header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the <string.h> header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the <sys/types.h> header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the <unistd.h> header file. */ +#undef HAVE_UNISTD_H + /* Name of package */ #undef PACKAGE @@ -30,7 +57,9 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION -/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C89 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ #undef STDC_HEADERS /* If defined, use GTK for clipboard features */ @@ -51,19 +80,20 @@ /* If defined, vdagentd will support socket activation with systemd */ #undef WITH_SYSTEMD_SOCKET_ACTIVATION -/* Enable large inode numbers on Mac OS X 10.5. */ -#ifndef _DARWIN_USE_64_BIT_INODE -# define _DARWIN_USE_64_BIT_INODE 1 -#endif - /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS /* Enable GNU extensions */ #undef _GNU_SOURCE -/* Define for large files, on AIX-style hosts. */ +/* Define to 1 on platforms where this makes off_t a 64-bit type. */ #undef _LARGE_FILES +/* Number of bits in time_t, on hosts where this is settable. */ +#undef _TIME_BITS + +/* Define to 1 on platforms where this makes time_t a 64-bit type. */ +#undef __MINGW_USE_VC2005_COMPAT + /* GLib2 < 2.68 compatibility */ #undef g_memdup2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-vdagent-0.22.1/src/vdagent/clipboard.c new/spice-vdagent-0.23.0/src/vdagent/clipboard.c --- old/spice-vdagent-0.22.1/src/vdagent/clipboard.c 2022-02-07 14:44:48.000000000 +0100 +++ new/spice-vdagent-0.23.0/src/vdagent/clipboard.c 2024-07-17 18:44:21.000000000 +0200 @@ -281,7 +281,7 @@ gtk_selection_data_get_data(sel_data), gtk_selection_data_get_length(sel_data)); } else { - syslog(LOG_WARNING, "%s: sel_id=%u: expected type %u, recieved %u, " + syslog(LOG_WARNING, "%s: sel_id=%u: expected type %u, received %u, " "skipping", __func__, sel_id, target, type); udscs_write(c->conn, VDAGENTD_CLIPBOARD_DATA, sel_id, VD_AGENT_CLIPBOARD_NONE, NULL, 0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-vdagent-0.22.1/src/vdagent/device-info.c new/spice-vdagent-0.23.0/src/vdagent/device-info.c --- old/spice-vdagent-0.22.1/src/vdagent/device-info.c 2022-02-07 14:44:48.000000000 +0100 +++ new/spice-vdagent-0.23.0/src/vdagent/device-info.c 2024-07-17 18:44:21.000000000 +0200 @@ -332,7 +332,7 @@ g_return_val_if_fail(device_id != NULL, NULL); g_return_val_if_fail(vendor_id != NULL, NULL); // Look for a device that matches the PCI address parsed above. Loop - // through the list of cards reported by the DRM subsytem + // through the list of cards reported by the DRM subsystem for (int i = 0; i < 10; ++i) { char dev_path[64]; struct stat buf; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-vdagent-0.22.1/src/vdagent/display.c new/spice-vdagent-0.23.0/src/vdagent/display.c --- old/spice-vdagent-0.22.1/src/vdagent/display.c 2022-02-14 11:24:36.000000000 +0100 +++ new/spice-vdagent-0.23.0/src/vdagent/display.c 2024-03-26 11:52:12.000000000 +0100 @@ -60,6 +60,7 @@ UdscsConnection *vdagentd; int debug; GIOChannel *x11_channel; + guint io_watch_source_id; VDAgentMutterDBus *mutter; }; @@ -296,7 +297,8 @@ return NULL; } - g_io_add_watch(display->x11_channel, G_IO_IN, x11_io_channel_cb, display); + display->io_watch_source_id = + g_io_add_watch(display->x11_channel, G_IO_IN, x11_io_channel_cb, display); /* Since we are started at the same time as the wm, @@ -323,7 +325,7 @@ return; } - + g_source_remove(display->io_watch_source_id); g_clear_pointer(&display->x11_channel, g_io_channel_unref); vdagent_x11_destroy(display->x11, vdagentd_disconnected); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-vdagent-0.22.1/src/vdagent/mutter.c new/spice-vdagent-0.23.0/src/vdagent/mutter.c --- old/spice-vdagent-0.22.1/src/vdagent/mutter.c 2022-02-07 14:44:48.000000000 +0100 +++ new/spice-vdagent-0.23.0/src/vdagent/mutter.c 2024-07-17 18:44:21.000000000 +0200 @@ -57,7 +57,7 @@ * * Returns: * An initialise VDAgentMutterDBus structure if successful. - * NULL if an error occured. + * NULL if an error occurred. */ VDAgentMutterDBus *vdagent_mutter_create(GHashTable *connector_mapping) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-vdagent-0.22.1/src/vdagent-connection.h new/spice-vdagent-0.23.0/src/vdagent-connection.h --- old/spice-vdagent-0.22.1/src/vdagent-connection.h 2022-02-07 14:44:48.000000000 +0100 +++ new/spice-vdagent-0.23.0/src/vdagent-connection.h 2024-07-17 18:44:21.000000000 +0200 @@ -28,7 +28,7 @@ #define VDAGENT_TYPE_CONNECTION vdagent_connection_get_type() G_DECLARE_DERIVABLE_TYPE(VDAgentConnection, vdagent_connection, VDAGENT, CONNECTION, GObject) -/* Sublasses of VDAgentConnection must implement +/* Subclasses of VDAgentConnection must implement * handle_header and handle_message. */ struct _VDAgentConnectionClass { GObjectClass parent_class; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-vdagent-0.22.1/src/vdagentd/vdagentd.c new/spice-vdagent-0.23.0/src/vdagentd/vdagentd.c --- old/spice-vdagent-0.22.1/src/vdagentd/vdagentd.c 2022-02-13 18:42:48.000000000 +0100 +++ new/spice-vdagent-0.23.0/src/vdagentd/vdagentd.c 2025-09-23 09:19:23.000000000 +0200 @@ -208,6 +208,9 @@ /* Store monitor config to send to agents when they connect */ size = sizeof(VDAgentMonitorsConfig) + new_monitors->num_of_monitors * sizeof(VDAgentMonConfig); + if (new_monitors->flags & VD_AGENT_CONFIG_MONITORS_FLAG_PHYSICAL_SIZE) { + size += new_monitors->num_of_monitors * sizeof(VDAgentMonitorMM); + } if (message_header->size != size) { syslog(LOG_ERR, "invalid message size for VDAgentMonitorsConfig"); return; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/spice-vdagent-0.22.1/test-driver new/spice-vdagent-0.23.0/test-driver --- old/spice-vdagent-0.22.1/test-driver 2022-02-14 11:29:26.000000000 +0100 +++ new/spice-vdagent-0.23.0/test-driver 2025-09-23 09:20:43.000000000 +0200 @@ -1,9 +1,9 @@ #! /bin/sh # test-driver - basic testsuite driver script. -scriptversion=2018-03-07.03; # UTC +scriptversion=2024-06-19.01; # UTC -# Copyright (C) 2011-2020 Free Software Foundation, Inc. +# Copyright (C) 2011-2024 Free Software Foundation, Inc. # # 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 @@ -42,11 +42,18 @@ { cat <<END Usage: - test-driver --test-name=NAME --log-file=PATH --trs-file=PATH - [--expect-failure={yes|no}] [--color-tests={yes|no}] - [--enable-hard-errors={yes|no}] [--] + test-driver --test-name NAME --log-file PATH --trs-file PATH + [--expect-failure {yes|no}] [--color-tests {yes|no}] + [--collect-skipped-logs {yes|no}] + [--enable-hard-errors {yes|no}] [--] TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS] + The '--test-name', '--log-file' and '--trs-file' options are mandatory. +See the GNU Automake documentation for information. + +Report bugs to <[email protected]>. +GNU Automake home page: <https://www.gnu.org/software/automake/>. +General help using GNU software: <https://www.gnu.org/gethelp/>. END } @@ -55,15 +62,17 @@ trs_file= # Where to save the metadata of the test run. expect_failure=no color_tests=no +collect_skipped_logs=yes enable_hard_errors=yes while test $# -gt 0; do case $1 in --help) print_usage; exit $?;; - --version) echo "test-driver $scriptversion"; exit $?;; + --version) echo "test-driver (GNU Automake) $scriptversion"; exit $?;; --test-name) test_name=$2; shift;; --log-file) log_file=$2; shift;; --trs-file) trs_file=$2; shift;; --color-tests) color_tests=$2; shift;; + --collect-skipped-logs) collect_skipped_logs=$2; shift;; --expect-failure) expect_failure=$2; shift;; --enable-hard-errors) enable_hard_errors=$2; shift;; --) shift; break;; @@ -103,8 +112,11 @@ trap "st=141; $do_exit" 13 trap "st=143; $do_exit" 15 -# Test script is run here. -"$@" >$log_file 2>&1 +# Test script is run here. We create the file first, then append to it, +# to ameliorate tests themselves also writing to the log file. Our tests +# don't, but others can (automake bug#35762). +: >"$log_file" +"$@" >>"$log_file" 2>&1 estatus=$? if test $enable_hard_errors = no && test $estatus -eq 99; then @@ -116,7 +128,7 @@ case $tweaked_estatus:$expect_failure in 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; 0:*) col=$grn res=PASS recheck=no gcopy=no;; - 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; + 77:*) col=$blu res=SKIP recheck=no gcopy=$collect_skipped_logs;; 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; *:*) col=$red res=FAIL recheck=yes gcopy=yes;; @@ -126,7 +138,7 @@ # know whether the test passed or failed simply by looking at the '.log' # file, without the need of also peaking into the corresponding '.trs' # file (automake bug#11814). -echo "$res $test_name (exit status: $estatus)" >>$log_file +echo "$res $test_name (exit status: $estatus)" >>"$log_file" # Report outcome to console. echo "${col}${res}${std}: $test_name"
