Dne 26.7.2016 v 02:05 Andrew Morton napsal(a):
> On Sun, 24 Jul 2016 15:28:18 +0200 Fabian Frederick <f...@skynet.be> wrote:
>> This patch adds ability to do make force=1 for people
>> not interested in modules_install in this case but only testing.
>>
>> (Note that other options could go under ifndef force)
> 
> That's a bit of a hack on a hack.

Agreed.


> 51193b76bfff said:
> 
> :    When the kernel path contains a space or a colon somewhere in the path
> :    name, the modules_install target doesn't work anymore, as the path names
> :    are not enclosed in double quotes. It is also supposed that and O= build
> :    will suffer from the same weakness as modules_install.
> :    
> :    Instead of checking and improving kbuild to resist to directories
> :    including these characters, error out early to prevent any build if the
> :    kernel's main directory contains a space.
> 
> What's involved in fixing this properly?  Make the whole kbuild
> system operate correctly when there are spaces/colons in the
> pathname?

modules_install probably could be fixed. However, O= builds are
definitely unfixable: We use -I$(srctree)/... in various *FLAGS
variables, which are space-separated lists. We assign $(srctree) to
VPATH, which is a colon-separated list. Also, we pass $(srctree)/... to
the wildcard, addprefix or patsubst functions, which take a
space-separated list of words. The Makefile language simply does does
not give us tools to handle special characters properly.

To work around such paths, I suggest to create a symlink and use that.
As far as I can tell, we do not call readlink/realpath in the buildsystem.

Michal

Reply via email to