mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 22:23:27 +00:00
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:
parent
93f488fc37
commit
96e05e2e36
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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:" ;;
|
||||
|
@ -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"'
|
||||
|
@ -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.
|
@ -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
|
@ -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
|
12
tools/libtool/patches/160-passthrough-ssp.patch
Normal file
12
tools/libtool/patches/160-passthrough-ssp.patch
Normal 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"
|
@ -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:
|
||||
:
|
||||
|
Loading…
Reference in New Issue
Block a user