Re: kbuild: global makefile and spaces in path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Robert Jarzmik <robert.jarzmik@xxxxxxx> writes:

> Michal Marek <mmarek@xxxxxxxx> writes:
>
>> On 2015-12-21 21:49, Robert Jarzmik wrote:
>>> Hi Michal,
>>> 
>>> I compiled my kernel in a directory /home/robert jarzmik/kernel, and that's the
>>> first time I encountered a space in the path containing my kernel in years.
>>> 
>>> I was wondering if there is a known constraint that the linux kernel source
>>> should be contained within a path without any space ?
>> Whitespace and colons are problematic.
> Ok.
>
>>> If no such constraint is known, maybe you could consider the patch in [1].
>> I expect it is going to break in lot more places, especially if you do
>> an O= build. I think it's better to just check for this and error out early.
> Ok, I'll try to do that. Let's see if the patch at the end of this mail is what
> you're expecting.
>
> Cheers.
>
> -- 
> Robert
>
> ---8<---
> From 68bcedba135cc50254a234a949ed5cd3b4e92b7a Mon Sep 17 00:00:00 2001
> From: Robert Jarzmik <robert.jarzmik@xxxxxxx>
> Date: Thu, 7 Jan 2016 22:39:51 +0100
> Subject: [PATCH] kbuild: forbid kernel directory to contain spaces
>
> When the kernel path contains a space 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 spaces, error out early to prevent any build if the kernel's
> main directory contains a space.
>
> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx>
> ---
>  Makefile | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index 45ec34644b4f..72e9b7371b0d 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -128,6 +128,10 @@ _all:
>  # Cancel implicit rules on top Makefile
>  $(CURDIR)/Makefile Makefile: ;
>  
> +ifneq ($(words $(CURDIR)),1)
> +  $(error main directory cannot contain spaces)
> +endif
> +
>  ifneq ($(KBUILD_OUTPUT),)
>  # Invoke a second make in the output directory, passing relevant variables
>  # check that the output directory actually exists

Hi Michal,

Have you had the time to look at the patch above ?

Cheers.

-- 
Robert
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux