[arch-commits] Commit in spice-vdagent/trunk (PKGBUILD gnome-3.34.patch)

Balló György bgyorgy at archlinux.org
Sun Mar 15 20:20:49 UTC 2020


    Date: Sunday, March 15, 2020 @ 20:20:48
  Author: bgyorgy
Revision: 598512

upgpkg: spice-vdagent 0.20.0-1: Update to new version

Modified:
  spice-vdagent/trunk/PKGBUILD
Deleted:
  spice-vdagent/trunk/gnome-3.34.patch

------------------+
 PKGBUILD         |   14 ++-----
 gnome-3.34.patch |   95 -----------------------------------------------------
 2 files changed, 4 insertions(+), 105 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-03-15 20:20:42 UTC (rev 598511)
+++ PKGBUILD	2020-03-15 20:20:48 UTC (rev 598512)
@@ -2,8 +2,8 @@
 # Contributor: mutantmonkey <aur at mutantmonkey.in>
 
 pkgname=spice-vdagent
-pkgver=0.19.0
-pkgrel=2
+pkgver=0.20.0
+pkgrel=1
 pkgdesc="Spice agent for Linux guests"
 arch=('x86_64')
 url="https://www.spice-space.org/"
@@ -11,17 +11,11 @@
 depends=('alsa-lib' 'dbus' 'glib2' 'gtk3' 'libdrm' 'libpciaccess' 'libxfixes' 'libxinerama' 'libxrandr' 'systemd')
 makedepends=('spice-protocol')
 backup=('etc/conf.d/spice-vdagentd')
-source=("https://www.spice-space.org/download/releases/$pkgname-$pkgver.tar.bz2"
-        "gnome-3.34.patch")
-sha256sums=('63a77c611c84f8120519a78a30256e43e159085831ac82de71643db643972f65'
-            'cde285aba68b2949bc2ae4b5351691a3fd0b6d5a618623ea6d1a420c7ec56c7d')
+source=("https://www.spice-space.org/download/releases/$pkgname-$pkgver.tar.bz2")
+sha256sums=('2e6b7222675ee19ea38c52165abe4d836c2ac5d5bf902d4dfca13da1ec143359')
 
 prepare() {
 	cd $pkgname-$pkgver
-
-	# Fix session lookup for new GNOME versions
-	patch -Np1 -i ../gnome-3.34.patch
-
 	sed -i 's|/etc/sysconfig/spice-vdagentd|/etc/conf.d/spice-vdagentd|
 	        s|/usr/sbin/spice-vdagentd|/usr/bin/spice-vdagentd|' data/spice-vdagentd.service
 	sed -i 's|/etc/sysconfig/spice-vdagentd|/etc/conf.d/spice-vdagentd|' data/spice-vdagentd.1.in

Deleted: gnome-3.34.patch
===================================================================
--- gnome-3.34.patch	2020-03-15 20:20:42 UTC (rev 598511)
+++ gnome-3.34.patch	2020-03-15 20:20:48 UTC (rev 598512)
@@ -1,95 +0,0 @@
-From a494b8e799715ddf934ff4bd92a358a66204eb83 Mon Sep 17 00:00:00 2001
-From: Benjamin Berg <bberg at redhat.com>
-Date: Fri, 13 Sep 2019 17:00:27 +0200
-Subject: [PATCH] vdagentd: Fix session lookup for new GNOME versions
-
-New GNOME versions have started to manage the session using the systemd
-user instance. The effect of this is that the spice-vdagent running in
-the user session is forked off (indirectly) from the systemd user
-instance and does technically not belong to any session.
-
-The correct way of handling this situation is to simply assume that the
-process belongs to the users graphical session. Add a heuristic to find
-the graphical session based on the UID, fixing spice-vdagent running on
-GNOME 3.34 with systemd integration.
----
- src/vdagentd/systemd-login.c | 58 +++++++++++++++++++++++++++++++++---
- 1 file changed, 54 insertions(+), 4 deletions(-)
-
-diff --git a/src/vdagentd/systemd-login.c b/src/vdagentd/systemd-login.c
-index a11b66d..2e237ae 100644
---- a/src/vdagentd/systemd-login.c
-+++ b/src/vdagentd/systemd-login.c
-@@ -286,15 +286,65 @@ const char *session_info_get_active_session(struct session_info *si)
- 
- char *session_info_session_for_pid(struct session_info *si, uint32_t pid)
- {
-+    int i;
-     int r;
-+    GStrv sessions = NULL;
-     char *session = NULL;
-+    uid_t uid;
- 
-     r = sd_pid_get_session(pid, &session);
--    if (r < 0)
--        syslog(LOG_ERR, "Error getting session for pid %u: %s",
--                pid, strerror(-r));
--    else if (si->verbose)
-+    if (r >= 0)
-+        goto out;
-+
-+    /* If we could not get a session for the pid then the agent is probably
-+     * running in a systemd managed session. In that case we simply assume
-+     * it is actually part of the newest graphical session we can find. */
-+    r = sd_pid_get_owner_uid(pid, &uid);
-+    if (r < 0) {
-+        syslog(LOG_ERR, "Error getting owner UID for pid %u: %s",
-+               pid, strerror(-r));
-+        goto out;
-+    }
-+
-+    r = sd_uid_get_sessions(uid, 0, &sessions);
-+    if (r < 0) {
-+        syslog(LOG_ERR, "Error getting sessions for UID %d: %s",
-+               (int) uid, strerror(-r));
-+        goto out;
-+    }
-+
-+    for (i = 0; sessions[i] != NULL; i++) {
-+        char *session_type = NULL;
-+
-+        r = sd_session_get_type(sessions[i], &session_type);
-+
-+        if (r < 0) {
-+            syslog(LOG_ERR, "Error getting session type for session %s: %s",
-+                   sessions[i], strerror(-r));
-+            continue;
-+        }
-+
-+        if (g_strcmp0(session_type, "wayland") == 0 ||
-+            g_strcmp0(session_type, "x11") == 0 ||
-+            g_strcmp0(session_type, "mir") == 0) {
-+
-+            /* We prefer the newest session (i.e. last entry) from the
-+             * user, assuming that any old session that still exist has
-+             * just not yet died properly. */
-+            if (session != NULL)
-+                free (session);
-+            session = g_strdup(sessions[i]);
-+        }
-+
-+        free(session_type);
-+    }
-+
-+    g_strfreev(sessions);
-+
-+out:
-+    if (session != NULL && si->verbose) {
-         syslog(LOG_INFO, "Session for pid %u: %s", pid, session);
-+    }
- 
-     return session;
- }
--- 
-2.22.0
-



More information about the arch-commits mailing list