From ee981597d80663c731b464a1b0a6f39d530c9d92 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Tue, 20 Jan 2015 09:03:50 +0100 Subject: [PATCH] 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 ++++++++++++++++++ ...3-rpath.patch => libtool-2.4.5-rpath.patch | 14 +- libtool.spec | 13 +- 3 files changed, 158 insertions(+), 9 deletions(-) create mode 100644 libtool-2.4.5-fix-path-munging.patch rename libtool-2.4.3-rpath.patch => libtool-2.4.5-rpath.patch (66%) 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 +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 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 - 2.4.4-1 -- rebase again to 2.4.4 +* Tue Feb 17 2015 Pavel Raiskup - 2.4.5-1 +- rebase to 2.4.5 * Fri Feb 06 2015 Jakub Jelinek - 2.4.2-32 - rebuilt for gcc 5.0.0