diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2013-01-31 23:24:07 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2013-01-31 23:24:07 +0100 |
commit | 0992cc36f525898ff07032d0ee697ecb62fedc07 (patch) | |
tree | d7397e2b875075104aeb1bbfdd75f0cf326cc027 | |
parent | c2ad0298b74877bb2cd85f8f0e899460714bb019 (diff) | |
download | dbscripts-20130131.tar.gz dbscripts-20130131.tar.xz |
db-update: Ignore forgeign staging packages20130131
-rwxr-xr-x | db-update | 9 | ||||
-rwxr-xr-x | test/test.d/db-update.sh | 10 |
2 files changed, 18 insertions, 1 deletions
@@ -9,11 +9,18 @@ if [ $# -ge 1 ]; then fi # Find repos with packages to release -repos=($(find "${STAGING}" -mindepth 1 -type d ! -empty -printf '%f ' 2>/dev/null)) +staging_repos=($(find "${STAGING}" -mindepth 1 -type f -name "*${PKGEXT}" -printf '%h\n' | sort -u)) if [ $? -ge 1 ]; then die "Could not read ${STAGING}" fi +repos=() +for staging_repo in ${staging_repos[@]##*/}; do + if in_array ${staging_repo} ${PKGREPOS[@]}; then + repos+=(${staging_repo}) + fi +done + # TODO: this might lock too much (architectures) for repo in ${repos[@]}; do for pkgarch in ${ARCHES[@]}; do diff --git a/test/test.d/db-update.sh b/test/test.d/db-update.sh index ea1e130..7a5ce4c 100755 --- a/test/test.d/db-update.sh +++ b/test/test.d/db-update.sh @@ -162,4 +162,14 @@ testAddIncompleteSplitPackage() { done } +testUnknownRepo() { + mkdir "${STAGING}/unknown/" + releasePackage extra 'pkg-simple-a' 'i686' + releasePackage unknown 'pkg-simple-b' 'i686' + ../db-update + checkPackage extra 'pkg-simple-a-1-1-i686.pkg.tar.xz' 'i686' + [ -e "${FTP_BASE}/unknown" ] && fail "db-update pushed a package into an unknown repository" + rm -rf "${STAGING}/unknown/" +} + . "${curdir}/../lib/shunit2" |