[pacman-dev] [PATCH] Make sure dot files don't get included in package
Dan McGee
dpmcgee at gmail.com
Wed Jun 11 16:39:01 EDT 2008
On Tue, Jun 10, 2008 at 4:03 PM, Xavier <shiningxc at gmail.com> wrote:
> Dan McGee wrote:
>> On Sat, May 31, 2008 at 8:18 AM, Sebastian Nowicki<sebnow at gmail.com> wrote:
>>> On 31/05/2008, at 9:09 PM, Dan McGee wrote:
>>>
>>>> On Sat, May 31, 2008 at 4:19 AM, Sebastian Nowicki
>>>> <sebnow at gmail.com> wrote:
>>>>> On BSD systems, as a super user, `ls` displays all dot files by
>>>>> default.
>>>>> On most BSD systems -I can be used to suppress this behavior, but
>>>>> this
>>>>> argument is not available on Mac OSX. Instead, grep is used to
>>>>> filter out
>>>>> all dot files.
>>>>>
>>>>> Signed-off-by: Sebastian Nowicki<sebnow at gmail.com>
>>>>> ---
>>>>> scripts/makepkg.sh.in | 2 +-
>>>>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>>>>
>>>>> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
>>>>> index cb55dea..f4acd50 100644
>>>>> --- a/scripts/makepkg.sh.in
>>>>> +++ b/scripts/makepkg.sh.in
>>>>> @@ -849,7 +849,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 $(ls | grep -v '^
>>>>> \.'); then
>>>>> error "$(gettext "Failed to create package file.")"
>>>>> exit 1 # TODO: error code
>>>>> fi
>>>>> --
>>>> The --hide or -I/--ignore options to ls aren't available, are they?
>>>> That would be a slightly cleaner solution, but I'm not sure if these
>>>> are in the POSIX standard or something.
>>>>
>>>> -Dan
>>> -I is available on BSD, but I can't find any similar option on Mac OSX
>>> (it's really starting to be a pain in the ass).
>>
>> Ahh, I read your commit note as saying the letter L (but lowercase),
>> not I, so that is why I was confused. Sounds like Mac OSX is a piece
>> of shit. :P
>>
>
> what is that $(ls) thing? what is wrong with *?
Any objections? I can think of one issue- this would pass the literal
* on to bsdtar if no other files existed (e.g. trying to create a
no-files package).
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 457f62d..34f35f3 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -849,7 +849,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
So maybe something like this?
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 457f62d..70d8e15 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
More information about the pacman-dev
mailing list