summaryrefslogtreecommitdiff
path: root/src/lib/repo/configure.sh
diff options
context:
space:
mode:
authorMorten Linderud <foxboron@archlinux.org>2024-02-10 12:46:08 +0100
committerLevente Polyak <anthraxx@archlinux.org>2024-03-09 00:49:24 +0100
commit40f476c649e2c1938c391575f4339c6f50b97e7c (patch)
treefc016d7ab27cfaf0e9a70fdd7a9e57250b198513 /src/lib/repo/configure.sh
parent509dd24bdcd6c45bd86937fcd1de6fd1fa510441 (diff)
downloaddevtools-40f476c649e2c1938c391575f4339c6f50b97e7c.tar.xz
fix(pkgctl): skip path arguments that are not directories
Several subcommands accept multiple paths in a way that passing a wildcard is an expected use case. Previously this wasn't possible if the main directory contained any text files or scripts. Fix this by skipping none directory paths for such commands. Component: pkgctl Signed-off-by: Morten Linderud <foxboron@archlinux.org>
Diffstat (limited to 'src/lib/repo/configure.sh')
-rw-r--r--src/lib/repo/configure.sh7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/repo/configure.sh b/src/lib/repo/configure.sh
index b3c188c..0980fd1 100644
--- a/src/lib/repo/configure.sh
+++ b/src/lib/repo/configure.sh
@@ -207,9 +207,14 @@ pkgctl_repo_configure() {
fi
for path in "${paths[@]}"; do
- if ! realpath=$(realpath -e "${path}"); then
+ # resolve symlink for basename
+ if ! realpath=$(realpath --canonicalize-existing -- "${path}"); then
die "No such directory: ${path}"
fi
+ # skip paths that aren't directories
+ if [[ ! -d "${realpath}" ]]; then
+ continue
+ fi
pkgbase=$(basename "${realpath}")
pkgbase=${pkgbase%.git}