[v2,PING] Rely on the shell's built-in 'pwd' command.

Message ID 87vb8lnl47.fsf_-_@gnu.org
State Committed
Headers

Commit Message

Ludovic Courtès Nov. 29, 2015, 10:41 a.m. UTC
  Ping.  :-)

https://sourceware.org/ml/libc-alpha/2015-11/msg00516.html

TIA,
Ludo’.

ChangeLog:

2015-11-21  Ludovic Courtès  <ludo@gnu.org>

	* configure.ac: Use 'pwd -P' instead of '/bin/pwd'.
	* configure: Regenerate.
	* io/ftwtest-sh: Use 'pwd -P' instead of '/bin/pwd'.
	* scripts/rellns-sh: Likewise.  Remove 'pwd' variable.
  

Comments

Carlos O'Donell Dec. 1, 2015, 4:19 p.m. UTC | #1
On 11/29/2015 05:41 AM, Ludovic Courtès wrote:
> Ping.  :-)
> 
> https://sourceware.org/ml/libc-alpha/2015-11/msg00516.html
> 
> TIA,
> Ludo’.
> 
> ChangeLog:
> 
> 2015-11-21  Ludovic Courtès  <ludo@gnu.org>
> 
> 	* configure.ac: Use 'pwd -P' instead of '/bin/pwd'.
> 	* configure: Regenerate.
> 	* io/ftwtest-sh: Use 'pwd -P' instead of '/bin/pwd'.
> 	* scripts/rellns-sh: Likewise.  Remove 'pwd' variable.

This looks good to me.

POSIX pwd contains `-P` and that's the key for portability.

Cheers,
Carlos.
  
Ludovic Courtès Dec. 1, 2015, 9:43 p.m. UTC | #2
"Carlos O'Donell" <carlos@redhat.com> skribis:

> On 11/29/2015 05:41 AM, Ludovic Courtès wrote:
>> Ping.  :-)
>> 
>> https://sourceware.org/ml/libc-alpha/2015-11/msg00516.html
>> 
>> TIA,
>> Ludo’.
>> 
>> ChangeLog:
>> 
>> 2015-11-21  Ludovic Courtès  <ludo@gnu.org>
>> 
>> 	* configure.ac: Use 'pwd -P' instead of '/bin/pwd'.
>> 	* configure: Regenerate.
>> 	* io/ftwtest-sh: Use 'pwd -P' instead of '/bin/pwd'.
>> 	* scripts/rellns-sh: Likewise.  Remove 'pwd' variable.
>
> This looks good to me.
>
> POSIX pwd contains `-P` and that's the key for portability.

Thanks for the review.

I don’t have commit access so I’d be grateful if one of you could commit it.

Ludo’.
  
Carlos O'Donell Dec. 3, 2015, 5 a.m. UTC | #3
On 12/01/2015 04:43 PM, Ludovic Courtès wrote:
> "Carlos O'Donell" <carlos@redhat.com> skribis:
> 
>> On 11/29/2015 05:41 AM, Ludovic Courtès wrote:
>>> Ping.  :-)
>>>
>>> https://sourceware.org/ml/libc-alpha/2015-11/msg00516.html
>>>
>>> TIA,
>>> Ludo’.
>>>
>>> ChangeLog:
>>>
>>> 2015-11-21  Ludovic Courtès  <ludo@gnu.org>
>>>
>>> 	* configure.ac: Use 'pwd -P' instead of '/bin/pwd'.
>>> 	* configure: Regenerate.
>>> 	* io/ftwtest-sh: Use 'pwd -P' instead of '/bin/pwd'.
>>> 	* scripts/rellns-sh: Likewise.  Remove 'pwd' variable.
>>
>> This looks good to me.
>>
>> POSIX pwd contains `-P` and that's the key for portability.
> 
> Thanks for the review.
> 
> I don’t have commit access so I’d be grateful if one of you could commit it.

Tested on x86_64 and pushed.

Cheers,
Carlos.
  
Ludovic Courtès Dec. 3, 2015, 7:50 a.m. UTC | #4
"Carlos O'Donell" <carlos@redhat.com> skribis:

> On 12/01/2015 04:43 PM, Ludovic Courtès wrote:
>> "Carlos O'Donell" <carlos@redhat.com> skribis:
>> 
>>> On 11/29/2015 05:41 AM, Ludovic Courtès wrote:
>>>> Ping.  :-)
>>>>
>>>> https://sourceware.org/ml/libc-alpha/2015-11/msg00516.html
>>>>
>>>> TIA,
>>>> Ludo’.
>>>>
>>>> ChangeLog:
>>>>
>>>> 2015-11-21  Ludovic Courtès  <ludo@gnu.org>
>>>>
>>>> 	* configure.ac: Use 'pwd -P' instead of '/bin/pwd'.
>>>> 	* configure: Regenerate.
>>>> 	* io/ftwtest-sh: Use 'pwd -P' instead of '/bin/pwd'.
>>>> 	* scripts/rellns-sh: Likewise.  Remove 'pwd' variable.
>>>
>>> This looks good to me.
>>>
>>> POSIX pwd contains `-P` and that's the key for portability.
>> 
>> Thanks for the review.
>> 
>> I don’t have commit access so I’d be grateful if one of you could commit it.
>
> Tested on x86_64 and pushed.

Thank you!

Ludo’.
  

Patch

 configure         |  2 +-
 configure.ac      |  2 +-
 io/ftwtest-sh     |  8 ++++----
 scripts/rellns-sh | 18 +++++-------------
 4 files changed, 11 insertions(+), 19 deletions(-)

diff --git a/configure b/configure
index 90953f0..ae8f69b 100755
--- a/configure
+++ b/configure
@@ -3228,7 +3228,7 @@  if test $libc_cv_cxx_link_ok != yes; then :
   CXX=
 fi
 
-if test "`cd $srcdir; /bin/pwd`" = "`/bin/pwd`"; then
+if test "`cd $srcdir; pwd -P`" = "`pwd -P`"; then
   as_fn_error $? "you must configure in a separate build directory" "$LINENO" 5
 fi
 
diff --git a/configure.ac b/configure.ac
index cd37433..d5ab8f0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -80,7 +80,7 @@  LDFLAGS="$old_LDFLAGS"
 AC_LANG_POP([C++])])
 AS_IF([test $libc_cv_cxx_link_ok != yes], [CXX=])
 
-if test "`cd $srcdir; /bin/pwd`" = "`/bin/pwd`"; then
+if test "`cd $srcdir; pwd -P`" = "`pwd -P`"; then
   AC_MSG_ERROR([you must configure in a separate build directory])
 fi
 
diff --git a/io/ftwtest-sh b/io/ftwtest-sh
index 8669eab..f3e3597 100644
--- a/io/ftwtest-sh
+++ b/io/ftwtest-sh
@@ -135,7 +135,7 @@  $testprogram --chdir $tmpdir |
     sort > $testout
 
 # perhaps $tmp involves some symlinks...
-tmpreal=`cd $tmp; /bin/pwd 2>/dev/null || /usr/bin/pwd`
+tmpreal=`cd $tmp; pwd -P 2>/dev/null`
 
 cat <<EOF | cmp $testout - || exit 1
 base = "$tmp/", file = "ftwtest.d", flag = FTW_D, cwd = $tmpreal, level = 0
@@ -153,7 +153,7 @@  base = "$tmp/ftwtest.d/foo/lvl1/lvl2/lvl3/", file = "file@3", flag = FTW_F, cwd
 EOF
 rm $testout
 
-curwd=`/bin/pwd 2>/dev/null || /usr/bin/pwd`
+curwd=`pwd -P 2>/dev/null`
 cd "$tmp"
 $testprogram --chdir ftwtest.d |
     sort > $testout
@@ -175,7 +175,7 @@  base = "ftwtest.d/foo/lvl1/lvl2/lvl3/", file = "file@3", flag = FTW_F, cwd = $tm
 EOF
 rm $testout
 
-curwd=`/bin/pwd 2>/dev/null || /usr/bin/pwd`
+curwd=`pwd -P`
 cd "$tmp"
 $testprogram --chdir ftwtest.d/. |
     sort > $testout
@@ -197,7 +197,7 @@  base = "ftwtest.d/./foo/lvl1/lvl2/lvl3/", file = "file@3", flag = FTW_F, cwd = $
 EOF
 rm $testout
 
-curwd=`/bin/pwd 2>/dev/null || /usr/bin/pwd`
+curwd=`pwd -P 2>/dev/null`
 cd "$tmp"
 $testprogram --chdir ftwtest.d/foo/lvl1/link@1 |
     sort > $testout
diff --git a/scripts/rellns-sh b/scripts/rellns-sh
index f107433..9c733b5 100755
--- a/scripts/rellns-sh
+++ b/scripts/rellns-sh
@@ -30,23 +30,15 @@  if test $# -ne 2; then
   exit 1
 fi
 
-if test -x /bin/pwd; then
-  pwd=/bin/pwd
-elif test -x /usr/bin/pwd; then
-  pwd=/usr/bin/pwd
-else
-  pwd='pwd'
-fi
-
 # Make both paths absolute.
 if test -d $1; then
-  to=`cd $1 && $pwd`
+  to=`cd $1 && pwd -P`
 else
   temp=`echo $1 | sed 's%/*[^/]*$%%'`
   if test -z "$temp"; then
-    to=`$pwd`
+    to=`pwd -P`
   else
-    to=`cd $temp && $pwd`
+    to=`cd $temp && pwd -P`
   fi
   to="$to/`echo $1 | sed 's%.*/\([^/][^/]*\)$%\1%'`"
 fi
@@ -59,9 +51,9 @@  else
 fi
 
 if test -z "$from"; then
-  from=`$pwd | sed 's%^/%%'`
+  from=`pwd -P | sed 's%^/%%'`
 else
-  from=`cd $from && $pwd | sed 's%^/%%'`
+  from=`cd $from && pwd -P | sed 's%^/%%'`
 fi
 
 while test -n "$to" && test -n "$from"; do
-- 
2.6.3