summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/abslibre-tools/librerelease7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/abslibre-tools/librerelease b/src/abslibre-tools/librerelease
index 3baa8ad..a204054 100755
--- a/src/abslibre-tools/librerelease
+++ b/src/abslibre-tools/librerelease
@@ -53,7 +53,7 @@ readonly rsync_flags=(
# Functions ####################################################################
list0_files() {
- find -L "${WORKDIR}/staging" -type f -print0
+ find -L "${WORKDIR}/staging" -type f -print0 | xargs -0 realpath -z --relative-to="${WORKDIR}/staging"
}
# This function is taken almost verbatim from makepkg
@@ -117,7 +117,7 @@ clean_files() {
fi
msg "Removing files from local staging directory"
- xargs -0 -a "$file_list" "${rmcmd[@]}"
+ cd "${WORKDIR}/staging" && xargs -0 -a "$file_list" "${rmcmd[@]}"
}
################################################################################
@@ -224,8 +224,9 @@ release_packages() {
msg "%s to upload" "$(du -hc --files0-from="$file_list" | sed -n '$s/\t.*//p')"
msg "Uploading packages..."
+ xargs -0 -a "$file_list" dirname -z | ssh ${REPODEST%%:*} "$(printf 'mkdir -p -- %q && cd %q && xargs -0 mkdir -pv --' "${REPODEST#*:}" "${REPODEST#*:}")"
if ! rsync ${dryrun} "${rsync_flags[@]}" \
- -0 --files-from="$file_list"
+ -0 --files-from="$file_list" \
${WORKDIR}/staging \
${REPODEST}/
then