diff mbox series

configure: Remove --source-path option

Message ID 20190318134019.23729-1-peter.maydell@linaro.org
State Superseded
Headers show
Series configure: Remove --source-path option | expand

Commit Message

Peter Maydell March 18, 2019, 1:40 p.m. UTC
Normally configure identifies the source path by looking
at the location where the configure script itself exists.
We also provide a --source-path option which lets the user
manually override this.

There isn't really an obvious use case for the --source-path
option, and in commit 927128222b0a91f56c13a in 2017 we
accidentally added some logic that looks at $source_path
before the command line option that overrides it has been
processed.

The fact that nobody complained suggests that there isn't
any use of this option and we aren't testing it either;
remove it. This allows us to move the "make $source_path
absolute" logic up so that there is no window in the script
where $source_path is set but not yet absolute.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

---
Since this is a "noticed while reading code" issue rather than
one that's actually causing a problem, it's probably 4.1
material at this point.

Cc'ing Antonio since they also have a patch to configure
which this will affect.
---
 configure | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

-- 
2.20.1

Comments

Daniel P. Berrangé March 18, 2019, 1:48 p.m. UTC | #1
On Mon, Mar 18, 2019 at 01:40:19PM +0000, Peter Maydell wrote:
> Normally configure identifies the source path by looking

> at the location where the configure script itself exists.

> We also provide a --source-path option which lets the user

> manually override this.

> 

> There isn't really an obvious use case for the --source-path

> option, and in commit 927128222b0a91f56c13a in 2017 we

> accidentally added some logic that looks at $source_path

> before the command line option that overrides it has been

> processed.

> 

> The fact that nobody complained suggests that there isn't

> any use of this option and we aren't testing it either;

> remove it. This allows us to move the "make $source_path

> absolute" logic up so that there is no window in the script

> where $source_path is set but not yet absolute.

> 

> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

> ---

> Since this is a "noticed while reading code" issue rather than

> one that's actually causing a problem, it's probably 4.1

> material at this point.


I guess --source-path will still work in 4.0, as long as it is given a
path that points to where 'configure' is.

> Cc'ing Antonio since they also have a patch to configure

> which this will affect.

> ---

>  configure | 10 ++--------

>  1 file changed, 2 insertions(+), 8 deletions(-)


Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>



Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
Antonio Ospite March 19, 2019, 8:41 a.m. UTC | #2
On 18/03/19 14:40, Peter Maydell wrote:
> Normally configure identifies the source path by looking

> at the location where the configure script itself exists.

> We also provide a --source-path option which lets the user

> manually override this.

> 

> There isn't really an obvious use case for the --source-path

> option, and in commit 927128222b0a91f56c13a in 2017 we

> accidentally added some logic that looks at $source_path

> before the command line option that overrides it has been

> processed.

> 

> The fact that nobody complained suggests that there isn't

> any use of this option and we aren't testing it either;

> remove it. This allows us to move the "make $source_path

> absolute" logic up so that there is no window in the script

> where $source_path is set but not yet absolute.

> 

> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

> ---

> Since this is a "noticed while reading code" issue rather than

> one that's actually causing a problem, it's probably 4.1

> material at this point.

> 

> Cc'ing Antonio since they also have a patch to configure

> which this will affect.


Thanks for CC-ing me, I will send a v2 of my patch after this one gets in.

A minor comment below.

> ---

>   configure | 10 ++--------

>   1 file changed, 2 insertions(+), 8 deletions(-)

> 

> diff --git a/configure b/configure

> index 7071f525843..bc2953e6114 100755

> --- a/configure

> +++ b/configure

> @@ -278,6 +278,8 @@ ld_has() {

>   

>   # default parameters

>   source_path=$(dirname "$0")

> +# make source path absolute

> +source_path=$(cd "$source_path"; pwd)


While we are at it, can't source_path be set only once?

And probably $(dirname -- "$0") is a little more robust, it covers the 
case of directories starting with a dash, so maybe:

# default parameters
# make source path absolute
source_path=$(cd "$(dirname -- "$0")"; pwd)
...

>   cpu=""

>   iasl="iasl"

>   interp_prefix="/usr/gnemul/qemu-%M"

> @@ -519,8 +521,6 @@ for opt do

>     ;;

>     --cxx=*) CXX="$optarg"

>     ;;

> -  --source-path=*) source_path="$optarg"

> -  ;;

>     --cpu=*) cpu="$optarg"

>     ;;

>     --extra-cflags=*) QEMU_CFLAGS="$QEMU_CFLAGS $optarg"

> @@ -599,9 +599,6 @@ if test "$debug_info" = "yes"; then

>       LDFLAGS="-g $LDFLAGS"

>   fi

>   

> -# make source path absolute

> -source_path=$(cd "$source_path"; pwd)

> -

>   # running configure in the source tree?

>   # we know that's the case if configure is there.

>   if test -f "./configure"; then

> @@ -945,8 +942,6 @@ for opt do

>     ;;

>     --interp-prefix=*) interp_prefix="$optarg"

>     ;;

> -  --source-path=*)

> -  ;;

>     --cross-prefix=*)

>     ;;

>     --cc=*)

> @@ -1624,7 +1619,6 @@ $(echo Available targets: $default_target_list | \

>     fold -s -w 53 | sed -e 's/^/                           /')

>   

>   Advanced options (experts only):

> -  --source-path=PATH       path of source code [$source_path]

>     --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]

>     --cc=CC                  use C compiler CC [$cc]

>     --iasl=IASL              use ACPI compiler IASL [$iasl]

>
Antonio Ospite April 25, 2019, 4:42 p.m. UTC | #3
On 19/03/19 09:41, Antonio Ospite wrote:
> On 18/03/19 14:40, Peter Maydell wrote:

>> Normally configure identifies the source path by looking

>> at the location where the configure script itself exists.

>> We also provide a --source-path option which lets the user

>> manually override this.

>>

>> There isn't really an obvious use case for the --source-path

>> option, and in commit 927128222b0a91f56c13a in 2017 we

>> accidentally added some logic that looks at $source_path

>> before the command line option that overrides it has been

>> processed.

>>

>> The fact that nobody complained suggests that there isn't

>> any use of this option and we aren't testing it either;

>> remove it. This allows us to move the "make $source_path

>> absolute" logic up so that there is no window in the script

>> where $source_path is set but not yet absolute.

>>

>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

>> ---

>> Since this is a "noticed while reading code" issue rather than

>> one that's actually causing a problem, it's probably 4.1

>> material at this point.

>>

>> Cc'ing Antonio since they also have a patch to configure

>> which this will affect.

> 

> Thanks for CC-ing me, I will send a v2 of my patch after this one gets in.

> 

> A minor comment below.

> 

>> ---

>>   configure | 10 ++--------

>>   1 file changed, 2 insertions(+), 8 deletions(-)

>>

>> diff --git a/configure b/configure

>> index 7071f525843..bc2953e6114 100755

>> --- a/configure

>> +++ b/configure

>> @@ -278,6 +278,8 @@ ld_has() {

>>   # default parameters

>>   source_path=$(dirname "$0")

>> +# make source path absolute

>> +source_path=$(cd "$source_path"; pwd)

> 

> While we are at it, can't source_path be set only once?

> 

> And probably $(dirname -- "$0") is a little more robust, it covers the 

> case of directories starting with a dash, so maybe:

> 

> # default parameters

> # make source path absolute

> source_path=$(cd "$(dirname -- "$0")"; pwd)

> ...

>


Ping.

Now that 4.0 has been released, maybe we can move on with this minor change.

I will send a fix for https://bugs.launchpad.net/qemu/+bug/1817345 after 
this patch lands.

Thank you,
    Antonio

>>   cpu=""

>>   iasl="iasl"

>>   interp_prefix="/usr/gnemul/qemu-%M"

>> @@ -519,8 +521,6 @@ for opt do

>>     ;;

>>     --cxx=*) CXX="$optarg"

>>     ;;

>> -  --source-path=*) source_path="$optarg"

>> -  ;;

>>     --cpu=*) cpu="$optarg"

>>     ;;

>>     --extra-cflags=*) QEMU_CFLAGS="$QEMU_CFLAGS $optarg"

>> @@ -599,9 +599,6 @@ if test "$debug_info" = "yes"; then

>>       LDFLAGS="-g $LDFLAGS"

>>   fi

>> -# make source path absolute

>> -source_path=$(cd "$source_path"; pwd)

>> -

>>   # running configure in the source tree?

>>   # we know that's the case if configure is there.

>>   if test -f "./configure"; then

>> @@ -945,8 +942,6 @@ for opt do

>>     ;;

>>     --interp-prefix=*) interp_prefix="$optarg"

>>     ;;

>> -  --source-path=*)

>> -  ;;

>>     --cross-prefix=*)

>>     ;;

>>     --cc=*)

>> @@ -1624,7 +1619,6 @@ $(echo Available targets: $default_target_list | \

>>     fold -s -w 53 | sed -e 's/^/                           /')

>>   Advanced options (experts only):

>> -  --source-path=PATH       path of source code [$source_path]

>>     --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]

>>     --cc=CC                  use C compiler CC [$cc]

>>     --iasl=IASL              use ACPI compiler IASL [$iasl]

>>

>
Peter Maydell April 29, 2019, 6:17 p.m. UTC | #4
On Thu, 25 Apr 2019 at 17:42, Antonio Ospite
<antonio.ospite@collabora.com> wrote:
> Now that 4.0 has been released, maybe we can move on with this minor change.

>

> I will send a fix for https://bugs.launchpad.net/qemu/+bug/1817345 after

> this patch lands.


This patch has just gone in to master, so that should be ok
for you to rebase your patch on now.

thanks
-- PMM
diff mbox series

Patch

diff --git a/configure b/configure
index 7071f525843..bc2953e6114 100755
--- a/configure
+++ b/configure
@@ -278,6 +278,8 @@  ld_has() {
 
 # default parameters
 source_path=$(dirname "$0")
+# make source path absolute
+source_path=$(cd "$source_path"; pwd)
 cpu=""
 iasl="iasl"
 interp_prefix="/usr/gnemul/qemu-%M"
@@ -519,8 +521,6 @@  for opt do
   ;;
   --cxx=*) CXX="$optarg"
   ;;
-  --source-path=*) source_path="$optarg"
-  ;;
   --cpu=*) cpu="$optarg"
   ;;
   --extra-cflags=*) QEMU_CFLAGS="$QEMU_CFLAGS $optarg"
@@ -599,9 +599,6 @@  if test "$debug_info" = "yes"; then
     LDFLAGS="-g $LDFLAGS"
 fi
 
-# make source path absolute
-source_path=$(cd "$source_path"; pwd)
-
 # running configure in the source tree?
 # we know that's the case if configure is there.
 if test -f "./configure"; then
@@ -945,8 +942,6 @@  for opt do
   ;;
   --interp-prefix=*) interp_prefix="$optarg"
   ;;
-  --source-path=*)
-  ;;
   --cross-prefix=*)
   ;;
   --cc=*)
@@ -1624,7 +1619,6 @@  $(echo Available targets: $default_target_list | \
   fold -s -w 53 | sed -e 's/^/                           /')
 
 Advanced options (experts only):
-  --source-path=PATH       path of source code [$source_path]
   --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]
   --cc=CC                  use C compiler CC [$cc]
   --iasl=IASL              use ACPI compiler IASL [$iasl]