summaryrefslogtreecommitdiff
path: root/lib/common.sh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/common.sh')
-rw-r--r--lib/common.sh10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/common.sh b/lib/common.sh
index 0996247..56e49e6 100644
--- a/lib/common.sh
+++ b/lib/common.sh
@@ -19,8 +19,6 @@ export LANG=C
export BUILDTOOL=devtools
export BUILDTOOLVER=m4_devtools_version
-shopt -s extglob
-
# check if messages are to be printed using color
if [[ -t 2 && "$TERM" != dumb ]]; then
colorize
@@ -142,12 +140,16 @@ pkgver_equal() {
find_cached_package() {
local searchdirs=("$PWD" "$PKGDEST") results=()
local targetname=$1 targetver=$2 targetarch=$3
- local dir pkg pkgbasename name ver rel arch r results
+ local dir pkg packages pkgbasename name ver rel arch r results
for dir in "${searchdirs[@]}"; do
[[ -d $dir ]] || continue
- for pkg in "$dir"/*.pkg.tar?(.!(sig|*.*)); do
+ shopt -s extglob nullglob
+ mapfile -t packages < <(printf "%s\n" "$dir"/*.pkg.tar?(.!(sig|*.*)))
+ shopt -u extglob nullglob
+
+ for pkg in "${packages[@]}"; do
[[ -f $pkg ]] || continue
# avoid adding duplicates of the same inode