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