mirror of
https://github.com/borgbackup/borg.git
synced 2026-06-11 01:41:57 -04:00
create --*-from-command: run subcommands with a clean environment, fixes #7916
When borg invokes a system command, it needs to prepare the environment for that. This is especially important when using a pyinstaller-made borg fat binary that works with a modified env var LD_LIBRARY_PATH - system commands may crash with that. borg already had calls to prepare_subprocess_env at some places (e.g. when invoking ssh for the remote repo connection), but they were missing for: borg create --content-from-command ... borg create --paths-from-command ...
This commit is contained in:
parent
11af475308
commit
e006a6f368
1 changed files with 4 additions and 2 deletions
|
|
@ -533,7 +533,8 @@ class Archiver:
|
|||
if not dry_run:
|
||||
try:
|
||||
try:
|
||||
proc = subprocess.Popen(args.paths, stdout=subprocess.PIPE, preexec_fn=ignore_sigint)
|
||||
env = prepare_subprocess_env(system=True)
|
||||
proc = subprocess.Popen(args.paths, stdout=subprocess.PIPE, env=env, preexec_fn=ignore_sigint)
|
||||
except (FileNotFoundError, PermissionError) as e:
|
||||
self.print_error('Failed to execute command: %s', e)
|
||||
return self.exit_code
|
||||
|
|
@ -552,7 +553,8 @@ class Archiver:
|
|||
paths_sep = eval_escapes(args.paths_delimiter) if args.paths_delimiter is not None else '\n'
|
||||
if args.paths_from_command:
|
||||
try:
|
||||
proc = subprocess.Popen(args.paths, stdout=subprocess.PIPE, preexec_fn=ignore_sigint)
|
||||
env = prepare_subprocess_env(system=True)
|
||||
proc = subprocess.Popen(args.paths, stdout=subprocess.PIPE, env=env, preexec_fn=ignore_sigint)
|
||||
except (FileNotFoundError, PermissionError) as e:
|
||||
self.print_error('Failed to execute command: %s', e)
|
||||
return self.exit_code
|
||||
|
|
|
|||
Loading…
Reference in a new issue