configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
configure checks if it is executed in the source directory by comparing
the literal paths, but there may be multiple representations of a
directory due to symbolic links. Use the -ef operator to tell if they
point to the same directory.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index aa7aae70fa1b..853fa0b81f70 100755
--- a/configure
+++ b/configure
@@ -13,7 +13,7 @@ export CCACHE_RECACHE=yes
# make source path absolute
source_path=$(cd "$(dirname -- "$0")"; pwd)
-if test "$PWD" = "$source_path"
+if test "$PWD" -ef "$source_path"
then
echo "Using './build' as the directory for build output"
---
base-commit: 7e3b6d8063f245d27eecce5aabe624b5785f2a77
change-id: 20241111-p-c8a0d3e7fc82
Best regards,
--
Akihiko Odaki <akihiko.odaki@daynix.com>
On 11/11/2024 08.19, Akihiko Odaki wrote: > configure checks if it is executed in the source directory by comparing > the literal paths, but there may be multiple representations of a > directory due to symbolic links. Use the -ef operator to tell if they > point to the same directory. > > Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> > --- > configure | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/configure b/configure > index aa7aae70fa1b..853fa0b81f70 100755 > --- a/configure > +++ b/configure > @@ -13,7 +13,7 @@ export CCACHE_RECACHE=yes > # make source path absolute > source_path=$(cd "$(dirname -- "$0")"; pwd) > > -if test "$PWD" = "$source_path" > +if test "$PWD" -ef "$source_path" > then > echo "Using './build' as the directory for build output" Looking at https://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html it sounds like "-ef" is not part of all posix compliant shells? Did you check whether it is working with all of our destination host types? Thomas
On 11/11/24 08:50, Thomas Huth wrote: > On 11/11/2024 08.19, Akihiko Odaki wrote: >> configure checks if it is executed in the source directory by comparing >> the literal paths, but there may be multiple representations of a >> directory due to symbolic links. Use the -ef operator to tell if they >> point to the same directory. >> >> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> >> --- >> configure | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/configure b/configure >> index aa7aae70fa1b..853fa0b81f70 100755 >> --- a/configure >> +++ b/configure >> @@ -13,7 +13,7 @@ export CCACHE_RECACHE=yes >> # make source path absolute >> source_path=$(cd "$(dirname -- "$0")"; pwd) >> -if test "$PWD" = "$source_path" >> +if test "$PWD" -ef "$source_path" >> then >> echo "Using './build' as the directory for build output" > > Looking at https://pubs.opengroup.org/onlinepubs/9699919799/utilities/ > test.html it sounds like "-ef" is not part of all posix compliant > shells? Did you check whether it is working with all of our destination > host types? dash has it (https://www.man7.org/linux/man-pages/man1/dash.1.html), and it looks like it's only really ancient Solaris shells that do not. OpenBSD has it in ksh (https://cvsweb.openbsd.org/src/bin/ksh/c_test.c?rev=1.28). NetBSD has it in test(1) and seems to use the same sources for the shell (https://github.com/NetBSD/src/blob/trunk/bin/sh/Makefile#L53). So I'm queuing the patch. Paolo
© 2016 - 2024 Red Hat, Inc.