aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/xpra-6.0-systemd-run.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/xpra-6.0-systemd-run.patch')
-rw-r--r--gnu/packages/patches/xpra-6.0-systemd-run.patch48
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/patches/xpra-6.0-systemd-run.patch b/gnu/packages/patches/xpra-6.0-systemd-run.patch
new file mode 100644
index 0000000000..2d60c29423
--- /dev/null
+++ b/gnu/packages/patches/xpra-6.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 1c5e8ddaad..084aabe792 100755
+--- a/xpra/scripts/main.py
++++ b/xpra/scripts/main.py
+@@ -396,23 +396,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():