From 1c0dd57cd3e253b2ac7036366ef91e286422c830 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Tue, 31 Mar 2020 17:10:29 -0400 Subject: [PATCH] [libc++] Use 'export' instead of 'env' to run remote commands This allows running commands that use shell builtins remotely too, when 'env' would complain that it can't find the program. --- libcxx/utils/ssh.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libcxx/utils/ssh.py b/libcxx/utils/ssh.py index 20acaeb..02e1e3b 100644 --- a/libcxx/utils/ssh.py +++ b/libcxx/utils/ssh.py @@ -78,8 +78,12 @@ def main(): # Execute the command through SSH in the temporary directory, with the # correct environment. - command = [exe] + remaining if exe else remaining - res = subprocess.call(ssh('cd {} && env -i {} {}'.format(tmp, ' '.join(args.env), ' '.join(command)))) + commands = [ + 'cd {}'.format(tmp), + 'export {}'.format(' '.join(args.env)), + ' '.join([exe] + remaining if exe else remaining) + ] + res = subprocess.call(ssh(' && '.join(commands))) # Remove the temporary directory when we're done. subprocess.call(ssh('rm -r {}'.format(tmp))) -- 2.7.4