From dde8953bdc1cd4d32f02f3113377ec83d3223ce6 Mon Sep 17 00:00:00 2001 From: Alexander Chernyakhovsky Date: Sun, 8 Feb 2015 00:30:27 -0500 Subject: [PATCH] Switch PASS1 to an array Patch courtesy of andersk@mit.edu. Correct the shell escaping of globs by switching to a bash array; this avoids sending a literal backslash to rsync. --- fetch-scripts/debian | 4 ++-- fetch-scripts/debian-backports | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fetch-scripts/debian b/fetch-scripts/debian index abad14a..f38a09a 100644 --- a/fetch-scripts/debian +++ b/fetch-scripts/debian @@ -14,7 +14,7 @@ RSYNC_OPTS="--recursive --links --hard-links --times --sparse --hard-links --blo OTHER_OPTS="--verbose --stats" # Options we only use in the first pass, where we do not want packages/sources to fly in yet and dont want to delete files -PASS1="--exclude Packages\* --exclude Sources\* --exclude Release\* --exclude InRelease --exclude i18n/\* --exclude ls-lR\*" +PASS1=(--exclude Packages\* --exclude Sources\* --exclude Release\* --exclude InRelease --exclude i18n/\* --exclude ls-lR\*) # Options for the second pass, where we do want everything, including deletion of old and now unused files PASS2="--max-delete=40000 --delay-updates --delete --delete-after --delete-excluded --exclude \"project/trace/${HOSTNAME}\"" @@ -22,7 +22,7 @@ PASS2="--max-delete=40000 --delay-updates --delete --delete-after --delete-exclu # world-readable remotely. Always exclude it to avoid errors. EXCLUDE="--exclude .~tmp~/" -rsync ${RSYNC_OPTS} ${OTHER_OPTS} ${PASS1} ${EXCLUDE} ${RSYNCSOURCE} ${BASEDIR} +rsync ${RSYNC_OPTS} ${OTHER_OPTS} "${PASS1[@]}" ${EXCLUDE} ${RSYNCSOURCE} ${BASEDIR} rsync ${RSYNC_OPTS} ${OTHER_OPTS} ${PASS2} ${EXCLUDE} ${RSYNCSOURCE} ${BASEDIR} mkdir -p ${BASEDIR}/project/trace diff --git a/fetch-scripts/debian-backports b/fetch-scripts/debian-backports index bad2a98..079ed18 100644 --- a/fetch-scripts/debian-backports +++ b/fetch-scripts/debian-backports @@ -14,7 +14,7 @@ RSYNC_OPTS="--recursive --links --hard-links --times --sparse --hard-links --blo OTHER_OPTS="--verbose --stats" # Options we only use in the first pass, where we do not want packages/sources to fly in yet and dont want to delete files -PASS1="--exclude Packages\* --exclude Sources\* --exclude Release\* --exclude ls-lR\*" +PASS1=(--exclude Packages\* --exclude Sources\* --exclude Release\* --exclude ls-lR\*) # Options for the second pass, where we do want everything, including deletion of old and now unused files PASS2="--max-delete=40000 --delay-updates --delete --delete-after --delete-excluded --exclude \"project/trace/${HOSTNAME}\"" @@ -22,7 +22,7 @@ PASS2="--max-delete=40000 --delay-updates --delete --delete-after --delete-exclu # world-readable remotely. Always exclude it to avoid errors. EXCLUDE="--exclude .~tmp~/" -rsync ${RSYNC_OPTS} ${OTHER_OPTS} ${PASS1} ${EXCLUDE} ${RSYNCSOURCE} ${BASEDIR} +rsync ${RSYNC_OPTS} ${OTHER_OPTS} "${PASS1[@]}" ${EXCLUDE} ${RSYNCSOURCE} ${BASEDIR} rsync ${RSYNC_OPTS} ${OTHER_OPTS} ${PASS2} ${EXCLUDE} ${RSYNCSOURCE} ${BASEDIR} mkdir -p ${BASEDIR}/project/trace -- 2.45.2