From bf261073dc4d788170d51fdc718d63ce0976fd77 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Thu, 31 Mar 2022 16:13:17 -0700 Subject: [PATCH] tools/libtool: bump to 2.4.7 Remove upstreamed patch and refresh others. Signed-off-by: Rosen Penev [rebased and refreshed patches again] Signed-off-by: Michael Pratt --- tools/libtool/Makefile | 4 +- tools/libtool/patches/000-relocatable.patch | 8 +- tools/libtool/patches/100-libdir-fixes.patch | 6 +- ...10-dont-use-target-dir-for-relinking.patch | 2 +- .../120-strip-unsafe-dirs-for-relinking.patch | 2 +- tools/libtool/patches/130-trailingslash.patch | 2 +- ...140-don-t-quote-SHELL-in-Makefile.am.patch | 10 +- ...itigate-the-sed_quote_subst-slowdown.patch | 224 ------------------ .../patches/200-openwrt-branding.patch | 2 +- 9 files changed, 18 insertions(+), 242 deletions(-) delete mode 100644 tools/libtool/patches/150-libtool-mitigate-the-sed_quote_subst-slowdown.patch diff --git a/tools/libtool/Makefile b/tools/libtool/Makefile index 4149491bd3a8..662614229497 100644 --- a/tools/libtool/Makefile +++ b/tools/libtool/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libtool PKG_CPE_ID:=cpe:/a:gnu:libtool -PKG_VERSION:=2.4.6 +PKG_VERSION:=2.4.7 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/$(PKG_NAME) -PKG_HASH:=7c87a8c2c8c0fc9cd5019e402bed4292462d00a718a7cd5f11218153bf28b26f +PKG_HASH:=4f7f217f057ce655ff22559ad221a0fd8ef84ad1fc5fcb6990cecc333aa1635d HOST_BUILD_PARALLEL:=1 diff --git a/tools/libtool/patches/000-relocatable.patch b/tools/libtool/patches/000-relocatable.patch index e6189d562a40..9c3bcb69ffd8 100644 --- a/tools/libtool/patches/000-relocatable.patch +++ b/tools/libtool/patches/000-relocatable.patch @@ -40,7 +40,7 @@ Signed-off-by: Eneas U de Queiroz ## -------------------------- ## ## Source external libraries. ## -@@ -1901,11 +1910,21 @@ func_require_seen_libtool () +@@ -1903,11 +1912,21 @@ func_require_seen_libtool () pkgmacro_files="@pkgmacro_files@" # Locations for important files: @@ -69,7 +69,7 @@ Signed-off-by: Eneas U de Queiroz if test -n "$_lt_pkgdatadir"; then --- a/m4/libtool.m4 +++ b/m4/libtool.m4 -@@ -931,7 +931,7 @@ m4_defun([_LT_TAG_COMPILER], +@@ -933,7 +933,7 @@ m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl @@ -78,7 +78,7 @@ Signed-off-by: Eneas U de Queiroz _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl -@@ -8160,9 +8160,9 @@ m4_defun([_LT_DECL_EGREP], +@@ -8183,9 +8183,9 @@ m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep @@ -91,7 +91,7 @@ Signed-off-by: Eneas U de Queiroz dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) -@@ -8195,9 +8195,8 @@ AC_SUBST([DLLTOOL]) +@@ -8226,9 +8226,8 @@ _LT_DECL([], [FILECMD], [1], [A file(cmd # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED diff --git a/tools/libtool/patches/100-libdir-fixes.patch b/tools/libtool/patches/100-libdir-fixes.patch index 671040b3e105..2a563901a5ff 100644 --- a/tools/libtool/patches/100-libdir-fixes.patch +++ b/tools/libtool/patches/100-libdir-fixes.patch @@ -19,7 +19,7 @@ Signed-off-by: Eneas U de Queiroz --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in -@@ -6049,8 +6049,14 @@ func_mode_link () +@@ -6097,8 +6097,14 @@ func_mode_link () absdir=$abs_ladir libdir=$abs_ladir else @@ -36,7 +36,7 @@ Signed-off-by: Eneas U de Queiroz fi test yes = "$hardcode_automatic" && avoidtemprpath=yes else -@@ -6448,8 +6454,6 @@ func_mode_link () +@@ -6496,8 +6502,6 @@ func_mode_link () add=$libdir/$linklib fi else @@ -45,7 +45,7 @@ Signed-off-by: Eneas U de Queiroz # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in -@@ -6604,7 +6608,17 @@ func_mode_link () +@@ -6652,7 +6656,17 @@ func_mode_link () fi ;; *) diff --git a/tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch b/tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch index b76877a8b8a5..2d2189e76680 100644 --- a/tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch +++ b/tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch @@ -10,7 +10,7 @@ Signed-off-by: Eneas U de Queiroz --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in -@@ -6434,13 +6434,13 @@ func_mode_link () +@@ -6482,13 +6482,13 @@ func_mode_link () add_dir= add= # Finalize command for both is simple: just hardcode it. diff --git a/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch b/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch index 42a3ed7a3217..132f1c9bd687 100644 --- a/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch +++ b/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch @@ -13,7 +13,7 @@ Signed-off-by: Eneas U de Queiroz --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in -@@ -2382,6 +2382,9 @@ func_mode_install () +@@ -2400,6 +2400,9 @@ func_mode_install () relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi diff --git a/tools/libtool/patches/130-trailingslash.patch b/tools/libtool/patches/130-trailingslash.patch index 343ce4ab656a..78fdf0a4100a 100644 --- a/tools/libtool/patches/130-trailingslash.patch +++ b/tools/libtool/patches/130-trailingslash.patch @@ -18,7 +18,7 @@ Signed-off-by: Eneas U de Queiroz --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in -@@ -2363,8 +2363,15 @@ func_mode_install () +@@ -2381,8 +2381,15 @@ func_mode_install () func_append dir "$objdir" if test -n "$relink_command"; then diff --git a/tools/libtool/patches/140-don-t-quote-SHELL-in-Makefile.am.patch b/tools/libtool/patches/140-don-t-quote-SHELL-in-Makefile.am.patch index 513b521834c7..3422961385af 100644 --- a/tools/libtool/patches/140-don-t-quote-SHELL-in-Makefile.am.patch +++ b/tools/libtool/patches/140-don-t-quote-SHELL-in-Makefile.am.patch @@ -18,7 +18,7 @@ Signed-off-by: Eneas U de Queiroz rebuild = rebuild=:; revision=`$(lt__cd) $(srcdir) && $(git_version_gen) | $(SED) 's|-.*$$||'` -@@ -301,7 +301,7 @@ libtool: $(ltmain_sh) $(config_status) $ +@@ -306,7 +306,7 @@ libtool: $(ltmain_sh) $(config_status) $ if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ then echo " GEN " $@; \ else echo '$(SHELL) $(top_builddir)/config.status "$@"'; fi; \ @@ -27,7 +27,7 @@ Signed-off-by: Eneas U de Queiroz fi -@@ -788,13 +788,13 @@ testsuite_deps_uninstalled = $(testsuite +@@ -789,13 +789,13 @@ testsuite_deps_uninstalled = $(testsuite # Hook the test suite into the check rule check-local: $(testsuite_deps_uninstalled) $(AM_V_at)$(CD_TESTDIR); \ @@ -43,7 +43,7 @@ Signed-off-by: Eneas U de Queiroz $(TESTS_ENVIRONMENT) $(INSTALLCHECK_ENVIRONMENT) $(TESTSUITEFLAGS) \ AUTOTEST_PATH='$(exec_prefix)/bin' -@@ -806,7 +806,7 @@ check-noninteractive-old: +@@ -807,7 +807,7 @@ check-noninteractive-old: .PHONY: check-noninteractive-new check-noninteractive-new: $(testsuite_deps_uninstalled) $(AM_V_at)$(CD_TESTDIR); \ @@ -52,7 +52,7 @@ Signed-off-by: Eneas U de Queiroz $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ -k '!interactive' INNER_TESTSUITEFLAGS=',!interactive' \ $(TESTSUITEFLAGS) -@@ -815,7 +815,7 @@ check-noninteractive-new: $(testsuite_de +@@ -816,7 +816,7 @@ check-noninteractive-new: $(testsuite_de .PHONY: check-interactive check-interactive: $(testsuite_deps_uninstalled) $(AM_V_at)$(CD_TESTDIR); \ @@ -61,7 +61,7 @@ Signed-off-by: Eneas U de Queiroz $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ -k interactive -k recursive INNER_TESTSUITEFLAGS=',interactive' \ $(TESTSUITEFLAGS) -@@ -827,7 +827,7 @@ check-noninteractive: check-noninteracti +@@ -828,7 +828,7 @@ check-noninteractive: check-noninteracti clean-local: -$(CD_TESTDIR); \ test -f "$$abs_srcdir/$(TESTSUITE)" && \ diff --git a/tools/libtool/patches/150-libtool-mitigate-the-sed_quote_subst-slowdown.patch b/tools/libtool/patches/150-libtool-mitigate-the-sed_quote_subst-slowdown.patch deleted file mode 100644 index 27ea6a1d5362..000000000000 --- a/tools/libtool/patches/150-libtool-mitigate-the-sed_quote_subst-slowdown.patch +++ /dev/null @@ -1,224 +0,0 @@ -From 3adadb568fbf15d952bd25a005b6a9afb7e59dc7 Mon Sep 17 00:00:00 2001 -From: Pavel Raiskup -Date: Sun, 4 Oct 2015 21:55:03 +0200 -Subject: libtool: mitigate the $sed_quote_subst slowdown - -When it is reasonably possible, use shell implementation for -quoting. - -References: -http://lists.gnu.org/archive/html/libtool/2015-03/msg00005.html -http://lists.gnu.org/archive/html/libtool/2015-02/msg00000.html -https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20006 - -* gl/build-aux/funclib.sh (func_quote): New function that can be -used as substitution for '$SED $sed_quote_subst' call. -* build-aux/ltmain.in (func_emit_wrapper): Use func_quote instead -of '$SED $sed_quote_subst'. -(func_mode_link): Likewise. -* NEWS: Document. -* bootstrap: Sync with funclib.sh. - -(cherry picked from commit 32f0df9835ac15ac17e04be57c368172c3ad1d19) -(skipping NEWS change) -Signed-off-by: Eneas U de Queiroz - ---- a/bootstrap -+++ b/bootstrap -@@ -230,7 +230,7 @@ vc_ignore= - - # Source required external libraries: - # Set a version string for this script. --scriptversion=2015-01-20.17; # UTC -+scriptversion=2015-10-04.22; # UTC - - # General shell script boiler plate, and helper functions. - # Written by Gary V. Vaughan, 2004 -@@ -1257,6 +1257,57 @@ func_relative_path () - } - - -+# func_quote ARG -+# -------------- -+# Aesthetically quote one ARG, store the result into $func_quote_result. Note -+# that we keep attention to performance here (so far O(N) complexity as long as -+# func_append is O(1)). -+func_quote () -+{ -+ $debug_cmd -+ -+ func_quote_result=$1 -+ -+ case $func_quote_result in -+ *[\\\`\"\$]*) -+ case $func_quote_result in -+ *'*'*|*'['*) -+ func_quote_result=`$ECHO "$func_quote_result" | $SED "$sed_quote_subst"` -+ return 0 -+ ;; -+ esac -+ -+ func_quote_old_IFS=$IFS -+ for _G_char in '\' '`' '"' '$' -+ do -+ # STATE($1) PREV($2) SEPARATOR($3) -+ set start "" "" -+ func_quote_result=dummy"$_G_char$func_quote_result$_G_char"dummy -+ IFS=$_G_char -+ for _G_part in $func_quote_result -+ do -+ case $1 in -+ quote) -+ func_append func_quote_result "$3$2" -+ set quote "$_G_part" "\\$_G_char" -+ ;; -+ start) -+ set first "" "" -+ func_quote_result= -+ ;; -+ first) -+ set quote "$_G_part" "" -+ ;; -+ esac -+ done -+ IFS=$func_quote_old_IFS -+ done -+ ;; -+ *) ;; -+ esac -+} -+ -+ - # func_quote_for_eval ARG... - # -------------------------- - # Aesthetically quote ARGs to be evaled later. -@@ -1273,12 +1324,8 @@ func_quote_for_eval () - func_quote_for_eval_unquoted_result= - func_quote_for_eval_result= - while test 0 -lt $#; do -- case $1 in -- *[\\\`\"\$]*) -- _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; -- *) -- _G_unquoted_arg=$1 ;; -- esac -+ func_quote "$1" -+ _G_unquoted_arg=$func_quote_result - if test -n "$func_quote_for_eval_unquoted_result"; then - func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" - else ---- a/build-aux/ltmain.in -+++ b/build-aux/ltmain.in -@@ -3356,7 +3356,8 @@ else - if test \"\$libtool_execute_magic\" != \"$magic\"; then - file=\"\$0\"" - -- qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` -+ func_quote "$ECHO" -+ qECHO=$func_quote_result - $ECHO "\ - - # A function that is used when there is no print builtin or printf. -@@ -8618,8 +8619,8 @@ EOF - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done -- relink_command="(cd `pwd`; $relink_command)" -- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` -+ func_quote "(cd `pwd`; $relink_command)" -+ relink_command=$func_quote_result - fi - - # Only actually do things if not in dry run mode. -@@ -8865,7 +8866,8 @@ EOF - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" -- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` -+ func_quote "$relink_command" -+ relink_command=$func_quote_result - if test yes = "$hardcode_automatic"; then - relink_command= - fi ---- a/build-aux/funclib.sh -+++ b/build-aux/funclib.sh -@@ -1,5 +1,5 @@ - # Set a version string for this script. --scriptversion=2015-01-20.17; # UTC -+scriptversion=2015-10-04.22; # UTC - - # General shell script boiler plate, and helper functions. - # Written by Gary V. Vaughan, 2004 -@@ -1026,6 +1026,57 @@ func_relative_path () - } - - -+# func_quote ARG -+# -------------- -+# Aesthetically quote one ARG, store the result into $func_quote_result. Note -+# that we keep attention to performance here (so far O(N) complexity as long as -+# func_append is O(1)). -+func_quote () -+{ -+ $debug_cmd -+ -+ func_quote_result=$1 -+ -+ case $func_quote_result in -+ *[\\\`\"\$]*) -+ case $func_quote_result in -+ *[\[\*\?]*) -+ func_quote_result=`$ECHO "$func_quote_result" | $SED "$sed_quote_subst"` -+ return 0 -+ ;; -+ esac -+ -+ func_quote_old_IFS=$IFS -+ for _G_char in '\' '`' '"' '$' -+ do -+ # STATE($1) PREV($2) SEPARATOR($3) -+ set start "" "" -+ func_quote_result=dummy"$_G_char$func_quote_result$_G_char"dummy -+ IFS=$_G_char -+ for _G_part in $func_quote_result -+ do -+ case $1 in -+ quote) -+ func_append func_quote_result "$3$2" -+ set quote "$_G_part" "\\$_G_char" -+ ;; -+ start) -+ set first "" "" -+ func_quote_result= -+ ;; -+ first) -+ set quote "$_G_part" "" -+ ;; -+ esac -+ done -+ IFS=$func_quote_old_IFS -+ done -+ ;; -+ *) ;; -+ esac -+} -+ -+ - # func_quote_for_eval ARG... - # -------------------------- - # Aesthetically quote ARGs to be evaled later. -@@ -1042,12 +1093,8 @@ func_quote_for_eval () - func_quote_for_eval_unquoted_result= - func_quote_for_eval_result= - while test 0 -lt $#; do -- case $1 in -- *[\\\`\"\$]*) -- _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; -- *) -- _G_unquoted_arg=$1 ;; -- esac -+ func_quote "$1" -+ _G_unquoted_arg=$func_quote_result - if test -n "$func_quote_for_eval_unquoted_result"; then - func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" - else diff --git a/tools/libtool/patches/200-openwrt-branding.patch b/tools/libtool/patches/200-openwrt-branding.patch index 50b5c03d4c4e..5876f8bfac63 100644 --- a/tools/libtool/patches/200-openwrt-branding.patch +++ b/tools/libtool/patches/200-openwrt-branding.patch @@ -23,7 +23,7 @@ Signed-off-by: Eneas U de Queiroz } --- a/build-aux/funclib.sh +++ b/build-aux/funclib.sh -@@ -656,7 +656,7 @@ func_echo () +@@ -699,7 +699,7 @@ func_echo () IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_IFS -- 2.30.2