Skip to content

Commit

Permalink
Make cross-test-ssh.sh compatible with a remote POSIX sh
Browse files Browse the repository at this point in the history
  • Loading branch information
Andreas Schwab committed Nov 3, 2012
1 parent f62c8ab commit a542b38
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 19 deletions.
8 changes: 8 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
2012-11-03 Andreas Schwab <schwab@linux-m68k.org>

* scripts/cross-test-ssh.sh (command): Use newlines to separate
commands. Quote $PWD.
(blacklist_exports): Don't use remove_newlines. Replace "declare
-x" by "export".
(remove_newlines): Remove.

2012-11-02 H.J. Lu <hongjiu.lu@intel.com>

* stdlib/Makefile (headers): Add bits/stdlib-float.h.
Expand Down
26 changes: 7 additions & 19 deletions scripts/cross-test-ssh.sh
Original file line number Diff line number Diff line change
Expand Up @@ -108,37 +108,25 @@ bourne_quote ()
done
}

# Remove unnecessary newlines from a Bourne shell command sequence.
remove_newlines ()
{
sed -n \
-e '1h' \
-e '2,$H' \
-e '${g
s/\([^\]\)\n/\1; /g
p
}'
}

# Unset all variables from the blacklist. Then echo all exported
# variables. The 'export -p' command adds backslashes for environment
# variables which contain newlines.
# variables.
blacklist_exports ()
{
(unset ${env_blacklist}; export -p) | remove_newlines
(unset ${env_blacklist}; export -p) | sed 's/^declare -x/export/'
}

# Produce properly quoted Bourne shell arguments for 'env' to carry
# over the current environment, less blacklisted variables.
# Produce commands to carry over the current environment, less blacklisted
# variables.
exports="$(blacklist_exports)"
exports="${exports:+${exports}; }"

# Transform the current argument list into a properly quoted Bourne shell
# command string.
command="$(bourne_quote "$@")"

# Add commands to set environment variables and the current directory.
command="${exports}cd $PWD; ${command}"
command="${exports}
cd $(bourne_quote "$PWD")
${command}"

# HOST's sshd simply concatenates its arguments with spaces and
# passes them to some shell. We want to force the use of /bin/sh,
Expand Down

0 comments on commit a542b38

Please sign in to comment.