summary refs log tree commit diff
path: root/gnu/packages/patches/xpra-5.0-systemd-run.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/xpra-5.0-systemd-run.patch')
-rw-r--r--gnu/packages/patches/xpra-5.0-systemd-run.patch48
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/patches/xpra-5.0-systemd-run.patch b/gnu/packages/patches/xpra-5.0-systemd-run.patch
new file mode 100644
index 0000000000..437a8cc37f
--- /dev/null
+++ b/gnu/packages/patches/xpra-5.0-systemd-run.patch
@@ -0,0 +1,48 @@
+Distriction specific patch, not going upstream
+
+Disable systemd-run if the command is not found.
+
+diff --git a/xpra/scripts/main.py b/xpra/scripts/main.py
+index 3813331a5..46e2c83a6 100755
+--- a/xpra/scripts/main.py
++++ b/xpra/scripts/main.py
+@@ -337,23 +337,26 @@ def use_systemd_run(s) -> bool:
+     cmd = ["systemd-run", "--quiet"]
+     if getuid()!=0:
+         cmd += ["--user"]
+-    cmd += ["--scope", "--", "true"]
+-    proc = Popen(cmd, stdout=PIPE, stderr=PIPE, shell=False)
+     try:
+-        proc.communicate(timeout=2)
+-        r = proc.returncode
+-    except TimeoutExpired:  # pragma: no cover
+-        r = None
+-    if r is None:
+-        try:
+-            proc.terminate()
+-        except Exception:
+-            pass
++        cmd = ["systemd-run", "--quiet", "--user", "--scope", "--", "true"]
++        proc = Popen(cmd, stdout=PIPE, stderr=PIPE, shell=False)
+         try:
+-            proc.communicate(timeout=1)
++            proc.communicate(timeout=2)
++            r = proc.returncode
+         except TimeoutExpired:  # pragma: no cover
+             r = None
+-    return r==0
++        if r is None:
++            try:
++                proc.terminate()
++            except Exception:
++                pass
++            try:
++                proc.communicate(timeout=1)
++            except TimeoutExpired:  # pragma: no cover
++                r = None
++        return r==0
++    except FileNotFoundError:
++        return False
+ 
+ def verify_gir():
+     try: