commitpkg: use absolute paths when uploading files

This fixes a problem where rsync won't work if the pkgver contains a
colon (epoch). In this case rsync assumes that the colon is a
remote:path separator and having src and dest both being remote
arguments is not supported.

Signed-off-by: Florian Pritz <bluewind@xinu.at>
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
This commit is contained in:
Florian Pritz 2012-01-22 17:20:52 +01:00 committed by Pierre Schmitz
parent b763788b16
commit 06a681ca3d
1 changed files with 10 additions and 0 deletions

View File

@ -168,6 +168,16 @@ for _arch in ${arch[@]}; do
done
archrelease "${commit_arches[@]/#/$repo-}" || die
new_uploads=()
# convert to absolute paths so rsync can work with colons (epoch)
while read -r -d '' upload; do
new_uploads+=("$upload")
done < <(realpath -z "${uploads[@]}")
uploads=("${new_uploads[@]}")
unset new_uploads
if [[ ${#uploads[*]} -gt 0 ]]; then
msg 'Uploading all package and signature files'
rsync "${rsyncopts[@]}" "${uploads[@]}" "$server:staging/$repo/" || die