branch: master
commit 65026af3bc318d984635572939a9ae8eb0415ad5
Author: Richard Purdie <richard.pur...@linuxfoundation.org>
AuthorDate: Sat Apr 16 18:58:15 2022 +0100

    ltmain.in: Handle trailing slashes on install commands
    
    A command like:
    
    libtool --mode=install /usr/bin/install -c gck-roots-store-standalone.la
    '/image/usr/lib/gnome-keyring/standalone/'
    
    where the path ends with a trailing slash currently fails. This occurs in
    software like gnome-keyring or pulseaudio and is because the comparision
    code doesn't see the paths as equal. Strip both paths to ensure this works
    reliably.
    
    * build-aux/ltmain.in: Strip trailing slashes on install commands.
    * NEWS: Update.
---
 NEWS                | 2 ++
 build-aux/ltmain.in | 9 ++++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index 82aac9ea..ab986ba0 100644
--- a/NEWS
+++ b/NEWS
@@ -21,6 +21,8 @@ NEWS - list of user-visible changes between releases of GNU 
Libtool
 
   - Fix linking libraries at runtime with tcc by adding run path.
 
+  - Fix path comparison by removing trailing slashes on install commands.
+
 ** Changes in supported systems or compilers:
 
   - Support additional flang-based compilers, 'f18' and 'f95'.
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 4e2a63fd..be94b032 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -2405,8 +2405,15 @@ func_mode_install ()
        func_append dir "$objdir"
 
        if test -n "$relink_command"; then
+         # Strip any trailing slash from the destination.
+         func_stripname '' '/' "$libdir"
+         destlibdir=$func_stripname_result
+
+         func_stripname '' '/' "$destdir"
+         s_destdir=$func_stripname_result
+
          # Determine the prefix the user has applied to our future dir.
-         inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
+         inst_prefix_dir=`$ECHO "X$s_destdir" | $Xsed -e "s%$destlibdir\$%%"`
 
          # Don't allow the user to place us outside of our expected
          # location b/c this prevents finding dependent libraries that

Reply via email to