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 c377d874be.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Hauke Mehrtens 2021-09-23 13:36:45 +02:00
parent 93f488fc37
commit 96e05e2e36
10 changed files with 337 additions and 447 deletions

View File

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

View File

@ -1,24 +1,17 @@
From ca10caa502f971f90d8c041aa2476de54ef0ce2b Mon Sep 17 00:00:00 2001
From: Eneas U de Queiroz <cotequeiroz@gmail.com>
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
<jow@openwrt.org>.
(adjusted to v2.4.6)
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
--- a/libtoolize.in
+++ b/libtoolize.in
@@ -40,11 +40,18 @@
: ${AUTOCONF="autoconf"}
: ${AUTOMAKE="automake"}
--- 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"}
@ -31,12 +24,87 @@ Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
+ : ${GREP="@GREP@"}
+ : ${SED="@SED@"}
+fi
: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
: ${Xsed="$SED -e 1s/^X//"}
--- a/libtoolize.in
+++ b/libtoolize.in
@@ -334,15 +334,22 @@ as_unset=as_fn_unset
## -------------------------- ##
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -929,9 +929,8 @@ dnl AC_DEFUN([AC_LIBTOOL_RC], [])
: ${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//"}
@@ -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 ()
# 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 <cotequeiroz@gmail.com>
_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 <cotequeiroz@gmail.com>
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

View File

@ -1,56 +1,83 @@
From 67ffe8e8582a7ba1f1d1307a419098e6dd88bdaf Mon Sep 17 00:00:00 2001
From: Eneas U de Queiroz <cotequeiroz@gmail.com>
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
<jow@openwrt.org>.
(adjusted to v2.4.6)
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
--- 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

View File

@ -1,33 +1,20 @@
From 375833af93999f8b0a747c8a1dfa3ec8d347743d Mon Sep 17 00:00:00 2001
From: Eneas U de Queiroz <cotequeiroz@gmail.com>
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
<jow@openwrt.org>.
(adjusted to v2.4.6)
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
--- 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:" ;;

View File

@ -1,26 +1,24 @@
From 7f2b8a1ab4fa1475eeeddfb84eb5b92594bfce43 Mon Sep 17 00:00:00 2001
From: Eneas U de Queiroz <cotequeiroz@gmail.com>
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
<jow@openwrt.org>.
(adjusted to v2.4.6)
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
--- 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"'

View File

@ -1,72 +0,0 @@
From 879578d3f4dc9bc42aa433b1fb6b584564f83617 Mon Sep 17 00:00:00 2001
From: Eneas U de Queiroz <cotequeiroz@gmail.com>
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 <cotequeiroz@gmail.com>
--- 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.

View File

@ -1,224 +0,0 @@
From 3adadb568fbf15d952bd25a005b6a9afb7e59dc7 Mon Sep 17 00:00:00 2001
From: Pavel Raiskup <praiskup@redhat.com>
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 <cotequeiroz@gmail.com>
--- 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

View File

@ -1,8 +1,3 @@
From 1b45c3c0d6682be7f4876b620780ee246a5acbaa Mon Sep 17 00:00:00 2001
From: Eneas U de Queiroz <cotequeiroz@gmail.com>
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 <gary@mlbassoc.com>
Date: 2010/07/12
Nitin A Kamble <nitin.a.kamble@intel.com>
(adjusted to v2.4.6)
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
--- 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

View File

@ -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"

View File

@ -1,24 +1,112 @@
From 90707200efadc8e230635c7c204c9c272cbc8631 Mon Sep 17 00:00:00 2001
From: Eneas U de Queiroz <cotequeiroz@gmail.com>
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
<jow@openwrt.org>.
(adjusted to v2.4.6)
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
--- 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:
: