Forráskód Böngészése

libtool: Revert "libtool: bump to 2.4.6"

This breaks the package builds using the SDK.
The targets all build fine, but the package builder fails on many
packages. The package builder uses the OpenWrt SDK.

This reverts commit c377d874bededfad971530aeb7d7e1b43cd3e61a.

Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens 4 éve
szülő
commit
96e05e2e36

+ 3 - 8
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.2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
-PKG_HASH:=7c87a8c2c8c0fc9cd5019e402bed4292462d00a718a7cd5f11218153bf28b26f
+PKG_HASH:=1d7b6862c1ed162e327f083a6f78f40eae29218f0db8c38393d61dab764c4407
 
 HOST_BUILD_PARALLEL:=1
 
@@ -24,12 +24,7 @@ HOST_CONFIGURE_VARS += \
 define Host/Prepare
 	$(call Host/Prepare/Default)
 	(cd $(STAGING_DIR_HOST)/share/aclocal/ && rm -f libtool.m4 ltdl.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4)
-	$(if $(QUILT),,(cd $(HOST_BUILD_DIR); touch README-release; $(AM_TOOL_PATHS) ./bootstrap --skip-git --skip-po --force))
-endef
-
-define Host/Configure
-	$(if $(QUILT),(cd $(HOST_BUILD_DIR); touch README-release; $(AM_TOOL_PATHS) ./bootstrap --skip-git --skip-po --force))
-	$(call Host/Configure/Default)
+	(cd $(HOST_BUILD_DIR); $(AM_TOOL_PATHS) ./bootstrap)
 endef
 
 define Host/Install

+ 88 - 20
tools/libtool/patches/000-relocatable.patch

@@ -1,24 +1,46 @@
-From ca10caa502f971f90d8c041aa2476de54ef0ce2b Mon Sep 17 00:00:00 2001
-From: Eneas U de Queiroz <[email protected]>
-Date: Tue, 20 Jul 2021 16:41:11 -0300
-Subject: openwrt: make relocatable, search resources relative to STAGING_DIR
-
-This was originally commited to openwrt by Jo-Philipp Wich
-<[email protected]>.
-
-(adjusted to v2.4.6)
-Signed-off-by: Eneas U de Queiroz <[email protected]>
-
+--- a/libltdl/config/general.m4sh
++++ b/libltdl/config/general.m4sh
+@@ -45,15 +45,22 @@ progpath="$0"
+ M4SH_VERBATIM([[
+ : ${CP="cp -f"}
+ test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
+-: ${EGREP="@EGREP@"}
+-: ${FGREP="@FGREP@"}
+-: ${GREP="@GREP@"}
+ : ${LN_S="@LN_S@"}
+ : ${MAKE="make"}
+ : ${MKDIR="mkdir"}
+ : ${MV="mv -f"}
+ : ${RM="rm -f"}
+-: ${SED="@SED@"}
++if test -n "$STAGING_DIR"; then
++	: ${EGREP="$STAGING_DIR/../host/bin/grep -E"}
++	: ${FGREP="$STAGING_DIR/../host/bin/grep -F"}
++	: ${GREP="$STAGING_DIR/../host/bin/grep"}
++	: ${SED="$STAGING_DIR/../host/bin/sed"}
++else
++	: ${EGREP="@EGREP@"}
++	: ${FGREP="@FGREP@"}
++	: ${GREP="@GREP@"}
++	: ${SED="@SED@"}
++fi
+ : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+ : ${Xsed="$SED -e 1s/^X//"}
+ 
 --- a/libtoolize.in
 +++ b/libtoolize.in
-@@ -40,11 +40,18 @@
+@@ -334,15 +334,22 @@ as_unset=as_fn_unset
  
- : ${AUTOCONF="autoconf"}
- : ${AUTOMAKE="automake"}
+ : ${CP="cp -f"}
+ test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
 -: ${EGREP="@EGREP@"}
 -: ${FGREP="@FGREP@"}
 -: ${GREP="@GREP@"}
  : ${LN_S="@LN_S@"}
+ : ${MAKE="make"}
+ : ${MKDIR="mkdir"}
+ : ${MV="mv -f"}
+ : ${RM="rm -f"}
 -: ${SED="@SED@"}
 +if test -n "$STAGING_DIR"; then
 +	: ${EGREP="$STAGING_DIR/../host/bin/grep -E"}
@@ -31,12 +53,58 @@ Signed-off-by: Eneas U de Queiroz <[email protected]>
 +	: ${GREP="@GREP@"}
 +	: ${SED="@SED@"}
 +fi
+ : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+ : ${Xsed="$SED -e 1s/^X//"}
+ 
+@@ -2487,10 +2494,17 @@ func_check_macros ()
  
+   # Locations for important files:
+   prefix=@prefix@
+-  datadir=@datadir@
+-  pkgdatadir=@pkgdatadir@
+-  pkgltdldir=@pkgdatadir@
+-  aclocaldir=@aclocaldir@
++  if test -n "$STAGING_DIR"; then
++    datadir="$STAGING_DIR/../host/share"
++    pkgdatadir="$STAGING_DIR/../host/share/libtool"
++    pkgltdldir="$STAGING_DIR/../host/share/libtool"
++    aclocaldir="$STAGING_DIR/../host/share/aclocal"
++  else
++    datadir=@datadir@
++    pkgdatadir=@pkgdatadir@
++    pkgltdldir=@pkgdatadir@
++    aclocaldir=@aclocaldir@
++  fi
+   auxdir=
+   macrodir=
+   configure_ac=configure.in
+--- a/libtoolize.m4sh
++++ b/libtoolize.m4sh
+@@ -1453,10 +1453,17 @@ func_check_macros ()
  
- ## -------------------------- ##
---- a/m4/libtool.m4
-+++ b/m4/libtool.m4
-@@ -929,9 +929,8 @@ dnl AC_DEFUN([AC_LIBTOOL_RC], [])
+   # Locations for important files:
+   prefix=@prefix@
+-  datadir=@datadir@
+-  pkgdatadir=@pkgdatadir@
+-  pkgltdldir=@pkgdatadir@
+-  aclocaldir=@aclocaldir@
++  if test -n "$STAGING_DIR"; then
++    datadir="$STAGING_DIR/../host/share"
++    pkgdatadir="$STAGING_DIR/../host/share/libtool"
++    pkgltdldir="$STAGING_DIR/../host/share/libtool"
++    aclocaldir="$STAGING_DIR/../host/share/aclocal"
++  else
++    datadir=@datadir@
++    pkgdatadir=@pkgdatadir@
++    pkgltdldir=@pkgdatadir@
++    aclocaldir=@aclocaldir@
++  fi
+   auxdir=
+   macrodir=
+   configure_ac=configure.in
+--- a/libltdl/m4/libtool.m4
++++ b/libltdl/m4/libtool.m4
+@@ -907,9 +907,8 @@ dnl AC_DEFUN([AC_LIBTOOL_RC], [])
  # ----------------
  m4_defun([_LT_TAG_COMPILER],
  [AC_REQUIRE([AC_PROG_CC])dnl
@@ -47,7 +115,7 @@ Signed-off-by: Eneas U de Queiroz <[email protected]>
  _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 +8159,9 @@ m4_defun([_LT_DECL_EGREP],
+@@ -7660,9 +7659,9 @@ m4_defun([_LT_DECL_EGREP],
  [AC_REQUIRE([AC_PROG_EGREP])dnl
  AC_REQUIRE([AC_PROG_FGREP])dnl
  test -z "$GREP" && GREP=grep
@@ -60,7 +128,7 @@ Signed-off-by: Eneas U de Queiroz <[email protected]>
  dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
  AC_SUBST([GREP])
  ])
-@@ -8195,9 +8194,8 @@ AC_SUBST([DLLTOOL])
+@@ -7695,9 +7694,8 @@ AC_SUBST([DLLTOOL])
  # as few characters as possible.  Prefer GNU sed if found.
  m4_defun([_LT_DECL_SED],
  [AC_PROG_SED

+ 62 - 35
tools/libtool/patches/100-libdir-fixes.patch

@@ -1,56 +1,83 @@
-From 67ffe8e8582a7ba1f1d1307a419098e6dd88bdaf Mon Sep 17 00:00:00 2001
-From: Eneas U de Queiroz <[email protected]>
-Date: Tue, 20 Jul 2021 16:41:11 -0300
-Subject: openwrt: cross-compilation path adjustments
-
-Comments from the patch:
-
-Adding 'libdir' from the .la file to our library search paths
-breaks crosscompilation horribly.  We cheat here and don't add
-it, instead adding the path where we found the .la.  -CL
-
-OE sets installed=no in staging. We need to look in $objdir and $absdir,
-preferring $objdir. RP 31/04/2008
-
-This was originally commited to openwrt by Jo-Philipp Wich
-<[email protected]>.
-
-(adjusted to v2.4.6)
-Signed-off-by: Eneas U de Queiroz <[email protected]>
-
---- a/build-aux/ltmain.in
-+++ b/build-aux/ltmain.in
-@@ -6049,8 +6049,14 @@ func_mode_link ()
- 	    absdir=$abs_ladir
- 	    libdir=$abs_ladir
+--- a/libltdl/config/ltmain.m4sh
++++ b/libltdl/config/ltmain.m4sh
+@@ -5731,8 +5731,14 @@ func_mode_link ()
+ 	    absdir="$abs_ladir"
+ 	    libdir="$abs_ladir"
  	  else
--	    dir=$lt_sysroot$libdir
--	    absdir=$lt_sysroot$libdir
+-	    dir="$lt_sysroot$libdir"
+-	    absdir="$lt_sysroot$libdir"
 +	    # Adding 'libdir' from the .la file to our library search paths
 +	    # breaks crosscompilation horribly.  We cheat here and don't add
 +	    # it, instead adding the path where we found the .la.  -CL
 +	    dir="$lt_sysroot$abs_ladir"
 +	    absdir="$abs_ladir"
 +	    libdir="$abs_ladir"
-+	    #dir=$lt_sysroot$libdir
-+	    #absdir=$lt_sysroot$libdir
++	    #dir="$libdir"
++	    #absdir="$lt_sysroot$libdir"
  	  fi
- 	  test yes = "$hardcode_automatic" && avoidtemprpath=yes
+ 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
  	else
-@@ -6448,8 +6454,6 @@ func_mode_link ()
- 		add=$libdir/$linklib
+@@ -6130,8 +6136,6 @@ func_mode_link ()
+ 		add="$libdir/$linklib"
  	      fi
  	    else
 -	      # We cannot seem to hardcode it, guess we'll fake it.
--	      add_dir=-L$libdir
+-	      add_dir="-L$libdir"
  	      # 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 ()
+@@ -6286,7 +6290,17 @@ func_mode_link ()
  		  fi
  		  ;;
  		*)
--		  path=-L$absdir/$objdir
+-		  path="-L$absdir/$objdir"
++                  # OE sets installed=no in staging. We need to look in $objdir and $absdir, 
++                  # preferring $objdir. RP 31/04/2008
++                  if test -f "$absdir/$objdir/$depdepl" ; then
++		    depdepl="$absdir/$objdir/$depdepl"
++		    path="-L$absdir/$objdir"
++                  elif test -f "$absdir/$depdepl" ; then
++		    depdepl="$absdir/$depdepl"
++		    path="-L$absdir"
++                  else
++		    path="-L$absdir/$objdir"
++                  fi
+ 		  ;;
+ 		esac
+ 		else
+--- a/libltdl/config/ltmain.sh
++++ b/libltdl/config/ltmain.sh
+@@ -6518,8 +6518,14 @@ func_mode_link ()
+ 	    absdir="$abs_ladir"
+ 	    libdir="$abs_ladir"
+ 	  else
+-	    dir="$lt_sysroot$libdir"
+-	    absdir="$lt_sysroot$libdir"
++	    # Adding 'libdir' from the .la file to our library search paths
++	    # breaks crosscompilation horribly.  We cheat here and don't add
++	    # it, instead adding the path where we found the .la.  -CL
++	    dir="$lt_sysroot$abs_ladir"
++	    absdir="$abs_ladir"
++	    libdir="$abs_ladir"
++	    #dir="$libdir"
++	    #absdir="$lt_sysroot$libdir"
+ 	  fi
+ 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ 	else
+@@ -6917,8 +6923,6 @@ func_mode_link ()
+ 		add="$libdir/$linklib"
+ 	      fi
+ 	    else
+-	      # We cannot seem to hardcode it, guess we'll fake it.
+-	      add_dir="-L$libdir"
+ 	      # Try looking first in the location we're being installed to.
+ 	      if test -n "$inst_prefix_dir"; then
+ 		case $libdir in
+@@ -7073,7 +7077,17 @@ func_mode_link ()
+ 		  fi
+ 		  ;;
+ 		*)
+-		  path="-L$absdir/$objdir"
 +                  # OE sets installed=no in staging. We need to look in $objdir and $absdir, 
 +                  # preferring $objdir. RP 31/04/2008
 +                  if test -f "$absdir/$objdir/$depdepl" ; then

+ 19 - 32
tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch

@@ -1,33 +1,20 @@
-From 375833af93999f8b0a747c8a1dfa3ec8d347743d Mon Sep 17 00:00:00 2001
-From: Eneas U de Queiroz <[email protected]>
-Date: Tue, 20 Jul 2021 16:52:37 -0300
-Subject: openwrt: don't use target dir for relinking
-
-This was originally commited to openwrt by Jo-Philipp Wich
-<[email protected]>.
-
-(adjusted to v2.4.6)
-Signed-off-by: Eneas U de Queiroz <[email protected]>
-
---- a/build-aux/ltmain.in
-+++ b/build-aux/ltmain.in
-@@ -6434,13 +6434,13 @@ func_mode_link ()
- 	    add_dir=
- 	    add=
- 	    # Finalize command for both is simple: just hardcode it.
--	    if test yes = "$hardcode_direct" &&
--	       test no = "$hardcode_direct_absolute"; then
--	      add=$libdir/$linklib
--	    elif test yes = "$hardcode_minus_L"; then
-+	    if test "$hardcode_direct" = yes &&
-+	       test "$hardcode_direct_absolute" = no; then
-+	      add="$libdir/$linklib"
-+	    elif test "$hardcode_minus_L" = yes; then
- 	      add_dir=-L$libdir
--	      add=-l$name
--	    elif test yes = "$hardcode_shlibpath_var"; then
-+	      add="-l$name"
-+	    elif test "$hardcode_shlibpath_var" = yes; then
+--- a/libltdl/config/ltmain.m4sh
++++ b/libltdl/config/ltmain.m4sh
+@@ -6120,7 +6120,6 @@ func_mode_link ()
+ 	       test "$hardcode_direct_absolute" = no; then
+ 	      add="$libdir/$linklib"
+ 	    elif test "$hardcode_minus_L" = yes; then
+-	      add_dir="-L$libdir"
+ 	      add="-l$name"
+ 	    elif test "$hardcode_shlibpath_var" = yes; then
+ 	      case :$finalize_shlibpath: in
+--- a/libltdl/config/ltmain.sh
++++ b/libltdl/config/ltmain.sh
+@@ -6907,7 +6907,6 @@ func_mode_link ()
+ 	       test "$hardcode_direct_absolute" = no; then
+ 	      add="$libdir/$linklib"
+ 	    elif test "$hardcode_minus_L" = yes; then
+-	      add_dir="-L$libdir"
+ 	      add="-l$name"
+ 	    elif test "$hardcode_shlibpath_var" = yes; then
  	      case :$finalize_shlibpath: in
- 	      *":$libdir:"*) ;;
- 	      *) func_append finalize_shlibpath "$libdir:" ;;

+ 17 - 19
tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch

@@ -1,26 +1,24 @@
-From 7f2b8a1ab4fa1475eeeddfb84eb5b92594bfce43 Mon Sep 17 00:00:00 2001
-From: Eneas U de Queiroz <[email protected]>
-Date: Tue, 20 Jul 2021 16:54:12 -0300
-Subject: openwrt: strip unsave directories from relink command
-
-strip unsave directories from relink command, nuke every -L that looks
-like /usr/lib or /lib
-
-This was originally commited to openwrt by Jo-Philipp Wich
-<[email protected]>.
-
-(adjusted to v2.4.6)
-Signed-off-by: Eneas U de Queiroz <[email protected]>
-
---- a/build-aux/ltmain.in
-+++ b/build-aux/ltmain.in
-@@ -2382,6 +2382,9 @@ func_mode_install ()
+--- a/libltdl/config/ltmain.m4sh
++++ b/libltdl/config/ltmain.m4sh
+@@ -2183,6 +2183,9 @@ func_mode_install ()
  	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
  	  fi
  
 +	  relink_command=`$ECHO "$relink_command" | $SED "s%-L[[:space:]]*/lib[^[:space:]]*%%"`
 +	  relink_command=`$ECHO "$relink_command" | $SED "s%-L[[:space:]]*/usr/lib[^[:space:]]*%%"`
 +
- 	  func_warning "relinking '$file'"
+ 	  func_warning "relinking \`$file'"
  	  func_show_eval "$relink_command" \
- 	    'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
+ 	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+--- a/libltdl/config/ltmain.sh
++++ b/libltdl/config/ltmain.sh
+@@ -2973,6 +2973,9 @@ func_mode_install ()
+ 	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+ 	  fi
+ 
++	  relink_command=`$ECHO "$relink_command" | $SED "s%-L[[:space:]]*/lib[^[:space:]]*%%"`
++	  relink_command=`$ECHO "$relink_command" | $SED "s%-L[[:space:]]*/usr/lib[^[:space:]]*%%"`
++
+ 	  func_warning "relinking \`$file'"
+ 	  func_show_eval "$relink_command" \
+ 	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'

+ 0 - 72
tools/libtool/patches/140-don-t-quote-SHELL-in-Makefile.am.patch

@@ -1,72 +0,0 @@
-From 879578d3f4dc9bc42aa433b1fb6b584564f83617 Mon Sep 17 00:00:00 2001
-From: Eneas U de Queiroz <[email protected]>
-Date: Wed, 21 Jul 2021 13:38:24 -0300
-Subject: openwrt: don't quote $(SHELL) in Makefile.am
-
-This allows to use SHELL="env bash" to get a controlled enviroment.
-
-Signed-off-by: Eneas U de Queiroz <[email protected]>
-
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -46,7 +46,7 @@ EXTRA_LTLIBRARIES	=
- # Using 'cd' in backquotes may print the directory name, use this instead:
- lt__cd		= CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
- 
--git_version_gen = '$(SHELL)' '$(aux_dir)/git-version-gen' '--fallback' '$(VERSION)' '.tarball-version'
-+git_version_gen = $(SHELL) '$(aux_dir)/git-version-gen' '--fallback' '$(VERSION)' '.tarball-version'
- rebuild = rebuild=:; revision=`$(lt__cd) $(srcdir) && $(git_version_gen) | $(SED) 's|-.*$$||'`
- 
- 
-@@ -301,7 +301,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; \
--	  cd '$(top_builddir)' && '$(SHELL)' ./config.status '$@'; \
-+	  cd '$(top_builddir)' && $(SHELL) ./config.status '$@'; \
- 	fi
- 
- 
-@@ -788,13 +788,13 @@ testsuite_deps_uninstalled = $(testsuite
- # Hook the test suite into the check rule
- check-local: $(testsuite_deps_uninstalled)
- 	$(AM_V_at)$(CD_TESTDIR); \
--	CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \
-+	CONFIG_SHELL=$(SHELL) $(SHELL) "$$abs_srcdir/$(TESTSUITE)" \
- 	  $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) $(TESTSUITEFLAGS)
- 
- # Run the test suite on the *installed* tree.
- installcheck-local: $(testsuite_deps)
- 	$(AM_V_at)$(CD_TESTDIR); \
--	CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \
-+	CONFIG_SHELL=$(SHELL) $(SHELL) "$$abs_srcdir/$(TESTSUITE)" \
- 	  $(TESTS_ENVIRONMENT) $(INSTALLCHECK_ENVIRONMENT) $(TESTSUITEFLAGS) \
- 	  AUTOTEST_PATH='$(exec_prefix)/bin'
- 
-@@ -806,7 +806,7 @@ check-noninteractive-old:
- .PHONY: check-noninteractive-new
- check-noninteractive-new: $(testsuite_deps_uninstalled)
- 	$(AM_V_at)$(CD_TESTDIR); \
--	CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \
-+	CONFIG_SHELL=$(SHELL) $(SHELL) "$$abs_srcdir/$(TESTSUITE)" \
- 	  $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \
- 	  -k '!interactive' INNER_TESTSUITEFLAGS=',!interactive' \
- 	  $(TESTSUITEFLAGS)
-@@ -815,7 +815,7 @@ check-noninteractive-new: $(testsuite_de
- .PHONY: check-interactive
- check-interactive: $(testsuite_deps_uninstalled)
- 	$(AM_V_at)$(CD_TESTDIR); \
--	CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \
-+	CONFIG_SHELL=$(SHELL) $(SHELL) "$$abs_srcdir/$(TESTSUITE)" \
- 	  $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \
- 	  -k interactive -k recursive INNER_TESTSUITEFLAGS=',interactive' \
- 	  $(TESTSUITEFLAGS)
-@@ -827,7 +827,7 @@ check-noninteractive: check-noninteracti
- clean-local:
- 	-$(CD_TESTDIR); \
- 	test -f "$$abs_srcdir/$(TESTSUITE)" && \
--	    '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" --clean
-+	    $(SHELL) "$$abs_srcdir/$(TESTSUITE)" --clean
- 
- ## An empty target to depend on when a rule needs to always run
- ## whenever it is visited.

+ 0 - 224
tools/libtool/patches/150-libtool-mitigate-the-sed_quote_subst-slowdown.patch

@@ -1,224 +0,0 @@
-From 3adadb568fbf15d952bd25a005b6a9afb7e59dc7 Mon Sep 17 00:00:00 2001
-From: Pavel Raiskup <[email protected]>
-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 <[email protected]>
-
---- 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

+ 22 - 11
tools/libtool/patches/130-trailingslash.patch → tools/libtool/patches/150-trailingslash.patch

@@ -1,8 +1,3 @@
-From 1b45c3c0d6682be7f4876b620780ee246a5acbaa Mon Sep 17 00:00:00 2001
-From: Eneas U de Queiroz <[email protected]>
-Date: Tue, 20 Jul 2021 16:56:16 -0300
-Subject: openwrt: remove trailing slash in install destdir
-
 A command like /bin/sh ../../i586-poky-linux-libtool   --mode=install /usr/bin/install -c   gck-roots-store-standalone.la '/media/data1/builds/poky1/tmp/work/core2-poky-linux/gnome-keyring-2.26.1-r1/image/usr/lib/gnome-keyring/standalone/' fails (e.g. gnome-keyring or pulseaudio)
 
 This is because libdir has a trailing slash which breaks the comparision.
@@ -14,12 +9,28 @@ Merged a patch received from Gary Thomas <[email protected]>
 Date: 2010/07/12
 Nitin A Kamble <[email protected]>
 
-(adjusted to v2.4.6)
-Signed-off-by: Eneas U de Queiroz <[email protected]>
-
---- a/build-aux/ltmain.in
-+++ b/build-aux/ltmain.in
-@@ -2363,8 +2363,15 @@ func_mode_install ()
+--- a/libltdl/config/ltmain.m4sh
++++ b/libltdl/config/ltmain.m4sh
+@@ -2167,8 +2167,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
+--- a/libltdl/config/ltmain.sh
++++ b/libltdl/config/ltmain.sh
+@@ -2954,8 +2954,15 @@ func_mode_install ()
  	func_append dir "$objdir"
  
  	if test -n "$relink_command"; then

+ 12 - 0
tools/libtool/patches/160-passthrough-ssp.patch

@@ -0,0 +1,12 @@
+diff -ur libtool-2.4.orig/libltdl/config/ltmain.m4sh libtool-2.4/libltdl/config/ltmain.m4sh
+--- libtool-2.4.orig/libltdl/config/ltmain.m4sh	2015-06-18 10:46:15.499996979 +0200
++++ libtool-2.4/libltdl/config/ltmain.m4sh	2015-06-18 10:48:24.686882213 +0200
+@@ -5076,7 +5076,7 @@
+       # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+       -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+-      -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
++      -O*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*)
+         func_quote_for_eval "$arg"
+ 	arg="$func_quote_for_eval_result"
+         func_append compile_command " $arg"

+ 111 - 23
tools/libtool/patches/200-openwrt-branding.patch

@@ -1,24 +1,112 @@
-From 90707200efadc8e230635c7c204c9c272cbc8631 Mon Sep 17 00:00:00 2001
-From: Eneas U de Queiroz <[email protected]>
-Date: Tue, 20 Jul 2021 17:01:03 -0300
-Subject: openwrt: add openwrt branding
-
-This prepends program name with "OpenWrt-".
-
-This was originally commited to openwrt by Jo-Philipp Wich
-<[email protected]>.
-
-(adjusted to v2.4.6)
-Signed-off-by: Eneas U de Queiroz <[email protected]>
-
---- a/build-aux/ltmain.in
-+++ b/build-aux/ltmain.in
-@@ -82,7 +82,7 @@ func_echo ()
-     IFS=$nl
-     for _G_line in $_G_message; do
-       IFS=$func_echo_IFS
--      $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
-+      $ECHO "OpenWrt-$progname${opt_mode+: $opt_mode}: $_G_line"
-     done
-     IFS=$func_echo_IFS
+--- a/libltdl/config/general.m4sh
++++ b/libltdl/config/general.m4sh
+@@ -359,7 +359,7 @@ opt_warning=:
+ # name if it has been set yet.
+ func_echo ()
+ {
+-    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
++    $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }$*"
  }
+ 
+ # func_verbose arg...
+@@ -385,14 +385,14 @@ func_echo_all ()
+ # Echo program name prefixed message to standard error.
+ func_error ()
+ {
+-    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
++    $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
+ }
+ 
+ # func_warning arg...
+ # Echo program name prefixed warning message to standard error.
+ func_warning ()
+ {
+-    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
++    $opt_warning && $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+ 
+     # bash bug again:
+     :
+--- a/libltdl/config/ltmain.sh
++++ b/libltdl/config/ltmain.sh
+@@ -439,7 +439,7 @@ opt_warning=:
+ # name if it has been set yet.
+ func_echo ()
+ {
+-    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
++    $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }$*"
+ }
+ 
+ # func_verbose arg...
+@@ -465,14 +465,14 @@ func_echo_all ()
+ # Echo program name prefixed message to standard error.
+ func_error ()
+ {
+-    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
++    $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
+ }
+ 
+ # func_warning arg...
+ # Echo program name prefixed warning message to standard error.
+ func_warning ()
+ {
+-    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
++    $opt_warning && $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+ 
+     # bash bug again:
+     :
+--- a/libtoolize.in
++++ b/libtoolize.in
+@@ -648,7 +648,7 @@ opt_warning=:
+ # name if it has been set yet.
+ func_echo ()
+ {
+-    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
++    $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }$*"
+ }
+ 
+ # func_verbose arg...
+@@ -674,14 +674,14 @@ func_echo_all ()
+ # Echo program name prefixed message to standard error.
+ func_error ()
+ {
+-    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
++    $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
+ }
+ 
+ # func_warning arg...
+ # Echo program name prefixed warning message to standard error.
+ func_warning ()
+ {
+-    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
++    $opt_warning && $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+ 
+     # bash bug again:
+     :
+--- a/tests/defs.in
++++ b/tests/defs.in
+@@ -596,7 +596,7 @@ opt_warning=:
+ # name if it has been set yet.
+ func_echo ()
+ {
+-    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
++    $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }$*"
+ }
+ 
+ # func_verbose arg...
+@@ -622,14 +622,14 @@ func_echo_all ()
+ # Echo program name prefixed message to standard error.
+ func_error ()
+ {
+-    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
++    $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
+ }
+ 
+ # func_warning arg...
+ # Echo program name prefixed warning message to standard error.
+ func_warning ()
+ {
+-    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
++    $opt_warning && $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+ 
+     # bash bug again:
+     :