Re: kbuild: global makefile and spaces in path

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

 



Dne 5.2.2016 v 22:30 Robert Jarzmik napsal(a):
> 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 ?

Hi Robert,

sorry for the delay. We should also check for colons in path, because
they break the build in a similar way.

Michal

--
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