[libtool] libtool: rebase to 2.4.5

Pavel Raiskup praiskup at fedoraproject.org
Tue Feb 17 13:09:32 UTC 2015


commit ee981597d80663c731b464a1b0a6f39d530c9d92
Author: Pavel Raiskup <praiskup at redhat.com>
Date:   Tue Jan 20 09:03:50 2015 +0100

    libtool: rebase to 2.4.5
    
    Per upstream release notes:
    http://lists.gnu.org/archive/html/autotools-announce/2015-01/msg00001.html
    
    Resolves: #1159497
    Version: 2.4.5-1

 libtool-2.4.5-fix-path-munging.patch               |  140 ++++++++++++++++++++
 ...-2.4.3-rpath.patch => libtool-2.4.5-rpath.patch |   14 ++-
 libtool.spec                                       |   13 ++-
 3 files changed, 158 insertions(+), 9 deletions(-)
---
diff --git a/libtool-2.4.5-fix-path-munging.patch b/libtool-2.4.5-fix-path-munging.patch
new file mode 100644
index 0000000..447ddc7
--- /dev/null
+++ b/libtool-2.4.5-fix-path-munging.patch
@@ -0,0 +1,140 @@
+From d901235239e11d34453147c7ebf109546caca8bc Mon Sep 17 00:00:00 2001
+From: Pavel Raiskup <praiskup at redhat.com>
+Date: Sat, 13 Dec 2014 10:59:37 +0100
+Subject: [PATCH] libtool.m4: typofix, subst last '$' with quadrigraph
+
+* m4/libtool.m4 (_LT_LIBTOOL_TAG_VARS): Encase the
+configure/libtool shared function into parseable borders; for
+testing purposes.
+(func_munge_path_list): Typo s/$/@S|@/.
+* tests/configure-funcs.at: New testcase.
+* Makefile.am (TESTSUITE_AT): Mention new testcase.
+---
+ Makefile.am              |  1 +
+ m4/libtool.m4            |  9 ++++---
+ tests/configure-funcs.at | 70 ++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 76 insertions(+), 4 deletions(-)
+ create mode 100644 tests/configure-funcs.at
+
+diff --git a/Makefile.am b/Makefile.am
+index 888f5cb..13dfc63 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -652,6 +652,7 @@ testsuite	= $(tests_dir)/testsuite
+ # that it can check for previous failures and skip if necessary.
+ TESTSUITE	= tests/testsuite
+ TESTSUITE_AT	= tests/testsuite.at \
++		  tests/configure-funcs.at \
+ 		  tests/libtoolize.at \
+ 		  tests/libtool.at \
+ 		  tests/demo.at \
+diff --git a/m4/libtool.m4 b/m4/libtool.m4
+index 41dd20a..2b33082 100644
+--- a/m4/libtool.m4
++++ b/m4/libtool.m4
+@@ -748,13 +748,14 @@ _LT_LIBTOOL_TAG_VARS
+ _LT_EOF
+ 
+     cat <<'_LT_EOF' >> "$cfgfile"
+-## -------------------------------------- ##
+-## Shell functions shared with configure. ##
+-## -------------------------------------- ##
++
++# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+ 
+ _LT_PREPARE_MUNGE_PATH_LIST
+ _LT_PREPARE_CC_BASENAME
+ 
++# ### END FUNCTIONS SHARED WITH CONFIGURE
++
+ _LT_EOF
+ 
+   case $host_os in
+@@ -2256,7 +2257,7 @@ func_munge_path_list ()
+     x)
+         ;;
+     *:)
+-        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \$@S|@1\"
++        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
+         ;;
+     x:*)
+         eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
+diff --git a/tests/configure-funcs.at b/tests/configure-funcs.at
+new file mode 100644
+index 0000000..eab84a0
+--- /dev/null
++++ b/tests/configure-funcs.at
+@@ -0,0 +1,70 @@
++# configure-functions.at -- Linking and loading. -*- Autotest -*-
++#
++#   Copyright (C) 2014 Free Software Foundation, Inc.
++#
++#   This file is part of GNU Libtool.
++#
++# GNU Libtool is free software; you can redistribute it and/or
++# modify it under the terms of the GNU General Public License as
++# published by the Free Software Foundation; either version 2 of
++# the License, or (at your option) any later version.
++#
++# GNU Libtool is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with GNU Libtool; see the file COPYING.  If not, a copy
++# can be downloaded from  http://www.gnu.org/licenses/gpl.html,
++# or obtained by writing to the Free Software Foundation, Inc.,
++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++####
++
++AT_BANNER([Functions shared with configure and libtool.])
++
++m4_define([_AT_FUNC_SETUP], [dnl
++AT_SETUP($1)dnl
++_lt_bin="$abs_top_builddir/libtool"
++re_begincf='^# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE'
++re_endcf='^# ### END FUNCTIONS SHARED WITH CONFIGURE'
++
++$ECHO '#!/bin/sh'       > "$1"
++$ECHO '#: ${SED=sed}'   >> "$1"
++$ECHO '#: ${ECHO=echo}' >> "$1"
++
++sed "1,/$re_begincf/d;/$re_endcf/,\$d" < "$_lt_bin" >> "$1"
++])
++
++_AT_FUNC_SETUP([func_munge_path_list])
++
++cat <<\EOF >> func_munge_path_list
++for orig in "/usr/lib" " /lib /usr/lib "; do
++  $ECHO "'$orig':"
++  for path in "/p1:" "/p3:/p2:" ":/a1" ":/a2:/a3" "/p4::/a4" "/p6:/p5::/a5:/a6"; do
++    old="$orig"
++    func_munge_path_list orig "$path" || exit 1
++    $ECHO "munge ($path) = $orig"
++  done
++done
++EOF
++chmod +x func_munge_path_list
++
++AT_CHECK([ECHO="$ECHO" SED="$SED" ./func_munge_path_list], [0],
++['/usr/lib':
++munge (/p1:) = /p1 /usr/lib
++munge (/p3:/p2:) = /p3 /p2 /p1 /usr/lib
++munge (:/a1) = /p3 /p2 /p1 /usr/lib /a1
++munge (:/a2:/a3) = /p3 /p2 /p1 /usr/lib /a1 /a2 /a3
++munge (/p4::/a4) = /p4 /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 /a4
++munge (/p6:/p5::/a5:/a6) = /p6 /p5 /p4 /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 /a4 /a5 /a6
++' /lib /usr/lib ':
++munge (/p1:) = /p1  /lib /usr/lib @&t@
++munge (/p3:/p2:) = /p3 /p2 /p1  /lib /usr/lib @&t@
++munge (:/a1) = /p3 /p2 /p1  /lib /usr/lib  /a1
++munge (:/a2:/a3) = /p3 /p2 /p1  /lib /usr/lib  /a1 /a2 /a3
++munge (/p4::/a4) = /p4 /p3 /p2 /p1  /lib /usr/lib  /a1 /a2 /a3 /a4
++munge (/p6:/p5::/a5:/a6) = /p6 /p5 /p4 /p3 /p2 /p1  /lib /usr/lib  /a1 /a2 /a3 /a4 /a5 /a6
++], [])
++
++AT_CLEANUP
+-- 
+2.1.0
+
diff --git a/libtool-2.4.3-rpath.patch b/libtool-2.4.5-rpath.patch
similarity index 66%
rename from libtool-2.4.3-rpath.patch
rename to libtool-2.4.5-rpath.patch
index 30dd5f9..2f97997 100644
--- a/libtool-2.4.3-rpath.patch
+++ b/libtool-2.4.5-rpath.patch
@@ -1,4 +1,4 @@
-From 78f1c485fa9833c2b02f0bb5b1a630ee67251a01 Mon Sep 17 00:00:00 2001
+From f7e477ec085414991c8160c7394bfaf2b1425c67 Mon Sep 17 00:00:00 2001
 From: Karsten Hopp <karsten at fedoraproject.org>
 Date: Wed, 29 Oct 2014 13:27:27 +0100
 Subject: [PATCH] remove /lib64 and /usr/lib64 rpath
@@ -8,17 +8,21 @@ Subject: [PATCH] remove /lib64 and /usr/lib64 rpath
  1 file changed, 4 insertions(+), 1 deletion(-)
 
 diff --git a/m4/libtool.m4 b/m4/libtool.m4
-index 068f0d8..bb87360 100644
+index f796d7b..41dd20a 100644
 --- a/m4/libtool.m4
 +++ b/m4/libtool.m4
-@@ -2739,10 +2739,13 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+@@ -2866,6 +2866,9 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
    # before this can be enabled.
    hardcode_into_libs=yes
  
 +  # Add ABI-specific directories to the system library path.
 +  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
 +
-   # Append ld.so.conf contents to the search path
+   # Ideally, we could use ldconfig to report *all* directores which are
+   # searched for libraries, however this is still not possible.  Aside from not
+   # being certain /sbin/ldconfig is available, command
+@@ -2874,7 +2877,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+   # appending ld.so.conf contents (and includes) to the search path.
    if test -f /etc/ld.so.conf; then
      lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
 -    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
@@ -27,5 +31,5 @@ index 068f0d8..bb87360 100644
  
    # We used to test for /lib/ld.so.1 and disable shared libraries on
 -- 
-1.9.3
+2.1.0
 
diff --git a/libtool.spec b/libtool.spec
index 894a19a..8e4457a 100644
--- a/libtool.spec
+++ b/libtool.spec
@@ -5,7 +5,7 @@
 
 Summary: The GNU Portable Library Tool
 Name:    libtool
-Version: 2.4.4
+Version: 2.4.5
 Release: 1%{?dist}
 License: GPLv2+ and LGPLv2+ and GFDL
 URL:     http://www.gnu.org/software/libtool/
@@ -15,12 +15,16 @@ Source:  http://ftp.gnu.org/gnu/libtool/libtool-%{version}.tar.xz
 
 # ~> downstream
 # ~> remove possibly once #1158915 gets fixed somehow
-Patch0:  libtool-2.4.3-rpath.patch
+Patch0:  libtool-2.4.5-rpath.patch
 
 # ~> downstream (proposed)
 # ~> http://permalink.gmane.org/gmane.comp.gnu.libtool.patches/11808
 Patch1:  libtool-2.4.4-race-in-aclocal-autoheader-calls.patch
 
+# ~> downstream (proposed)
+# ~> https://lists.gnu.org/archive/html/libtool/2014-12/msg00025.html
+Patch2:  libtool-2.4.5-fix-path-munging.patch
+
 # /usr/bin/libtool includes paths within gcc's versioned directories
 # Libtool must be rebuilt whenever a new upstream gcc is built
 Requires: gcc = %{gcc_version}
@@ -88,6 +92,7 @@ Static libraries and header files for development with ltdl.
 %setup -n libtool-%{version} -q
 %patch0 -p1 -b .rpath
 %patch1 -p1 -b .racy-testsuite
+%patch2 -p1 -b .munge-quadrigraph
 
 autoreconf -v
 
@@ -172,8 +177,8 @@ fi
 
 
 %changelog
-* Tue Feb 17 2015 Pavel Raiskup <praiskup at redhat.com> - 2.4.4-1
-- rebase again to 2.4.4
+* Tue Feb 17 2015 Pavel Raiskup <praiskup at redhat.com> - 2.4.5-1
+- rebase to 2.4.5
 
 * Fri Feb 06 2015 Jakub Jelinek <jakub at redhat.com> - 2.4.2-32
 - rebuilt for gcc 5.0.0


More information about the scm-commits mailing list