diff options
Diffstat (limited to 'external/poky/meta/recipes-core/coreutils')
-rwxr-xr-x | external/poky/meta/recipes-core/coreutils/coreutils/run-ptest | 17 | ||||
-rw-r--r-- | external/poky/meta/recipes-core/coreutils/coreutils/strtod_fix_clash_with_strtold.patch | 56 | ||||
-rw-r--r-- | external/poky/meta/recipes-core/coreutils/coreutils_8.31.bb (renamed from external/poky/meta/recipes-core/coreutils/coreutils_8.30.bb) | 70 |
3 files changed, 139 insertions, 4 deletions
diff --git a/external/poky/meta/recipes-core/coreutils/coreutils/run-ptest b/external/poky/meta/recipes-core/coreutils/coreutils/run-ptest new file mode 100755 index 00000000..6d4a7b36 --- /dev/null +++ b/external/poky/meta/recipes-core/coreutils/coreutils/run-ptest @@ -0,0 +1,17 @@ +#!/bin/sh + +# remove any stale lock files so that the calls to groupadd/useradd don't stop +# the ptest if re-using the same image +rm -rf /etc/passwd.lock /etc/group.lock /etc/gshadow.lock + +COREUTILSLIB=@libdir@/coreutils +LOG="${COREUTILSLIB}/ptest/coreutils_ptest_$(date +%Y%m%d-%H%M%S).log" +USERNAME="tester" +groupadd ugroup1 +groupadd ugroup2 +useradd -G ugroup1,ugroup2 $USERNAME || echo "user $USERNAME already exists" + +su tester -c "cd ${COREUTILSLIB}/ptest && make check-TESTS top_srcdir=. srcdir=." 2>&1 | tee -a ${LOG} +userdel $USERNAME +groupdel ugroup1 +groupdel ugroup2 diff --git a/external/poky/meta/recipes-core/coreutils/coreutils/strtod_fix_clash_with_strtold.patch b/external/poky/meta/recipes-core/coreutils/coreutils/strtod_fix_clash_with_strtold.patch new file mode 100644 index 00000000..77770093 --- /dev/null +++ b/external/poky/meta/recipes-core/coreutils/coreutils/strtod_fix_clash_with_strtold.patch @@ -0,0 +1,56 @@ +From 0562b040fa17f1722ba2b3096067b45d0582ca53 Mon Sep 17 00:00:00 2001 +From: Paul Eggert <eggert@cs.ucla.edu> +Date: Mon, 11 Mar 2019 16:40:29 -0700 +Subject: [PATCH] strtod: fix clash with strtold + +Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817). +* lib/strtod.c (compute_minus_zero, minus_zero): +Simplify by remving the macro / external variable, +and having just a function. User changed. This avoids +the need for an external variable that might clash. + +Upstream-Status: Backport [rhel5] + +Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com> + +--- + ChangeLog | 9 +++++++++ + lib/strtod.c | 11 +++++------ + 2 files changed, 14 insertions(+), 6 deletions(-) + +diff --git a/lib/strtod.c b/lib/strtod.c +index b9eaa51b4..69b1564e1 100644 +--- a/lib/strtod.c ++++ b/lib/strtod.c +@@ -294,16 +294,15 @@ parse_number (const char *nptr, + ICC 10.0 has a bug when optimizing the expression -zero. + The expression -MIN * MIN does not work when cross-compiling + to PowerPC on Mac OS X 10.5. */ +-#if defined __hpux || defined __sgi || defined __ICC + static DOUBLE +-compute_minus_zero (void) ++minus_zero (void) + { ++#if defined __hpux || defined __sgi || defined __ICC + return -MIN * MIN; +-} +-# define minus_zero compute_minus_zero () + #else +-DOUBLE minus_zero = -0.0; ++ return -0.0; + #endif ++} + + /* Convert NPTR to a DOUBLE. If ENDPTR is not NULL, a pointer to the + character after the last one used in the number is put in *ENDPTR. */ +@@ -479,6 +478,6 @@ STRTOD (const char *nptr, char **endptr) + /* Special case -0.0, since at least ICC miscompiles negation. We + can't use copysign(), as that drags in -lm on some platforms. */ + if (!num && negative) +- return minus_zero; ++ return minus_zero (); + return negative ? -num : num; + } +-- +2.20.1 + diff --git a/external/poky/meta/recipes-core/coreutils/coreutils_8.30.bb b/external/poky/meta/recipes-core/coreutils/coreutils_8.31.bb index 8f4ee557..0c8452da 100644 --- a/external/poky/meta/recipes-core/coreutils/coreutils_8.30.bb +++ b/external/poky/meta/recipes-core/coreutils/coreutils_8.31.bb @@ -6,7 +6,7 @@ HOMEPAGE = "http://www.gnu.org/software/coreutils/" BUGTRACKER = "http://debbugs.gnu.org/coreutils" LICENSE = "GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\ - file://src/ls.c;beginline=1;endline=15;md5=dbe356a88b09c29232b083d1ff8ac82a" + file://src/ls.c;beginline=1;endline=15;md5=c456f9896277a0543e3866777ccc0255" DEPENDS = "gmp libcap" DEPENDS_class-native = "" @@ -18,10 +18,13 @@ SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \ file://0001-uname-report-processor-and-hardware-correctly.patch \ file://disable-ls-output-quoting.patch \ file://0001-local.mk-fix-cross-compiling-problem.patch \ + file://run-ptest \ " -SRC_URI[md5sum] = "ab06d68949758971fe744db66b572816" -SRC_URI[sha256sum] = "e831b3a86091496cdba720411f9748de81507798f6130adeaef872d206e1b057" +SRC_URI_append_libc-musl = "file://strtod_fix_clash_with_strtold.patch" + +SRC_URI[md5sum] = "0009a224d8e288e8ec406ef0161f9293" +SRC_URI[sha256sum] = "ff7a9c918edce6b4f4b2725e3f9b37b0c4d193531cac49a48b56c4d0d3a9e9fd" EXTRA_OECONF_class-native = "--without-gmp" EXTRA_OECONF_class-target = "--enable-install-program=arch,hostname --libexecdir=${libdir}" @@ -47,7 +50,7 @@ bindir_progs = "arch basename chcon cksum comm csplit cut dir dircolors dirname env expand expr factor fmt fold groups head hostid id install \ join link logname md5sum mkfifo nl nohup nproc od paste pathchk \ pinky pr printf ptx readlink realpath runcon seq sha1sum sha224sum sha256sum \ - sha384sum sha512sum shred shuf sort split stdbuf sum tac tail tee test timeout \ + sha384sum sha512sum shred shuf sort split sum tac tail tee test timeout \ tr truncate tsort tty unexpand uniq unlink uptime users vdir wc who whoami yes" # hostname gets a special treatment and is not included in this @@ -56,6 +59,21 @@ base_bindir_progs = "cat chgrp chmod chown cp date dd echo false hostname kill l sbindir_progs= "chroot" +# Split stdbuf into its own package, so one can include +# coreutils-stdbuf without getting the rest of coreutils, but make +# coreutils itself pull in stdbuf, so IMAGE_INSTALL += "coreutils" +# always provides all coreutils +PACKAGE_BEFORE_PN_class-target += "${@bb.utils.contains('PACKAGECONFIG', 'single-binary', '', 'coreutils-stdbuf', d)}" +FILES_coreutils-stdbuf = "${bindir}/stdbuf ${libdir}/coreutils/libstdbuf.so" +RDEPENDS_coreutils_class-target += "${@bb.utils.contains('PACKAGECONFIG', 'single-binary', '', 'coreutils-stdbuf', d)}" + +# However, when the single-binary PACKAGECONFIG is used, stdbuf +# functionality is built into the single coreutils binary, so there's +# no point splitting /usr/bin/stdbuf to its own package. Instead, add +# an RPROVIDE so that rdepending on coreutils-stdbuf will work +# regardless of whether single-binary is in effect. +RPROVIDES_coreutils += "${@bb.utils.contains('PACKAGECONFIG', 'single-binary', 'coreutils-stdbuf', '', d)}" + # Let aclocal use the relative path for the m4 file rather than the # absolute since coreutils has a lot of m4 files, otherwise there might # be an "Argument list too long" error when it is built in a long/deep @@ -137,3 +155,47 @@ python __anonymous() { } BBCLASSEXTEND = "native nativesdk" + +inherit ptest + +RDEPENDS_${PN}-ptest += "bash findutils gawk liberror-perl libmodule-build-perl make perl perl-module-file-stat python3-core sed shadow" + +# -dev automatic dependencies fails as we don't want libmodule-build-perl-dev, its too heavy +# may need tweaking if DEPENDS changes +RRECOMMENDS_coreutils-dev[nodeprrecs] = "1" +RRECOMMENDS_coreutils-dev = "acl-dev attr-dev gmp-dev libcap-dev bash-dev findutils-dev gawk-dev shadow-dev" + +do_install_ptest () { + install -d ${D}${PTEST_PATH}/tests + cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests + sed -i 's/ginstall/install/g' `grep -R ginstall ${D}${PTEST_PATH}/tests | awk -F: '{print $1}' | uniq` + install -d ${D}${PTEST_PATH}/build-aux + install ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/ + cp ${B}/Makefile ${D}${PTEST_PATH}/ + cp ${S}/init.cfg ${D}${PTEST_PATH}/ + cp -r ${B}/src ${D}${PTEST_PATH}/ + cp -r ${S}/src/*.c ${D}${PTEST_PATH}/src + sed -i '/^VPATH/s/= .*$/= ./g' ${D}${PTEST_PATH}/Makefile + sed -i '/^PROGRAMS/s/^/#/g' ${D}${PTEST_PATH}/Makefile + sed -i '/^Makefile: /s/^.*$/Makefile:/g' ${D}${PTEST_PATH}/Makefile + sed -i '/^abs_srcdir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile + sed -i '/^abs_top_builddir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile + sed -i '/^abs_top_srcdir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile + sed -i '/^built_programs/s/ginstall/install/g' ${D}${PTEST_PATH}/Makefile + chmod -R 777 ${D}${PTEST_PATH} + + # Disable subcase stty-pairs.sh, it will cause test framework hang + sed -i '/stty-pairs.sh/d' ${D}${PTEST_PATH}/Makefile + + # Disable subcase tail-2/assert.sh as it has issues on 32-bit systems + sed -i '/assert.sh/d' ${D}${PTEST_PATH}/Makefile + + # Tweak test d_type-check to use python3 instead of python + sed -i "1s@.*@#!/usr/bin/python3@" ${D}${PTEST_PATH}/tests/d_type-check + install ${B}/src/getlimits ${D}/${bindir} + + # handle multilib + sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest +} + +FILES_${PN}-ptest += "${bindir}/getlimits" |