Fixes <https://issues.guix.gnu.org/issue/48890>. * gnu/packages/xorg.scm (xpra): Update to 4.2. [source]: Switch to ".tar.gz" archive and update patch file. [native-inputs]: Add pandoc. [arguments]: Adjust custom 'fix-paths phase for changes in source. * gnu/packages/patches/xpra-4.2-systemd-run.patch: Adapt to new version and rename file. * gnu/local.mk (dist_patch_DATA): Rename file. Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
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):
 |