diff options
-rw-r--r-- | scripts/makepkg.sh.in | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index dd4066bf..262bcf89 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -2212,6 +2212,14 @@ canonicalize_path() { fi } +dir_is_empty() { + ( + shopt -s dotglob nullglob + files=("$1"/*) + (( ${#files} == 0 )) + ) +} + m4_include(library/parseopts.sh) usage() { @@ -2695,14 +2703,14 @@ if (( NOEXTRACT )); then warning "$(gettext "Skipping source integrity checks -- using existing %s tree")" "src/" warning "$(gettext "Skipping source extraction -- using existing %s tree")" "src/" - if (( NOEXTRACT )) && [[ -z $(ls "$srcdir" 2>/dev/null) ]]; then + if (( NOEXTRACT )) && dir_is_empty "$srcdir"; then error "$(gettext "The source directory is empty, there is nothing to build!")" plain "$(gettext "Aborting...")" exit 1 fi elif (( REPKG )); then if (( ! PKGFUNC && ! SPLITPKG )) \ - && [[ ! -d $pkgdir || -z $(ls "$pkgdir" 2>/dev/null) ]]; then + && { [[ ! -d $pkgdir ]] || dir_is_empty "$pkgdir"; }; then error "$(gettext "The package directory is empty, there is nothing to repackage!")" plain "$(gettext "Aborting...")" exit 1 |