Re: [PATCH] kbuild: revert $(realpath ...) to $(shell cd ... && /bin/pwd)

From: Masahiro Yamada
Date: Thu Oct 05 2017 - 16:18:03 EST


2017-10-02 20:27 GMT+09:00 Julien Grall <julien.grall@xxxxxxx>:
> Hello,
>
> On 02/10/17 09:07, Masahiro Yamada wrote:
>>
>> I thought commit 8e9b46679923 ("kbuild: use $(abspath ...) instead of
>> $(shell cd ... && /bin/pwd)") was a safe conversion, but it changed
>> the behavior.
>>
>> $(abspath ...) / $(realpath ...) does not expand shell special
>> characters, such as '~'.
>>
>> Here is a simple Makefile example:
>>
>> ---------------->8----------------
>> $(info /bin/pwd: $(shell cd ~/; /bin/pwd))
>> $(info abspath: $(abspath ~/))
>> $(info realpath: $(realpath ~/))
>> all:
>> @:
>> ---------------->8----------------
>>
>> $ make
>> /bin/pwd: /home/masahiro
>> abspath: /home/masahiro/workspace/~
>> realpath:
>>
>> This can be a real problem if 'make O=~/foo' is invoked from another
>> Makefile or primitive shell like dash.
>>
>> This commit partially reverts 8e9b46679923.
>>
>> Fixes: 8e9b46679923 ("kbuild: use $(abspath ...) instead of $(shell cd ...
>> && /bin/pwd)")
>> Reported-by: Julien Grall <julien.grall@xxxxxxx>
>> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
>
>
> Tested-by: Julien Grall <julien.grall@xxxxxxx>


Applied to linux-kbuild/fixes.


--
Best Regards
Masahiro Yamada