Re: [PATCH 1/1 linux-next] kbuild: add make force=1 for testing

From: Andrew Morton
Date: Mon Jul 25 2016 - 20:06:18 EST


On Sun, 24 Jul 2016 15:28:18 +0200 Fabian Frederick <fabf@xxxxxxxxx> wrote:

> Commit 51193b76bfff
> ("kbuild: forbid kernel directory to contain spaces and colons")
>
> makes it impossible to build kernel on default SD labels like
> "SD Card" for instance.
>
> Makefile:133: *** main directory cannot contain spaces nor colons. Stop.
>
> User could rename directories but volume name is not always writable.
>
> 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.

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?