gnutls: don't use HOSTTOOLS_DIR/bash as a shell on target

The libopts configure script looks for a shell on the build host and assumes
it's good for the target. However in our builds it find $HOSTTOOLS_DIR/bash
which isn't useful, so patch out the detection and force $base_bindir/sh.

(From OE-Core rev: 9aaa1e3bdfd767fe8e19c00c611b34920644df27)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2019-07-25 16:20:23 +01:00
committed by Richard Purdie
parent 9b7a1653d8
commit 81485be19b
2 changed files with 43 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
Don't embed the path to the build-time POSIX shell as this will be
$TMPDIR/hosttools/bash, which is no good on the target.
Instead default to /bin/sh but allow it to be set in the environment.
This isn't really upstreamable but I filed a bug at
https://gitlab.com/gnutls/gnutls/issues/807 and hope a proper fix will be
integrated.
Upstream-Status: Inappropriate
Signed-off-by: Ross Burton <ross.burton@intel.com>
diff --git a/src/libopts/m4/libopts.m4 b/src/libopts/m4/libopts.m4
index c6ad738..a62faca 100644
--- a/src/libopts/m4/libopts.m4
+++ b/src/libopts/m4/libopts.m4
@@ -112,21 +112,7 @@ AC_DEFUN([INVOKE_LIBOPTS_MACROS_FIRST],[
AC_CHECK_FUNCS([mmap canonicalize_file_name snprintf strdup strchr \
strrchr strsignal fchmod fstat chmod])
AC_PROG_SED
- [while :
- do
- POSIX_SHELL=`which bash`
- test -x "$POSIX_SHELL" && break
- POSIX_SHELL=`which dash`
- test -x "$POSIX_SHELL" && break
- POSIX_SHELL=/usr/xpg4/bin/sh
- test -x "$POSIX_SHELL" && break
- POSIX_SHELL=`/bin/sh -c '
- exec 2>/dev/null
- if ! true ; then exit 1 ; fi
- echo /bin/sh'`
- test -x "$POSIX_SHELL" && break
- ]AC_MSG_ERROR([cannot locate a working POSIX shell])[
- done]
+ POSIX_SHELL="${POSIX_SHELL:-/bin/sh}"
AC_DEFINE_UNQUOTED([POSIX_SHELL], ["${POSIX_SHELL}"],
[define to a working POSIX compliant shell])
AC_SUBST([POSIX_SHELL])

View File

@@ -19,6 +19,7 @@ SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \
file://arm_eabi.patch \
file://posix-shell.patch \
"
SRC_URI[md5sum] = "9dcf0aa45d1a42e1b3ca5d39ec7c61a8"
@@ -47,6 +48,9 @@ EXTRA_OECONF = " \
--with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \
"
# Otherwise the tools try and use HOSTTOOLS_DIR/bash as a shell.
export POSIX_SHELL="${base_bindir}/sh"
LDFLAGS_append_libc-musl = " -largp"
do_configure_prepend() {