]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
ltmain.in: Handle trailing slashes on install commands
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 16 Apr 2022 17:58:15 +0000 (18:58 +0100)
committerIleana Dumitrescu <ileanadumitrescu95@gmail.com>
Fri, 25 Oct 2024 13:19:10 +0000 (16:19 +0300)
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.

build-aux/ltmain.in

index 4e2a63fdd13502d19c05510920d30ee3632176f1..be94b032d6097d1f35cfe24d3dc10408b23a4854 100644 (file)
@@ -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