summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2008-06-13 02:06:14 +0200
committerDan McGee <dan@archlinux.org>2008-06-13 02:06:14 +0200
commit7fc306cd41be8586e2d7fb3cc9595fe3bd58b4c1 (patch)
treecf7357b1ba3aded2987100bc3b2a5e973e54413e
parent1824bc6ee6c67b248c478d3fdd0f1995cb652b6c (diff)
downloadpacman-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.in6
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