* Re: [Qemu-trivial] [PATCH v2 2/2] configure: disallow spaces and colons in source path and build path
[not found] ` <541bfc5c-0e45-58e6-f0b1-81e9b0c8881d@redhat.com>
@ 2019-05-09 14:42 ` Peter Maydell
2019-05-22 13:57 ` Laurent Vivier
0 siblings, 1 reply; 6+ messages in thread
From: Peter Maydell @ 2019-05-09 14:42 UTC (permalink / raw)
To: Eric Blake; +Cc: Antonio Ospite, QEMU Developers, Antonio Ospite, QEMU Trivial
On Mon, 6 May 2019 at 18:27, Eric Blake <eblake@redhat.com> wrote:
>
> On 5/3/19 3:27 AM, Antonio Ospite wrote:
> > From: Antonio Ospite <antonio.ospite@collabora.com>
> >
> > The configure script breaks when the qemu source directory is in a path
> > containing white spaces, in particular the list of targets is not
> > correctly generated when calling "./configure --help" because of how the
> > default_target_list variable is built.
> >
> > In addition to that, *building* qemu from a directory with spaces breaks
> > some assumptions in the Makefiles, even if the original source path does
> > not contain spaces like in the case of an out-of-tree build, or when
> > symlinks are involved.
> >
> > To avoid these issues, refuse to run the configure script and the
> > Makefile if there are spaces or colons in the source path or the build
> > path, taking as inspiration what the kbuild system in linux does.
> >
> > Buglink: https://bugs.launchpad.net/qemu/+bug/1817345
> >
> > Signed-off-by: Antonio Ospite <antonio.ospite@collabora.com>
> > ---
> > Makefile | 4 ++++
> > configure | 6 ++++++
> > 2 files changed, 10 insertions(+)
> >
>
> > +++ b/Makefile
> > @@ -1,5 +1,9 @@
> > # Makefile for QEMU.
> >
> > +ifneq ($(words $(subst :, ,$(CURDIR))), 1)
> > + $(error main directory cannot contain spaces nor colons)
> > +endif
> > +
> > # Always point to the root of the build tree (needs GNU make).
> > BUILD_DIR=$(CURDIR)
> >
> > diff --git a/configure b/configure
> > index 9832cbca5c..f7ad4381bd 100755
> > --- a/configure
> > +++ b/configure
> > @@ -279,6 +279,12 @@ ld_has() {
> > # make source path absolute
> > source_path=$(cd "$(dirname -- "$0")"; pwd)
> >
> > +if printf "%s\n" "$source_path" | grep -q "[[:space:]:]" ||
> > + printf "%s\n" "$PWD" | grep -q "[[:space:]:]";
>
> For less typing and fewer processes, you could shorten this to:
>
> if printf %s\\n "$source_path" "$PWD" | grep -q "[[:space:]:]";
>
> but that's trivial enough for a maintainer to fold in if desired.
>
> Reviewed-by: Eric Blake <eblake@redhat.com>
What tree is this going to go in via? I suggest the
-trivial tree.
thanks
-- PMM
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-trivial] [PATCH v2 2/2] configure: disallow spaces and colons in source path and build path
2019-05-09 14:42 ` [Qemu-trivial] [PATCH v2 2/2] configure: disallow spaces and colons in source path and build path Peter Maydell
@ 2019-05-22 13:57 ` Laurent Vivier
2019-05-22 15:01 ` Antonio Ospite
0 siblings, 1 reply; 6+ messages in thread
From: Laurent Vivier @ 2019-05-22 13:57 UTC (permalink / raw)
To: Peter Maydell, Eric Blake
Cc: QEMU Trivial, Antonio Ospite, Antonio Ospite, QEMU Developers
On 09/05/2019 16:42, Peter Maydell wrote:
> On Mon, 6 May 2019 at 18:27, Eric Blake <eblake@redhat.com> wrote:
>>
>> On 5/3/19 3:27 AM, Antonio Ospite wrote:
>>> From: Antonio Ospite <antonio.ospite@collabora.com>
>>>
>>> The configure script breaks when the qemu source directory is in a path
>>> containing white spaces, in particular the list of targets is not
>>> correctly generated when calling "./configure --help" because of how the
>>> default_target_list variable is built.
>>>
>>> In addition to that, *building* qemu from a directory with spaces breaks
>>> some assumptions in the Makefiles, even if the original source path does
>>> not contain spaces like in the case of an out-of-tree build, or when
>>> symlinks are involved.
>>>
>>> To avoid these issues, refuse to run the configure script and the
>>> Makefile if there are spaces or colons in the source path or the build
>>> path, taking as inspiration what the kbuild system in linux does.
>>>
>>> Buglink: https://bugs.launchpad.net/qemu/+bug/1817345
>>>
>>> Signed-off-by: Antonio Ospite <antonio.ospite@collabora.com>
>>> ---
>>> Makefile | 4 ++++
>>> configure | 6 ++++++
>>> 2 files changed, 10 insertions(+)
>>>
>>
>>> +++ b/Makefile
>>> @@ -1,5 +1,9 @@
>>> # Makefile for QEMU.
>>>
>>> +ifneq ($(words $(subst :, ,$(CURDIR))), 1)
>>> + $(error main directory cannot contain spaces nor colons)
>>> +endif
>>> +
>>> # Always point to the root of the build tree (needs GNU make).
>>> BUILD_DIR=$(CURDIR)
>>>
>>> diff --git a/configure b/configure
>>> index 9832cbca5c..f7ad4381bd 100755
>>> --- a/configure
>>> +++ b/configure
>>> @@ -279,6 +279,12 @@ ld_has() {
>>> # make source path absolute
>>> source_path=$(cd "$(dirname -- "$0")"; pwd)
>>>
>>> +if printf "%s\n" "$source_path" | grep -q "[[:space:]:]" ||
>>> + printf "%s\n" "$PWD" | grep -q "[[:space:]:]";
>>
>> For less typing and fewer processes, you could shorten this to:
>>
>> if printf %s\\n "$source_path" "$PWD" | grep -q "[[:space:]:]";
>>
>> but that's trivial enough for a maintainer to fold in if desired.
>>
>> Reviewed-by: Eric Blake <eblake@redhat.com>
>
> What tree is this going to go in via? I suggest the
> -trivial tree.
Applied (unchanged) to my trivial-patches branch.
Thanks,
Laurent
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-trivial] [PATCH v2 2/2] configure: disallow spaces and colons in source path and build path
2019-05-22 13:57 ` Laurent Vivier
@ 2019-05-22 15:01 ` Antonio Ospite
2019-05-22 15:21 ` Laurent Vivier
0 siblings, 1 reply; 6+ messages in thread
From: Antonio Ospite @ 2019-05-22 15:01 UTC (permalink / raw)
To: Laurent Vivier, Peter Maydell, Eric Blake
Cc: QEMU Trivial, Antonio Ospite, QEMU Developers
On 22/05/19 15:57, Laurent Vivier wrote:
> On 09/05/2019 16:42, Peter Maydell wrote:
>> On Mon, 6 May 2019 at 18:27, Eric Blake <eblake@redhat.com> wrote:
>>>
>>> On 5/3/19 3:27 AM, Antonio Ospite wrote:
>>>> From: Antonio Ospite <antonio.ospite@collabora.com>
>>>>
>>>> The configure script breaks when the qemu source directory is in a path
>>>> containing white spaces, in particular the list of targets is not
>>>> correctly generated when calling "./configure --help" because of how
>>>> the
>>>> default_target_list variable is built.
>>>>
>>>> In addition to that, *building* qemu from a directory with spaces
>>>> breaks
>>>> some assumptions in the Makefiles, even if the original source path
>>>> does
>>>> not contain spaces like in the case of an out-of-tree build, or when
>>>> symlinks are involved.
>>>>
>>>> To avoid these issues, refuse to run the configure script and the
>>>> Makefile if there are spaces or colons in the source path or the build
>>>> path, taking as inspiration what the kbuild system in linux does.
>>>>
>>>> Buglink: https://bugs.launchpad.net/qemu/+bug/1817345
>>>>
>>>> Signed-off-by: Antonio Ospite <antonio.ospite@collabora.com>
>>>> ---
>>>> Makefile | 4 ++++
>>>> configure | 6 ++++++
>>>> 2 files changed, 10 insertions(+)
>>>>
>>>
>>>> +++ b/Makefile
>>>> @@ -1,5 +1,9 @@
>>>> # Makefile for QEMU.
>>>>
>>>> +ifneq ($(words $(subst :, ,$(CURDIR))), 1)
>>>> + $(error main directory cannot contain spaces nor colons)
>>>> +endif
>>>> +
>>>> # Always point to the root of the build tree (needs GNU make).
>>>> BUILD_DIR=$(CURDIR)
>>>>
>>>> diff --git a/configure b/configure
>>>> index 9832cbca5c..f7ad4381bd 100755
>>>> --- a/configure
>>>> +++ b/configure
>>>> @@ -279,6 +279,12 @@ ld_has() {
>>>> # make source path absolute
>>>> source_path=$(cd "$(dirname -- "$0")"; pwd)
>>>>
>>>> +if printf "%s\n" "$source_path" | grep -q "[[:space:]:]" ||
>>>> + printf "%s\n" "$PWD" | grep -q "[[:space:]:]";
>>>
>>> For less typing and fewer processes, you could shorten this to:
>>>
>>> if printf %s\\n "$source_path" "$PWD" | grep -q "[[:space:]:]";
>>>
>>> but that's trivial enough for a maintainer to fold in if desired.
>>>
>>> Reviewed-by: Eric Blake <eblake@redhat.com>
>>
>> What tree is this going to go in via? I suggest the
>> -trivial tree.
>
>
> Applied (unchanged) to my trivial-patches branch.
>
Thank you Laurent.
I'll think about sending a followup patch with the changes proposed by
Eric and I'll CC you if I do.
Ciao,
Antonio
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-trivial] [PATCH v2 2/2] configure: disallow spaces and colons in source path and build path
2019-05-22 15:01 ` Antonio Ospite
@ 2019-05-22 15:21 ` Laurent Vivier
2019-05-22 15:26 ` Antonio Ospite
0 siblings, 1 reply; 6+ messages in thread
From: Laurent Vivier @ 2019-05-22 15:21 UTC (permalink / raw)
To: Antonio Ospite, Peter Maydell, Eric Blake
Cc: QEMU Trivial, Antonio Ospite, QEMU Developers
On 22/05/2019 17:01, Antonio Ospite wrote:
> On 22/05/19 15:57, Laurent Vivier wrote:
>> On 09/05/2019 16:42, Peter Maydell wrote:
>>> On Mon, 6 May 2019 at 18:27, Eric Blake <eblake@redhat.com> wrote:
>>>>
>>>> On 5/3/19 3:27 AM, Antonio Ospite wrote:
>>>>> From: Antonio Ospite <antonio.ospite@collabora.com>
>>>>>
>>>>> The configure script breaks when the qemu source directory is in a
>>>>> path
>>>>> containing white spaces, in particular the list of targets is not
>>>>> correctly generated when calling "./configure --help" because of
>>>>> how the
>>>>> default_target_list variable is built.
>>>>>
>>>>> In addition to that, *building* qemu from a directory with spaces
>>>>> breaks
>>>>> some assumptions in the Makefiles, even if the original source path
>>>>> does
>>>>> not contain spaces like in the case of an out-of-tree build, or when
>>>>> symlinks are involved.
>>>>>
>>>>> To avoid these issues, refuse to run the configure script and the
>>>>> Makefile if there are spaces or colons in the source path or the build
>>>>> path, taking as inspiration what the kbuild system in linux does.
>>>>>
>>>>> Buglink: https://bugs.launchpad.net/qemu/+bug/1817345
>>>>>
>>>>> Signed-off-by: Antonio Ospite <antonio.ospite@collabora.com>
>>>>> ---
>>>>> Makefile | 4 ++++
>>>>> configure | 6 ++++++
>>>>> 2 files changed, 10 insertions(+)
>>>>>
>>>>
>>>>> +++ b/Makefile
>>>>> @@ -1,5 +1,9 @@
>>>>> # Makefile for QEMU.
>>>>>
>>>>> +ifneq ($(words $(subst :, ,$(CURDIR))), 1)
>>>>> + $(error main directory cannot contain spaces nor colons)
>>>>> +endif
>>>>> +
>>>>> # Always point to the root of the build tree (needs GNU make).
>>>>> BUILD_DIR=$(CURDIR)
>>>>>
>>>>> diff --git a/configure b/configure
>>>>> index 9832cbca5c..f7ad4381bd 100755
>>>>> --- a/configure
>>>>> +++ b/configure
>>>>> @@ -279,6 +279,12 @@ ld_has() {
>>>>> # make source path absolute
>>>>> source_path=$(cd "$(dirname -- "$0")"; pwd)
>>>>>
>>>>> +if printf "%s\n" "$source_path" | grep -q "[[:space:]:]" ||
>>>>> + printf "%s\n" "$PWD" | grep -q "[[:space:]:]";
>>>>
>>>> For less typing and fewer processes, you could shorten this to:
>>>>
>>>> if printf %s\\n "$source_path" "$PWD" | grep -q "[[:space:]:]";
>>>>
>>>> but that's trivial enough for a maintainer to fold in if desired.
>>>>
>>>> Reviewed-by: Eric Blake <eblake@redhat.com>
>>>
>>> What tree is this going to go in via? I suggest the
>>> -trivial tree.
>>
>>
>> Applied (unchanged) to my trivial-patches branch.
>>
>
> Thank you Laurent.
>
> I'll think about sending a followup patch with the changes proposed by
> Eric and I'll CC you if I do.
If you want to send a v3 of this patch to update it, I can wait.
Thanks,
Laurent
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-trivial] [PATCH v2 2/2] configure: disallow spaces and colons in source path and build path
2019-05-22 15:21 ` Laurent Vivier
@ 2019-05-22 15:26 ` Antonio Ospite
2019-05-22 15:37 ` Laurent Vivier
0 siblings, 1 reply; 6+ messages in thread
From: Antonio Ospite @ 2019-05-22 15:26 UTC (permalink / raw)
To: Laurent Vivier, Peter Maydell, Eric Blake
Cc: QEMU Trivial, Antonio Ospite, QEMU Developers
On 22/05/19 17:21, Laurent Vivier wrote:
> On 22/05/2019 17:01, Antonio Ospite wrote:
>> On 22/05/19 15:57, Laurent Vivier wrote:
>>> On 09/05/2019 16:42, Peter Maydell wrote:
>>>> On Mon, 6 May 2019 at 18:27, Eric Blake <eblake@redhat.com> wrote:
>>>>>
>>>>> On 5/3/19 3:27 AM, Antonio Ospite wrote:
>>>>>> From: Antonio Ospite <antonio.ospite@collabora.com>
>>>>>>
>>>>>> The configure script breaks when the qemu source directory is in a
>>>>>> path
>>>>>> containing white spaces, in particular the list of targets is not
>>>>>> correctly generated when calling "./configure --help" because of
>>>>>> how the
>>>>>> default_target_list variable is built.
>>>>>>
>>>>>> In addition to that, *building* qemu from a directory with spaces
>>>>>> breaks
>>>>>> some assumptions in the Makefiles, even if the original source
>>>>>> path does
>>>>>> not contain spaces like in the case of an out-of-tree build, or when
>>>>>> symlinks are involved.
>>>>>>
>>>>>> To avoid these issues, refuse to run the configure script and the
>>>>>> Makefile if there are spaces or colons in the source path or the
>>>>>> build
>>>>>> path, taking as inspiration what the kbuild system in linux does.
>>>>>>
>>>>>> Buglink: https://bugs.launchpad.net/qemu/+bug/1817345
>>>>>>
>>>>>> Signed-off-by: Antonio Ospite <antonio.ospite@collabora.com>
>>>>>> ---
>>>>>> Makefile | 4 ++++
>>>>>> configure | 6 ++++++
>>>>>> 2 files changed, 10 insertions(+)
>>>>>>
>>>>>
>>>>>> +++ b/Makefile
>>>>>> @@ -1,5 +1,9 @@
>>>>>> # Makefile for QEMU.
>>>>>>
>>>>>> +ifneq ($(words $(subst :, ,$(CURDIR))), 1)
>>>>>> + $(error main directory cannot contain spaces nor colons)
>>>>>> +endif
>>>>>> +
>>>>>> # Always point to the root of the build tree (needs GNU make).
>>>>>> BUILD_DIR=$(CURDIR)
>>>>>>
>>>>>> diff --git a/configure b/configure
>>>>>> index 9832cbca5c..f7ad4381bd 100755
>>>>>> --- a/configure
>>>>>> +++ b/configure
>>>>>> @@ -279,6 +279,12 @@ ld_has() {
>>>>>> # make source path absolute
>>>>>> source_path=$(cd "$(dirname -- "$0")"; pwd)
>>>>>>
>>>>>> +if printf "%s\n" "$source_path" | grep -q "[[:space:]:]" ||
>>>>>> + printf "%s\n" "$PWD" | grep -q "[[:space:]:]";
>>>>>
>>>>> For less typing and fewer processes, you could shorten this to:
>>>>>
>>>>> if printf %s\\n "$source_path" "$PWD" | grep -q "[[:space:]:]";
>>>>>
>>>>> but that's trivial enough for a maintainer to fold in if desired.
>>>>>
>>>>> Reviewed-by: Eric Blake <eblake@redhat.com>
>>>>
>>>> What tree is this going to go in via? I suggest the
>>>> -trivial tree.
>>>
>>>
>>> Applied (unchanged) to my trivial-patches branch.
>>>
>>
>> Thank you Laurent.
>>
>> I'll think about sending a followup patch with the changes proposed by
>> Eric and I'll CC you if I do.
>
> If you want to send a v3 of this patch to update it, I can wait.
That works too, I was waiting for the maintainers to decide what to do.
I'll try to send a v3 before Monday then.
Thanks,
Antonio
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-trivial] [PATCH v2 2/2] configure: disallow spaces and colons in source path and build path
2019-05-22 15:26 ` Antonio Ospite
@ 2019-05-22 15:37 ` Laurent Vivier
0 siblings, 0 replies; 6+ messages in thread
From: Laurent Vivier @ 2019-05-22 15:37 UTC (permalink / raw)
To: Antonio Ospite, Peter Maydell, Eric Blake
Cc: QEMU Trivial, Antonio Ospite, QEMU Developers
On 22/05/2019 17:26, Antonio Ospite wrote:
> On 22/05/19 17:21, Laurent Vivier wrote:
>> On 22/05/2019 17:01, Antonio Ospite wrote:
>>> On 22/05/19 15:57, Laurent Vivier wrote:
>>>> On 09/05/2019 16:42, Peter Maydell wrote:
>>>>> On Mon, 6 May 2019 at 18:27, Eric Blake <eblake@redhat.com> wrote:
>>>>>>
>>>>>> On 5/3/19 3:27 AM, Antonio Ospite wrote:
>>>>>>> From: Antonio Ospite <antonio.ospite@collabora.com>
>>>>>>>
>>>>>>> The configure script breaks when the qemu source directory is in
>>>>>>> a path
>>>>>>> containing white spaces, in particular the list of targets is not
>>>>>>> correctly generated when calling "./configure --help" because of
>>>>>>> how the
>>>>>>> default_target_list variable is built.
>>>>>>>
>>>>>>> In addition to that, *building* qemu from a directory with spaces
>>>>>>> breaks
>>>>>>> some assumptions in the Makefiles, even if the original source
>>>>>>> path does
>>>>>>> not contain spaces like in the case of an out-of-tree build, or when
>>>>>>> symlinks are involved.
>>>>>>>
>>>>>>> To avoid these issues, refuse to run the configure script and the
>>>>>>> Makefile if there are spaces or colons in the source path or the
>>>>>>> build
>>>>>>> path, taking as inspiration what the kbuild system in linux does.
>>>>>>>
>>>>>>> Buglink: https://bugs.launchpad.net/qemu/+bug/1817345
>>>>>>>
>>>>>>> Signed-off-by: Antonio Ospite <antonio.ospite@collabora.com>
>>>>>>> ---
>>>>>>> Makefile | 4 ++++
>>>>>>> configure | 6 ++++++
>>>>>>> 2 files changed, 10 insertions(+)
>>>>>>>
>>>>>>
>>>>>>> +++ b/Makefile
>>>>>>> @@ -1,5 +1,9 @@
>>>>>>> # Makefile for QEMU.
>>>>>>>
>>>>>>> +ifneq ($(words $(subst :, ,$(CURDIR))), 1)
>>>>>>> + $(error main directory cannot contain spaces nor colons)
>>>>>>> +endif
>>>>>>> +
>>>>>>> # Always point to the root of the build tree (needs GNU make).
>>>>>>> BUILD_DIR=$(CURDIR)
>>>>>>>
>>>>>>> diff --git a/configure b/configure
>>>>>>> index 9832cbca5c..f7ad4381bd 100755
>>>>>>> --- a/configure
>>>>>>> +++ b/configure
>>>>>>> @@ -279,6 +279,12 @@ ld_has() {
>>>>>>> # make source path absolute
>>>>>>> source_path=$(cd "$(dirname -- "$0")"; pwd)
>>>>>>>
>>>>>>> +if printf "%s\n" "$source_path" | grep -q "[[:space:]:]" ||
>>>>>>> + printf "%s\n" "$PWD" | grep -q "[[:space:]:]";
>>>>>>
>>>>>> For less typing and fewer processes, you could shorten this to:
>>>>>>
>>>>>> if printf %s\\n "$source_path" "$PWD" | grep -q "[[:space:]:]";
>>>>>>
>>>>>> but that's trivial enough for a maintainer to fold in if desired.
>>>>>>
>>>>>> Reviewed-by: Eric Blake <eblake@redhat.com>
>>>>>
>>>>> What tree is this going to go in via? I suggest the
>>>>> -trivial tree.
>>>>
>>>>
>>>> Applied (unchanged) to my trivial-patches branch.
>>>>
>>>
>>> Thank you Laurent.
>>>
>>> I'll think about sending a followup patch with the changes proposed
>>> by Eric and I'll CC you if I do.
>>
>> If you want to send a v3 of this patch to update it, I can wait.
>
> That works too, I was waiting for the maintainers to decide what to do.
>
> I'll try to send a v3 before Monday then.
OK, I will queue your v3 in the pull-request of the next week.
Thanks,
Laurent
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-05-22 15:40 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20190503082728.16485-1-ao2@ao2.it>
[not found] ` <20190503082728.16485-3-ao2@ao2.it>
[not found] ` <541bfc5c-0e45-58e6-f0b1-81e9b0c8881d@redhat.com>
2019-05-09 14:42 ` [Qemu-trivial] [PATCH v2 2/2] configure: disallow spaces and colons in source path and build path Peter Maydell
2019-05-22 13:57 ` Laurent Vivier
2019-05-22 15:01 ` Antonio Ospite
2019-05-22 15:21 ` Laurent Vivier
2019-05-22 15:26 ` Antonio Ospite
2019-05-22 15:37 ` Laurent Vivier
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).