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):
 |