#!/bin/bash . "$(dirname $0)/config" . "$(dirname $0)/db-functions" if [ $# -lt 3 ]; then msg "usage: ${0##*/} ..." exit 1 fi repo="$1" arch="$2" pkgbases=(${@:3}) ftppath="$FTP_BASE/$repo/os" svnrepo="$repo-$arch" if ! check_repo_permission $repo; then die "You don't have permission to remove packages from ${repo}" fi if [ "$arch" == "any" ]; then tarches=(${ARCHES[@]}) else tarches=("$arch") fi for tarch in ${tarches[@]}; do repo_lock $repo $tarch || exit 1 done remove_pkgs=() for pkgbase in ${pkgbases[@]}; do msg "Removing $pkgbase from [$repo]..." pkgfile="${GITREPO}/${arch}/${repo}/${pkgbase}" # FIXME: TODO: get pkgnames from package's git repo #remove_pkgs=(${remove_pkgs[@]} $(. "${}/svn/$pkgbase/repos/$svnrepo/PKGBUILD"; echo ${pkgname[@]})) remove_pkgs=$pkgbase cd "${GITREPO}" git rm "${pkgfile}" git commit -m "db-remove: ${repo}/${pkgbase} by $(id -un)" done for tarch in ${tarches[@]}; do arch_repo_remove "${repo}" "${tarch}" ${remove_pkgs[@]} repo_unlock $repo $tarch done