summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2024-03-27 14:52:35 -0400
committerbill-auger <mr.j.spam.me@gmail.com>2024-03-28 16:25:54 -0400
commita8fe61ea4029dd26e24ed61e7352e398ffbf1b51 (patch)
tree636ab7fb8e418a613ea27597a41b0201a37308b8
parentdf49eac48f1633f46a26d923cb15430c8df594ca (diff)
add `-C` option to clear remote staging area
-rwxr-xr-xsrc/abslibre-tools/librerelease13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/abslibre-tools/librerelease b/src/abslibre-tools/librerelease
index 24e163d..a94c166 100755
--- a/src/abslibre-tools/librerelease
+++ b/src/abslibre-tools/librerelease
@@ -163,6 +163,7 @@ usage() {
echo
print "Options:"
flag '-c' "Clean Local: delete packages in local staging directory"
+ flag '-C' "Clean Remote: delete packages in remote staging directory"
flag '-h' "Help: Show this message"
flag '-l' "List: list packages but not upload them"
flag '-n' "Dry-run: don't actually do anything"
@@ -178,7 +179,7 @@ list() {
done
}
-clean() {
+clean_local() {
lock_staging
local file_list
@@ -191,6 +192,11 @@ clean() {
clean_files "$file_list"
}
+clean_remote() {
+ msg "Removing files from remote staging directory"
+ ${SSH_CMD[*]} "rm -rf ${TIER0_STAGING@Q}/*"
+}
+
release() {
local file_list="$( mktemp -t ${0##*/}_lst.XXXXXXXXXX)"
local dbupdate_log="$(mktemp -t ${0##*/}_log.XXXXXXXXXX)"
@@ -282,9 +288,10 @@ main() {
# Parse CLI options
local mode=release # publish packages to public repo (default)
UPLOAD_ONLY=false # upload and publish
- while getopts 'chlnu' arg; do
+ while getopts 'cChlnu' arg; do
case $arg in
- c) mode=clean ;; # empties local staging area
+ c) mode=clean_local ;; # empties local staging area
+ C) mode=clean_remote ;; # empties remote staging area
h) mode=usage ;; # print 'Usage' message
l) mode=list ;; # pretty-print locally-staged packages
n) DRY_RUN='--dry-run' ;; # only show what would be done