diff options
author | Dan McGee <dan@archlinux.org> | 2008-06-13 02:06:14 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2008-06-13 02:06:14 +0200 |
commit | 7fc306cd41be8586e2d7fb3cc9595fe3bd58b4c1 (patch) | |
tree | cf7357b1ba3aded2987100bc3b2a5e973e54413e | |
parent | 1824bc6ee6c67b248c478d3fdd0f1995cb652b6c (diff) | |
download | pacman-7fc306cd41be8586e2d7fb3cc9595fe3bd58b4c1.tar.gz pacman-7fc306cd41be8586e2d7fb3cc9595fe3bd58b4c1.tar.xz |
Use shell builtin to list files for package inclusion
On BSD systems, as super user, the 'ls' command displays all dot files by
default, causing these to get included when not intended. If we use the bash
glob operator, we can avoid issues with ls on different platforms; however,
we need to turn the nullglob shell option on first to ensure we don't have
problems in empty directories.
Originally-noticed-by: Sebastian Nowicki <sebnow@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | scripts/makepkg.sh.in | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 457f62d9..70d8e15a 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -36,6 +36,10 @@ export TEXTDOMAINDIR='@localedir@' # file -i does not work on Mac OSX unless legacy mode is set export COMMAND_MODE='legacy' +# when fileglobbing, we want * in an empty directory to expand to the null +# string rather than itself +shopt -s nullglob + myver='@PACKAGE_VERSION@' confdir='@sysconfdir@' startdir="$PWD" @@ -849,7 +853,7 @@ create_package() { local pkg_file="$PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}" - if ! bsdtar -czf "$pkg_file" $comp_files $(ls); then + if ! bsdtar -czf "$pkg_file" $comp_files *; then error "$(gettext "Failed to create package file.")" exit 1 # TODO: error code fi |