summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/xpra-4.2-systemd-run.patch
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-10-01 17:10:49 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-10-01 17:10:49 -0400
commit2e65e4834a226c570866f2e8976ed7f252b45cd1 (patch)
tree21d625bce8d03627680214df4a6622bf8eb79dc9 /gnu/packages/patches/xpra-4.2-systemd-run.patch
parent9c68ecb24dd1660ce736cdcdea0422a73ec318a2 (diff)
parentf1a3c11407b52004e523ec5de20d326c5661681f (diff)
Merge remote-tracking branch 'origin/master' into staging
With resolved conflicts in: gnu/packages/bittorrent.scm gnu/packages/databases.scm gnu/packages/geo.scm gnu/packages/gnupg.scm gnu/packages/gstreamer.scm gnu/packages/gtk.scm gnu/packages/linux.scm gnu/packages/python-xyz.scm gnu/packages/xorg.scm guix/build/qt-utils.scm
Diffstat (limited to 'gnu/packages/patches/xpra-4.2-systemd-run.patch')
-rw-r--r--gnu/packages/patches/xpra-4.2-systemd-run.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/gnu/packages/patches/xpra-4.2-systemd-run.patch b/gnu/packages/patches/xpra-4.2-systemd-run.patch
new file mode 100644
index 0000000000..8dfd9c82f0
--- /dev/null
+++ b/gnu/packages/patches/xpra-4.2-systemd-run.patch
@@ -0,0 +1,45 @@
+Disable systemd-run if the command is not found.
+
+diff -ru xpra-4.2~/xpra/scripts/main.py xpra-4.2/xpra/scripts/main.py
+--- xpra-4.2~/xpra/scripts/main.py 2021-06-06 08:51:13.756815842 -0700
++++ xpra-4.2/xpra/scripts/main.py 2021-06-06 16:07:13.371024486 -0700
+@@ -331,23 +331,26 @@
+ if not is_systemd_pid1():
+ return False # pragma: no cover
+ #test it:
+- cmd = ["systemd-run", "--quiet", "--user", "--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:
++ cmd = ["systemd-run", "--quiet", "--user", "--scope", "--", "true"]
++ proc = Popen(cmd, stdout=PIPE, stderr=PIPE, shell=False)
+ try:
+- proc.terminate()
+- except Exception:
+- pass
+- 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 run_mode(script_file, error_cb, options, args, mode, defaults):