From c09e8c45175970ed66c0a4124618e07b252a5fc6 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 15 Jul 2018 21:55:51 -0400 Subject: Have vcs_remove take $tarch instread of $pkgarch --- db-functions-none | 4 ++-- db-functions-svn | 14 ++++++++++---- db-remove | 2 +- 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 -- cgit v1.2.2