[Dev] [dbscripts] [PATCH 29/31] Move package and db checks from test cases to library
Luke Shumaker
lukeshu at lukeshu.com
Fri Apr 6 18:44:02 GMT 2018
From: Pierre Schmitz <pierre at archlinux.de>
(cherry picked from commit 7628525156110022fa70ad91e4bc13ee8a3cceb0)
---
test/cases/db-move.bats | 37 ++++-------
test/cases/db-remove.bats | 10 +--
test/cases/db-repo-add.bats | 12 +---
test/cases/db-repo-remove.bats | 10 +--
test/cases/db-update.bats | 54 +++++++----------
test/cases/ftpdir-cleanup.bats | 46 +++++++-------
test/lib/common.bash | 135 +++++++++++++++++++++++------------------
7 files changed, 143 insertions(+), 161 deletions(-)
diff --git a/test/cases/db-move.bats b/test/cases/db-move.bats
index cdc89e3..8d5087f 100755
--- a/test/cases/db-move.bats
+++ b/test/cases/db-move.bats
@@ -13,12 +13,9 @@ load ../lib/common
db-move testing extra pkg-simple-a
- for arch in "${ARCH_BUILD[@]}"; do
- checkPackage extra "pkg-simple-a-1-1-${arch}.pkg.tar.xz" "${arch}"
- checkRemovedPackage testing pkg-simple-a "${arch}"
-
- checkPackage testing "pkg-simple-b-1-1-${arch}.pkg.tar.xz" "${arch}"
- done
+ checkRemovedPackage testing pkg-simple-a
+ checkPackage extra pkg-simple-a
+ checkPackage testing pkg-simple-b
}
@test "move multiple packages" {
@@ -35,10 +32,8 @@ load ../lib/common
db-move testing extra pkg-simple-a pkg-simple-b
for pkgbase in "${pkgs[@]}"; do
- for arch in "${ARCH_BUILD[@]}"; do
- checkPackage extra "${pkgbase}-1-1-${arch}.pkg.tar.xz" "${arch}"
- checkRemovedPackage testing "${pkgbase}" "${arch}"
- done
+ checkRemovedPackage testing "${pkgbase}"
+ checkPackage extra "${pkgbase}"
done
}
@@ -55,10 +50,8 @@ load ../lib/common
db-move testing extra pkg-simple-epoch
- for arch in "${ARCH_BUILD[@]}"; do
- checkPackage extra "pkg-simple-epoch-1:1-1-${arch}.pkg.tar.xz" "${arch}"
- checkRemovedPackage testing pkg-simple-epoch "${arch}"
- done
+ checkRemovedPackage testing pkg-simple-epoch
+ checkPackage extra pkg-simple-epoch
}
@test "move any packages" {
@@ -72,9 +65,9 @@ load ../lib/common
db-update
db-move testing extra pkg-any-a
- checkPackage extra pkg-any-a-1-1-any.pkg.tar.xz any
- checkRemovedPackage testing pkg-any-a any
- checkPackage testing pkg-any-b-1-1-any.pkg.tar.xz any
+ checkPackage extra pkg-any-a
+ checkRemovedPackage testing pkg-any-a
+ checkPackage testing pkg-any-b
}
@test "move split packages" {
@@ -90,12 +83,6 @@ load ../lib/common
db-update
db-move testing extra pkg-split-a
- for arch in "${ARCH_BUILD[@]}"; do
- for pkg in $(getPackageNamesFromPackageBase pkg-split-a); do
- checkPackage extra "${pkg##*/}" "${arch}"
- done
- for pkg in $(getPackageNamesFromPackageBase pkg-split-b); do
- checkPackage testing "${pkg##*/}" "${arch}"
- done
- done
+ checkPackage extra pkg-split-a
+ checkPackage testing pkg-split-b
}
diff --git a/test/cases/db-remove.bats b/test/cases/db-remove.bats
index deb0f0e..ff88237 100755
--- a/test/cases/db-remove.bats
+++ b/test/cases/db-remove.bats
@@ -18,9 +18,7 @@ load ../lib/common
done
for pkgbase in "${pkgs[@]}"; do
- for arch in "${ARCH_BUILD[@]}"; do
- checkRemovedPackage extra "${pkgbase}" "${arch}"
- done
+ checkRemovedPackage extra "${pkgbase}"
done
}
@@ -40,9 +38,7 @@ load ../lib/common
done
for pkgbase in "${pkgs[@]}"; do
- for arch in "${ARCH_BUILD[@]}"; do
- checkRemovedPackage extra "${pkgbase}" "${arch}"
- done
+ checkRemovedPackage extra "${pkgbase}"
done
}
@@ -61,6 +57,6 @@ load ../lib/common
done
for pkgbase in "${pkgs[@]}"; do
- checkRemovedPackage extra "${pkgbase}" any
+ checkRemovedPackage extra "${pkgbase}"
done
}
diff --git a/test/cases/db-repo-add.bats b/test/cases/db-repo-add.bats
index a04d9bb..ef6cfe7 100755
--- a/test/cases/db-repo-add.bats
+++ b/test/cases/db-repo-add.bats
@@ -35,9 +35,7 @@ __movePackageToRepo() {
done
for pkgbase in "${pkgs[@]}"; do
- for arch in "${ARCH_BUILD[@]}"; do
- checkPackageDB extra "${pkgbase}-1-1-${arch}.pkg.tar.xz" "${arch}"
- done
+ checkPackageDB extra "${pkgbase}"
done
}
@@ -60,9 +58,7 @@ __movePackageToRepo() {
done
for pkgbase in "${pkgs[@]}"; do
- for arch in "${ARCH_BUILD[@]}"; do
- checkPackageDB extra "${pkgbase}-1-1-${arch}.pkg.tar.xz" "${arch}"
- done
+ checkPackageDB extra "${pkgbase}"
done
}
@@ -78,8 +74,6 @@ __movePackageToRepo() {
done
for pkgbase in ${pkgs[@]}; do
- for arch in "${ARCH_BUILD[@]}"; do
- checkPackageDB extra ${pkgbase}-1-1-any.pkg.tar.xz ${arch}
- done
+ checkPackageDB extra ${pkgbase}
done
}
diff --git a/test/cases/db-repo-remove.bats b/test/cases/db-repo-remove.bats
index 6145f25..389c31e 100755
--- a/test/cases/db-repo-remove.bats
+++ b/test/cases/db-repo-remove.bats
@@ -18,9 +18,7 @@ load ../lib/common
done
for pkgbase in "${pkgs[@]}"; do
- for arch in "${ARCH_BUILD[@]}"; do
- checkRemovedPackageDB extra "${pkgbase}" "${arch}"
- done
+ checkRemovedPackageDB extra "${pkgbase}"
done
}
@@ -40,9 +38,7 @@ load ../lib/common
done
for pkgbase in "${pkgs[@]}"; do
- for arch in "${ARCH_BUILD[@]}"; do
- checkRemovedPackageDB extra "${pkgbase}" "${arch}"
- done
+ checkRemovedPackageDB extra "${pkgbase}"
done
}
@@ -61,6 +57,6 @@ load ../lib/common
done
for pkgbase in ${pkgs[@]}; do
- checkRemovedPackageDB extra ${pkgbase} any
+ checkRemovedPackageDB extra ${pkgbase}
done
}
diff --git a/test/cases/db-update.bats b/test/cases/db-update.bats
index 3a2e543..56e364b 100755
--- a/test/cases/db-update.bats
+++ b/test/cases/db-update.bats
@@ -12,22 +12,20 @@ load ../lib/common
db-update
for pkgbase in "${pkgs[@]}"; do
- for arch in "${ARCH_BUILD[@]}"; do
- checkPackage extra "${pkgbase}-1-1-${arch}.pkg.tar.xz" "${arch}"
- done
+ checkPackage extra "${pkgbase}"
done
}
@test "add single simple package" {
releasePackage extra 'pkg-single-arch'
db-update
- checkPackage extra 'pkg-single-arch-1-1-x86_64.pkg.tar.xz' 'x86_64'
+ checkPackage extra 'pkg-single-arch'
}
@test "add single epoch package" {
releasePackage extra 'pkg-single-epoch'
db-update
- checkPackage extra 'pkg-single-epoch-1:1-1-x86_64.pkg.tar.xz' 'x86_64'
+ checkPackage extra 'pkg-single-epoch'
}
@test "add any packages" {
@@ -41,7 +39,7 @@ load ../lib/common
db-update
for pkgbase in "${pkgs[@]}"; do
- checkPackage extra "${pkgbase}-1-1-any.pkg.tar.xz" any
+ checkPackage extra "${pkgbase}"
done
}
@@ -58,11 +56,7 @@ load ../lib/common
db-update
for pkgbase in "${pkgs[@]}"; do
- for arch in "${ARCH_BUILD[@]}"; do
- for pkg in $(getPackageNamesFromPackageBase ${pkgbase}); do
- checkPackage extra "${pkg##*/}" "${arch}"
- done
- done
+ checkPackage extra "${pkgbase}"
done
}
@@ -75,7 +69,7 @@ load ../lib/common
releasePackage extra pkg-any-a
db-update
- checkPackage extra pkg-any-a-1-2-any.pkg.tar.xz any
+ checkPackage extra pkg-any-a
}
@test "update any package to different repositories at once" {
@@ -87,14 +81,14 @@ load ../lib/common
db-update
- checkPackage extra pkg-any-a-1-1-any.pkg.tar.xz any
- checkPackage testing pkg-any-a-1-2-any.pkg.tar.xz any
+ checkPackage extra pkg-any-a
+ checkPackage testing pkg-any-a
}
@test "update same any package to same repository" {
releasePackage extra pkg-any-a
db-update
- checkPackage extra pkg-any-a-1-1-any.pkg.tar.xz any
+ checkPackage extra pkg-any-a
releasePackage extra pkg-any-a
run db-update
@@ -104,13 +98,13 @@ load ../lib/common
@test "update same any package to different repositories" {
releasePackage extra pkg-any-a
db-update
- checkPackage extra pkg-any-a-1-1-any.pkg.tar.xz any
+ checkPackage extra pkg-any-a
releasePackage testing pkg-any-a
run db-update
[ "$status" -ne 0 ]
- checkRemovedPackageDB testing pkg-any-a any
+ checkRemovedPackageDB testing pkg-any-a
}
@test "add incomplete split package" {
@@ -127,9 +121,7 @@ load ../lib/common
run db-update
[ "$status" -ne 0 ]
- for arch in "${ARCH_BUILD[@]}"; do
- checkRemovedPackageDB ${repo} ${pkgbase} ${arch}
- done
+ checkRemovedPackageDB ${repo} ${pkgbase}
}
@test "unknown repo" {
@@ -137,7 +129,7 @@ load ../lib/common
releasePackage extra 'pkg-any-a'
releasePackage unknown 'pkg-any-b'
db-update
- checkPackage extra 'pkg-any-a-1-1-any.pkg.tar.xz' any
+ checkPackage extra 'pkg-any-a'
[ ! -e "${FTP_BASE}/unknown" ]
rm -rf "${STAGING}/unknown/"
}
@@ -148,7 +140,7 @@ load ../lib/common
run db-update
[ "$status" -ne 0 ]
- checkRemovedPackageDB extra pkg-any-a any
+ checkRemovedPackageDB extra pkg-any-a
}
@test "add invalid signed package fails" {
@@ -161,7 +153,7 @@ load ../lib/common
run db-update
[ "$status" -ne 0 ]
- checkRemovedPackageDB extra pkg-any-a any
+ checkRemovedPackageDB extra pkg-any-a
}
@test "add broken signature fails" {
@@ -173,7 +165,7 @@ load ../lib/common
run db-update
[ "$status" -ne 0 ]
- checkRemovedPackageDB extra pkg-any-a any
+ checkRemovedPackageDB extra pkg-any-a
}
@test "add package with inconsistent version fails" {
@@ -186,7 +178,7 @@ load ../lib/common
run db-update
[ "$status" -ne 0 ]
- checkRemovedPackageDB extra 'pkg-any-a' 'any'
+ checkRemovedPackageDB extra 'pkg-any-a'
}
@test "add package with inconsistent name fails" {
@@ -199,7 +191,7 @@ load ../lib/common
run db-update
[ "$status" -ne 0 ]
- checkRemovedPackage extra 'foo-pkg-any-a' 'any'
+ checkRemovedPackage extra 'pkg-any-a'
}
@test "add package with inconsistent pkgbuild fails" {
@@ -210,7 +202,7 @@ load ../lib/common
run db-update
[ "$status" -ne 0 ]
- checkRemovedPackageDB extra 'pkg-any-a' 'any'
+ checkRemovedPackageDB extra 'pkg-any-a'
}
@test "add package with insufficient permissions fails" {
@@ -222,8 +214,8 @@ load ../lib/common
[ "$status" -ne 0 ]
chmod +xwr ${FTP_BASE}/core/os/i686
- checkRemovedPackageDB core 'pkg-any-a' 'any'
- checkRemovedPackageDB extra 'pkg-any-b' 'any'
+ checkRemovedPackageDB core 'pkg-any-a'
+ checkRemovedPackageDB extra 'pkg-any-b'
}
@test "package has to be a regular file" {
@@ -239,7 +231,5 @@ load ../lib/common
run db-update
[ "$status" -ne 0 ]
- for arch in "${ARCH_BUILD[@]}"; do
- checkRemovedPackageDB extra "pkg-simple-a" $arch
- done
+ checkRemovedPackageDB extra "pkg-simple-a"
}
diff --git a/test/cases/ftpdir-cleanup.bats b/test/cases/ftpdir-cleanup.bats
index 1a46fdf..35b3c9f 100755
--- a/test/cases/ftpdir-cleanup.bats
+++ b/test/cases/ftpdir-cleanup.bats
@@ -1,13 +1,21 @@
load ../lib/common
+__getPackageNamesFromPackageBase() {
+ local pkgbase=$1
+
+ (. "packages/${pkgbase}/PKGBUILD"; echo ${pkgname[@]})
+}
+
__checkRepoRemovedPackage() {
local repo=$1
local pkgbase=$2
- local arch=$3
+ local repoarch=$3
+ local pkgname
- # FIXME: pkgbase might not be part of the package filename
- [[ ! -f ${FTP_BASE}/${PKGPOOL}/${pkgbase}*${PKGEXT} ]]
- [[ ! -f ${FTP_BASE}/${repo}/os/${arch}/${pkgbase}*${PKGEXT} ]]
+ for pkgname in $(__getPackageNamesFromPackageBase ${pkgbase}); do
+ [[ ! -f ${FTP_BASE}/${PKGPOOL}/${pkgname}-*${PKGEXT} ]]
+ [[ ! -f ${FTP_BASE}/${repo}/os/${repoarch}/${pkgname}-*${PKGEXT} ]]
+ done
}
@test "cleanup simple packages" {
@@ -27,13 +35,12 @@ __checkRepoRemovedPackage() {
ftpdir-cleanup
+ checkRemovedPackage extra 'pkg-simple-a'
for arch in "${ARCH_BUILD[@]}"; do
- checkRemovedPackage extra 'pkg-simple-a' "${arch}"
__checkRepoRemovedPackage extra 'pkg-simple-a' ${arch}
-
- local pkg2="pkg-simple-b-1-1-${arch}.pkg.tar.xz"
- checkPackage extra "${pkg2}" "${arch}"
done
+
+ checkPackage extra pkg-simple-b
}
@test "cleanup epoch packages" {
@@ -53,8 +60,8 @@ __checkRepoRemovedPackage() {
ftpdir-cleanup
+ checkRemovedPackage extra 'pkg-simple-epoch'
for arch in "${ARCH_BUILD[@]}"; do
- checkRemovedPackage extra 'pkg-simple-epoch' "${arch}"
__checkRepoRemovedPackage extra 'pkg-simple-epoch' ${arch}
done
}
@@ -73,11 +80,12 @@ __checkRepoRemovedPackage() {
ftpdir-cleanup
local pkg1='pkg-any-a-1-1-any.pkg.tar.xz'
- checkRemovedPackage extra 'pkg-any-a' any
- __checkRepoRemovedPackage extra 'pkg-any-a' any
+ checkRemovedPackage extra 'pkg-any-a'
+ for arch in ${ARCH_BUILD[@]}; do
+ __checkRepoRemovedPackage extra 'pkg-any-a' ${arch}
+ done
- local pkg2="pkg-any-b-1-1-${arch}.pkg.tar.xz"
- checkPackage extra "${pkg2}" any
+ checkPackage extra pkg-any-b
}
@test "cleanup split packages" {
@@ -99,15 +107,11 @@ __checkRepoRemovedPackage() {
ftpdir-cleanup
for arch in "${ARCH_BUILD[@]}"; do
- for pkg in $(getPackageNamesFromPackageBase "${pkgs[0]}"); do
- checkRemovedPackage extra "${pkg}" "${arch}"
- __checkRepoRemovedPackage extra ${pkg} ${arch}
- done
-
- for pkg in $(getPackageNamesFromPackageBase "${pkgs[1]}"); do
- checkPackage extra "${pkg##*/}" "${arch}"
- done
+ __checkRepoRemovedPackage extra ${pkg[0]} ${arch}
done
+
+ checkRemovedPackage extra "${pkgs[0]}"
+ checkPackage extra "${pkgs[1]}"
}
@test "cleanup old packages" {
diff --git a/test/lib/common.bash b/test/lib/common.bash
index 98b4469..a833181 100644
--- a/test/lib/common.bash
+++ b/test/lib/common.bash
@@ -3,23 +3,6 @@
. /usr/share/makepkg/util.sh
. "$(dirname "${BASH_SOURCE[0]}")"/../test.conf
-__getPackageBaseFromPackage() {
- local _base
- _grep_pkginfo() {
- local _ret
-
- _ret="$(/usr/bin/bsdtar -xOqf "$1" .PKGINFO | grep -m 1 "^${2} = ")"
- echo "${_ret#${2} = }"
- }
-
- _base="$(_grep_pkginfo "$1" "pkgbase")"
- if [ -z "$_base" ]; then
- _grep_pkginfo "$1" "pkgname"
- else
- echo "$_base"
- fi
-}
-
__updatePKGBUILD() {
local pkgrel
@@ -175,86 +158,118 @@ updateRepoPKGBUILD() {
popd
}
-getPackageNamesFromPackageBase() {
- local pkgbase=$1
-
- $(. "packages/${pkgbase}/PKGBUILD"; echo ${pkgname[@]})
-}
-
checkPackageDB() {
local repo=$1
- local pkg=$2
- local arch=$3
+ local pkgbase=$2
local db
- local tarch
- local tarches
-
- [ -r "${FTP_BASE}/${PKGPOOL}/${pkg}" ]
- [ -r "${FTP_BASE}/${PKGPOOL}/${pkg}.sig" ]
- [ ! -r "${STAGING}/${repo}/${pkg}" ]
- [ ! -r "${STAGING}/${repo}/${pkg}.sig" ]
-
- if [[ $arch == any ]]; then
- tarches=("${ARCHES[@]}")
+ local pkgarch
+ local repoarch
+ local repoarches
+ local pkgfile
+ local pkgname
+
+ # FIXME: We guess the location of the PKGBUILD used for this repo
+ # We cannot read from trunk as __updatePKGBUILD() might have bumped the version
+ # and different repos can have different versions of the same package
+ local pkgbuildPaths=($(compgen -G "${TMP}/svn-packages-copy/${pkgbase}/repos/${repo}-*"))
+ local pkgbuildPath="${pkgbuildPaths[0]}"
+ echo Repo is $repo
+ echo pkgbuildPaths = ${pkgbuildPaths[@]}
+ echo pkgbuildPath = ${pkgbuildPath}
+ ls -ahl ${TMP}/svn-packages-copy/${pkgbase}/repos/
+ [ -r "${pkgbuildPath}/PKGBUILD" ]
+
+ local pkgarches=($(. "${pkgbuildPath}/PKGBUILD"; echo ${arch[@]}))
+ local pkgnames=($(. "${pkgbuildPath}/PKGBUILD"; echo ${pkgname[@]}))
+ local pkgver=$(. "${pkgbuildPath}/PKGBUILD"; get_full_version)
+
+ if [[ ${pkgarches[@]} == any ]]; then
+ repoarches=("${ARCHES[@]}")
else
- tarches=("${arch}")
+ repoarches=("${pkgarches[@]}")
fi
- for tarch in "${tarches[@]}"; do
- [ -L "${FTP_BASE}/${repo}/os/${tarch}/${pkg}" ]
- [ "$(readlink -e "${FTP_BASE}/${repo}/os/${tarch}/${pkg}")" == "$(readlink -e "${FTP_BASE}/${PKGPOOL}/${pkg}")" ]
-
- [ -L "${FTP_BASE}/${repo}/os/${tarch}/${pkg}.sig" ]
- [ "$(readlink -e "${FTP_BASE}/${repo}/os/${tarch}/${pkg}.sig")" == "$(readlink -e "${FTP_BASE}/${PKGPOOL}/${pkg}.sig")" ]
-
- for db in "${DBEXT}" "${FILESEXT}"; do
- [ -r "${FTP_BASE}/${repo}/os/${tarch}/${repo}${db%.tar.*}" ]
- bsdtar -xf "${FTP_BASE}/${repo}/os/${tarch}/${repo}${db%.tar.*}" -O | grep "${pkg}" &>/dev/null
+ for pkgarch in ${pkgarches[@]}; do
+ for pkgname in ${pkgnames[@]}; do
+ pkgfile="${pkgname}-${pkgver}-${pkgarch}${PKGEXT}"
+
+ [ -r "${FTP_BASE}/${PKGPOOL}/${pkgfile}" ]
+ [ -r "${FTP_BASE}/${PKGPOOL}/${pkgfile}.sig" ]
+ [ ! -r "${STAGING}/${repo}/${pkgfile}" ]
+ [ ! -r "${STAGING}/${repo}/${pkgfile}.sig" ]
+
+ for repoarch in "${repoarches[@]}"; do
+ # Only 'any' packages can be found in repos of both arches
+ if [[ $pkgarch != any ]]; then
+ if [[ $pkgarch != ${repoarch} ]]; then
+ continue
+ fi
+ fi
+
+ [ -L "${FTP_BASE}/${repo}/os/${repoarch}/${pkgfile}" ]
+ [ "$(readlink -e "${FTP_BASE}/${repo}/os/${repoarch}/${pkgfile}")" == "$(readlink -e "${FTP_BASE}/${PKGPOOL}/${pkgfile}")" ]
+
+ [ -L "${FTP_BASE}/${repo}/os/${repoarch}/${pkgfile}.sig" ]
+ [ "$(readlink -e "${FTP_BASE}/${repo}/os/${repoarch}/${pkgfile}.sig")" == "$(readlink -e "${FTP_BASE}/${PKGPOOL}/${pkgfile}.sig")" ]
+
+ for db in "${DBEXT}" "${FILESEXT}"; do
+ [ -r "${FTP_BASE}/${repo}/os/${repoarch}/${repo}${db%.tar.*}" ]
+ bsdtar -xf "${FTP_BASE}/${repo}/os/${repoarch}/${repo}${db%.tar.*}" -O | grep "${pkgfile%${PKGEXT}}" &>/dev/null
+ done
+ done
done
done
}
checkPackage() {
local repo=$1
- local pkg=$2
- local arch=$3
-
- checkPackageDB "$repo" "$pkg" "$arch"
+ local pkgbase=$2
- local pkgbase=$(__getPackageBaseFromPackage "${FTP_BASE}/${PKGPOOL}/${pkg}")
svn up -q "${TMP}/svn-packages-copy/${pkgbase}"
- [ -d "${TMP}/svn-packages-copy/${pkgbase}/repos/${repo}-${arch}" ]
+ # TODO: Does not fail if one arch is missing
+ compgen -G "${TMP}/svn-packages-copy/${pkgbase}/repos/${repo}-*" >/dev/null
+
+ checkPackageDB "$repo" "$pkgbase"
}
checkRemovedPackage() {
local repo=$1
local pkgbase=$2
- local arch=$3
-
- checkRemovedPackageDB "$repo" "$pkgbase" "$arch"
svn up -q "${TMP}/svn-packages-copy/${pkgbase}"
- [ ! -d "${TMP}/svn-packages-copy/${pkgbase}/repos/${repo}-${arch}" ]
+ ! compgen -G "${TMP}/svn-packages-copy/${pkgbase}/repos/${repo}-*" >/dev/null
+
+ checkRemovedPackageDB "$repo" "$pkgbase"
}
checkRemovedPackageDB() {
local repo=$1
local pkgbase=$2
- local arch=$3
+ local arch
local db
local tarch
local tarches
+ local pkgarches
+ local pkgnames
+ local pkgname
+
+ local pkgbuildPath="${TMP}/svn-packages-copy/${pkgbase}/trunk/PKGBUILD"
+ [[ -r ${pkgbuildPath} ]]
+ pkgarches=($(. "${pkgbuildPath}"; echo ${arch[@]}))
+ pkgnames=($(. "${pkgbuildPath}"; echo ${pkgname[@]}))
- if [[ $arch == any ]]; then
+ if [[ ${pkgarches[@]} == any ]]; then
tarches=(${ARCHES[@]})
else
- tarches=(${arch})
+ tarches=($pkgarches[@])
fi
for db in "${DBEXT}" "${FILESEXT}"; do
for tarch in "${tarches[@]}"; do
if [ -r "${FTP_BASE}/${repo}/os/${tarch}/${repo}${db%.tar.*}" ]; then
- ! bsdtar -xf "${FTP_BASE}/${repo}/os/${tarch}/${repo}${db%.tar.*}" -O | grep "${pkgbase}" &>/dev/null
+ for pkgname in ${pkgnames[@]}; do
+ ! bsdtar -xf "${FTP_BASE}/${repo}/os/${tarch}/${repo}${db%.tar.*}" -O | grep "${pkgname}" &>/dev/null
+ done
fi
done
done
--
2.16.2
More information about the Dev
mailing list