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.
This commit is contained in:
Richard Purdie 2022-04-16 18:58:15 +01:00 committed by Ileana Dumitrescu
parent 5586070a71
commit 65026af3bc
No known key found for this signature in database
GPG Key ID: 6570EA01146F7354
2 changed files with 10 additions and 1 deletions

2
NEWS
View File

@ -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'.

View 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