summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@parabola.nu>2018-07-15 21:55:51 -0400
committerLuke Shumaker <lukeshu@parabola.nu>2018-10-07 19:00:51 -0400
commitc09e8c45175970ed66c0a4124618e07b252a5fc6 (patch)
tree0a5895e81c9791fc0ff047c74dab42404c9b9f15
parentb4b486925c5be2f1c666d46243866a13b2bc0329 (diff)
Have vcs_remove take $tarch instread of $pkgarch
-rw-r--r--db-functions-none4
-rw-r--r--db-functions-svn14
-rwxr-xr-xdb-remove2
3 files changed, 13 insertions, 7 deletions
diff --git a/db-functions-none b/db-functions-none
index 1d5a346..270719a 100644
--- a/db-functions-none
+++ b/db-functions-none
@@ -46,12 +46,12 @@ vcs_move_finish() {
:
}
-# usage: vcs_remove repo pkgarch pkgbase
+# usage: vcs_remove repo tarch pkgbase
#
# Remove the given package in VCS.
vcs_remove() {
local repo=$1
- local arch=$2
+ local tarch=$2
local pkgbase=$3
:
diff --git a/db-functions-svn b/db-functions-svn
index 9151b44..4d6717d 100644
--- a/db-functions-svn
+++ b/db-functions-svn
@@ -113,21 +113,27 @@ vcs_move_finish() {
arch_svn commit -q "${WORKDIR}/svn/${pkgbase}" -m "${0##*/}: moved ${pkgbase} from [${repo_from}] to [${repo_to}] (${tag_list})"
}
-# usage: vcs_remove repo pkgarch pkgbase
+# usage: vcs_remove repo tarch pkgbase
#
# Remove the given package in VCS.
vcs_remove() {
local repo=$1
- local arch=$2
+ local tarch=$2
local pkgbase=$3
local svnrepo="$repo-$arch"
_svn_checkout "$pkgbase"
- if [[ -d ${WORKDIR}/svn/$pkgbase/repos/$svnrepo ]]; then
+ if [[ -d ${WORKDIR}/svn/$pkgbase/repos/$repo-$tarch ]]; then
+ pkgarch=$tarch
+ elif [[ -d ${WORKDIR}/svn/$pkgbase/repos/$repo-any ]]; then
+ pkgarch=any
+ fi
+ if [[ -d ${WORKDIR}/svn/$pkgbase/repos/$repo-$pkgarch ]]; then
arch_svn rm --force -q "${WORKDIR}/svn/$pkgbase/repos/$svnrepo"
arch_svn commit -q "${WORKDIR}/svn/$pkgbase" -m "${0##*/}: $pkgbase removed by $(id -un)"
- else
+ svn_removed+=("$repo-$pkgarch/$pkgbase")
+ elif ! in_array "$repo-$pkgarch/$pkgbase" "${svn_removed[@]}"; then
warning "pkgbase '%s' not found in svn; unable to commit removal to svn" "$pkgbase"
fi
}
diff --git a/db-remove b/db-remove
index 4748884..a9d8eb4 100755
--- a/db-remove
+++ b/db-remove
@@ -32,8 +32,8 @@ for pkgbase in "${pkgbases[@]}"; do
declare -n remove_pkgs="remove_pkgs_${tarch}"
mapfile -t pkgnames < <(arch_expac_pkgbase "$repo" "$tarch" '%n' "$pkgbase")
remove_pkgs+=("${pkgnames[@]}")
+ vcs_remove "$repo" "$tarch" "$pkgbase"
done
- vcs_remove "$repo" "$arch" "$pkgbase"
done
for tarch in "${tarches[@]}"; do