From 8885f979096f46afd30188e92cefd492c3620787 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 18 Nov 2016 18:22:09 +0000 Subject: Quote shell commands in logs from build-many-glibcs.py. As requested in , this patch makes the commands recorded in build-many-glibcs.py quote words so they can be cut-and-pasted back into a shell. (Note that these logs are generated by the wrapper script generated to run commands with logs, hence the needs for quoting logic to be implemented in that shell script.) * scripts/build-many-glibcs.py (Context.write_files): Make wrapper script quote words in command output to log suitably for input to the shell. --- scripts/build-many-glibcs.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py index b0e0f5e8ef..517dec4974 100755 --- a/scripts/build-many-glibcs.py +++ b/scripts/build-many-glibcs.py @@ -423,7 +423,17 @@ class Context(object): 'date > "$this_log"\n' 'echo >> "$this_log"\n' 'echo "Description: $desc" >> "$this_log"\n' - 'echo "Command: $*" >> "$this_log"\n' + 'printf "%s" "Command:" >> "$this_log"\n' + 'for word in "$@"; do\n' + ' if expr "$word" : "[]+,./0-9@A-Z_a-z-]\\\\{1,\\\\}\\$" > /dev/null; then\n' + ' printf " %s" "$word"\n' + ' else\n' + ' printf " \'"\n' + ' printf "%s" "$word" | sed -e "s/\'/\'\\\\\\\\\'\'/"\n' + ' printf "\'"\n' + ' fi\n' + 'done >> "$this_log"\n' + 'echo >> "$this_log"\n' 'echo "Directory: $dir" >> "$this_log"\n' 'echo "Path addition: $path" >> "$this_log"\n' 'echo >> "$this_log"\n' -- cgit v1.2.3