While this is most likely the result of user error, as repo-remove doesn't accept globs, using 'package*' as the pkgname will result in an endless loop of the following message being printed: -> Removing existing entry 'package**'... This happens because find_pkgentry() fails to account the case where globbing fails and the expression is taken literally. Fix that by checking the existence of the file before doing anything else. Signed-off-by: Rafael Ascensão <rafa.almas@gmail.com> --- scripts/repo-add.sh.in | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in index 57413df5..123bb796 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in @@ -120,10 +120,12 @@ find_pkgentry() { local pkgentry for pkgentry in "$tmpdir/db/$pkgname"*; do - name=${pkgentry##*/} - if [[ ${name%-*-*} = $pkgname ]]; then - echo $pkgentry - return 0 + if [[ -e $pkgentry ]]; then + name=${pkgentry##*/} + if [[ ${name%-*-*} = $pkgname ]]; then + echo $pkgentry + return 0 + fi fi done return 1 -- 2.21.0