From 271e10df6b3b482866152119032e54ee643e8d35 Mon Sep 17 00:00:00 2001 From: eatradish Date: Fri, 22 Jan 2021 21:08:56 +0800 Subject: [PATCH 1/2] pushpkg: fix the push path --- pushpkg/pushpkg | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pushpkg/pushpkg b/pushpkg/pushpkg index 4e6b5a2..3b88bc8 100755 --- a/pushpkg/pushpkg +++ b/pushpkg/pushpkg @@ -64,7 +64,21 @@ OUTPUT_DIR="$(readlink -f debs)" find "${OUTPUT_DIR}" -maxdepth 1 -type f -delete -print ssh ${ARGS_SSH} "${USERNAME}@repo.aosc.io" "mkdir -p '/mirror/debs/pool/${BRANCH}/${COMPOMENT}'" -rsync -rlOvhze ssh --progress "${OUTPUT_DIR}"/* "${USERNAME}@repo.aosc.io:/mirror/debs/pool/${BRANCH}/${COMPOMENT}" + +NOARCH_LIST_PATH=$(mktemp) +NOT_NOARCH_LIST_PATH=$(mktemp) +find . -name '*_noarch.deb' -print > "$NOARCH_LIST_PATH" +find . -not -name '*_noarch.deb' -print > "$NOT_NOARCH_LIST_PATH" + +for i in "$NOARCH_LIST_PATH"; do + rsync ${ARGS_RSYNC} -rlOvhze ssh --progress --ignore-existing $i "${USERNAME}@repo.aosc.io:/mirror/debs/pool/${BRANCH}/${COMPOMENT}/$(basename $(dirname $i)/" +done + +for i in "$NOT_NOARCH_LIST_PATH"; do + rsync ${ARGS_RSYNC} -rlOvhze ssh --progress $i "${USERNAME}@repo.aosc.io:/mirror/debs/pool/${BRANCH}/${COMPOMENT}/$(basename $(dirname $i)/" +done + +rm -v "$NOARCH_LIST_PATH" "$NOT_NOARCH_LIST_PATH" if [ $AFTER_CLEAN_DIRECTORY = 1 ]; then sudo rm -rv "$(pwd)/debs" From 8c14828a43da992f5e933b442f4b1a704d01c7bd Mon Sep 17 00:00:00 2001 From: liushuyu Date: Sat, 23 Jan 2021 03:58:00 -0700 Subject: [PATCH 2/2] pushpkg: fix rsync handling --- pushpkg/pushpkg | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/pushpkg/pushpkg b/pushpkg/pushpkg index 3b88bc8..eb281e3 100755 --- a/pushpkg/pushpkg +++ b/pushpkg/pushpkg @@ -65,21 +65,15 @@ find "${OUTPUT_DIR}" -maxdepth 1 -type f -delete -print ssh ${ARGS_SSH} "${USERNAME}@repo.aosc.io" "mkdir -p '/mirror/debs/pool/${BRANCH}/${COMPOMENT}'" -NOARCH_LIST_PATH=$(mktemp) -NOT_NOARCH_LIST_PATH=$(mktemp) +pushd "$OUTPUT_DIR" +NOARCH_LIST_PATH="$(mktemp)" find . -name '*_noarch.deb' -print > "$NOARCH_LIST_PATH" -find . -not -name '*_noarch.deb' -print > "$NOT_NOARCH_LIST_PATH" - -for i in "$NOARCH_LIST_PATH"; do - rsync ${ARGS_RSYNC} -rlOvhze ssh --progress --ignore-existing $i "${USERNAME}@repo.aosc.io:/mirror/debs/pool/${BRANCH}/${COMPOMENT}/$(basename $(dirname $i)/" -done - -for i in "$NOT_NOARCH_LIST_PATH"; do - rsync ${ARGS_RSYNC} -rlOvhze ssh --progress $i "${USERNAME}@repo.aosc.io:/mirror/debs/pool/${BRANCH}/${COMPOMENT}/$(basename $(dirname $i)/" -done +rsync ${ARGS_RSYNC} -rlOvhze ssh --progress --exclude-from "$NOARCH_LIST_PATH" . "${USERNAME}@repo.aosc.io:/mirror/debs/pool/${BRANCH}/${COMPOMENT}/" +rsync ${ARGS_RSYNC} -rlOvhze ssh --progress --ignore-existing --files-from "$NOARCH_LIST_PATH" . "${USERNAME}@repo.aosc.io:/mirror/debs/pool/${BRANCH}/${COMPOMENT}/" +popd rm -v "$NOARCH_LIST_PATH" "$NOT_NOARCH_LIST_PATH" if [ $AFTER_CLEAN_DIRECTORY = 1 ]; then - sudo rm -rv "$(pwd)/debs" + sudo rm -rv "$OUTPUT_DIR" fi