From: Robert Jarzmik <robert.jarzmik@free.fr>
To: Michal Marek <mmarek@suse.com>
Cc: linux-kbuild <linux-kbuild@vger.kernel.org>
Subject: Re: kbuild: global makefile and spaces in path
Date: Thu, 07 Jan 2016 22:53:54 +0100 [thread overview]
Message-ID: <87mvshdpjh.fsf@belgarion.home> (raw)
In-Reply-To: <568D2927.2010106@suse.com> (Michal Marek's message of "Wed, 6 Jan 2016 15:48:07 +0100")
Michal Marek <mmarek@suse.com> 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@free.fr>
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@free.fr>
---
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
--
2.1.4
next prev parent reply other threads:[~2016-01-07 22:01 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-21 20:49 kbuild: global makefile and spaces in path Robert Jarzmik
2016-01-06 14:48 ` Michal Marek
2016-01-07 21:53 ` Robert Jarzmik [this message]
2016-02-05 21:30 ` Robert Jarzmik
2016-02-08 20:03 ` Michal Marek
2016-02-08 20:10 ` Robert Jarzmik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87mvshdpjh.fsf@belgarion.home \
--to=robert.jarzmik@free.fr \
--cc=linux-kbuild@vger.kernel.org \
--cc=mmarek@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox