Ports: make fails, if DESTDIR path has spaces

Kimmo Paasiala kpaasial at gmail.com
Mon Apr 1 16:45:28 UTC 2013


On Mon, Apr 1, 2013 at 7:30 PM, Chris Rees <crees at freebsd.org> wrote:
> On 1 April 2013 17:13,  <rank1seeker at gmail.com> wrote:
>>> Try "DESTDIR='/usr/TZ\ ONE'; export DESTDIR".
>>>
>>> You need to escape the space.
>>
>> This is '#!/bin/sh' scripting.
>> Doing so "fixes" *.mk, but breaks sh => dir simply doesn't exist anymore.
>>
>> Matthias && Chris => *.mk is at fault here, for not supporting FreeBSD's
>> full range of chars for dir paths
>
> As I explained before, Makefiles and sh have a strange relationship,
> where escaping is similar but different in weird places.
>
> Unless you are an expert, you should not use spaces in pathnames.
> Stop doing it; the ports system is not designed around them.
>

You could work around the problem by using an external program to do
all the expanding and globbing, it would guarantee that the expansions
are done the same way always and special characters treated in uniform
way.

-Kimmo


More information about the freebsd-hackers mailing list