From: Richard Purdie Date: Sat, 16 Apr 2022 17:58:15 +0000 (+0100) Subject: ltmain.in: Handle trailing slashes on install commands X-Git-Tag: v2.5.4~28 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=65026af3bc318d984635572939a9ae8eb0415ad5;p=thirdparty%2Flibtool.git 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. --- diff --git a/NEWS b/NEWS index 82aac9eab..ab986ba00 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 4e2a63fdd..be94b032d 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