diff --git a/coreutils-tests-aarch64-env.patch b/coreutils-tests-aarch64-env.patch new file mode 100644 index 0000000..cc6303d --- /dev/null +++ b/coreutils-tests-aarch64-env.patch @@ -0,0 +1,45 @@ +Upstream patch on top of v8.23; to be removed in v8.24. +Avoid a false positive failure of the coreutils-testsuite. +http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=bfb4f5c8b7 + +Related execve() bug report: +https://bugzilla.novell.com/show_bug.cgi?id=915889 + +From bfb4f5c8b791fdcc3cdba87a5182fc684fa8cd24 Mon Sep 17 00:00:00 2001 +From: Bernhard Voelker +Date: Tue, 3 Feb 2015 01:52:04 +0100 +Subject: [PATCH] tests: avoid a FP on aarch64 when comparing env/printenv + output + +The following test fails on aarch64 on openSUSE's OpenBuildService +due to glibc's execvp reversing the pointers of 'environ', i.e., +the output of "env|tac" equals "env env" on that platform. + +* tests/misc/printenv.sh: Use 'env env' to work around the behavior +on that platform. +While at it, fix the grep pattern which suppressed all environment +variables starting with an underscore "_" instead of "$_" (and +"$LD_PRELOAD") only. +--- + tests/misc/printenv.sh | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +Index: tests/misc/printenv.sh +=================================================================== +--- tests/misc/printenv.sh.orig ++++ tests/misc/printenv.sh +@@ -23,8 +23,12 @@ print_ver_ printenv + # printenv as a builtin, so we must invoke it via "env". + # But beware of $_, set by many shells to the last command run. + # Also, filter out LD_PRELOAD, which is set when running under valgrind. +-env | grep -Ev '^(_|LD_PRELOAD=)' > exp || framework_failure_ +-env -- printenv | grep -Ev '^(_|LD_PRELOAD=)' > out || fail=1 ++# Note the apparently redundant "env env": this is to ensure to get ++# env's output the same way as that of printenv and works around a bug ++# on aarch64 at least where libc's execvp reverses the order of the ++# output. ++env -- env | grep -Ev '^(_|LD_PRELOAD)=' > exp || framework_failure_ ++env -- printenv | grep -Ev '^(_|LD_PRELOAD)=' > out || fail=1 + compare exp out || fail=1 + + # POSIX is clear that environ may, but need not be, sorted. diff --git a/coreutils-testsuite.changes b/coreutils-testsuite.changes index cccb021..186b3a0 100644 --- a/coreutils-testsuite.changes +++ b/coreutils-testsuite.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Feb 5 06:58:52 UTC 2015 - mail@bernhard-voelker.de + +- coreutils-tests-aarch64-env.patch: Add patch to avoid false + positive failures of the coreutils-testsuite on OBS/aarch64: + work around execve() reversing the order of "env" output. + ------------------------------------------------------------------- Mon Jan 19 23:06:22 UTC 2015 - mail@bernhard-voelker.de diff --git a/coreutils-testsuite.spec b/coreutils-testsuite.spec index 59b12ec..141b245 100644 --- a/coreutils-testsuite.spec +++ b/coreutils-testsuite.spec @@ -144,6 +144,10 @@ Patch502: coreutils-tests-make-inotify-rotate-more-robust-and-efficient.pa # Avoid false positives on OBS due to high load; increase timeout. Patch503: coreutils-tests-rm-ext3-perf-increase-timeout.patch +# Upstream patch on top of v8.23 (to be removed in v8.24). +# Work around false positives of the testsuite on OBS/aarch64. +Patch504: coreutils-tests-aarch64-env.patch + # ================================================ %description These are the GNU core utilities. This package is the union of @@ -195,6 +199,8 @@ the GNU fileutils, sh-utils, and textutils packages. %patch502 %patch503 +%patch504 + #???## We need to statically link to gmp, otherwise we have a build loop #???#sed -i s,'$(LIB_GMP)',%%{_libdir}/libgmp.a,g Makefile.in diff --git a/coreutils.changes b/coreutils.changes index cccb021..186b3a0 100644 --- a/coreutils.changes +++ b/coreutils.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Feb 5 06:58:52 UTC 2015 - mail@bernhard-voelker.de + +- coreutils-tests-aarch64-env.patch: Add patch to avoid false + positive failures of the coreutils-testsuite on OBS/aarch64: + work around execve() reversing the order of "env" output. + ------------------------------------------------------------------- Mon Jan 19 23:06:22 UTC 2015 - mail@bernhard-voelker.de diff --git a/coreutils.spec b/coreutils.spec index c89bb26..41cd78e 100644 --- a/coreutils.spec +++ b/coreutils.spec @@ -144,6 +144,10 @@ Patch502: coreutils-tests-make-inotify-rotate-more-robust-and-efficient.pa # Avoid false positives on OBS due to high load; increase timeout. Patch503: coreutils-tests-rm-ext3-perf-increase-timeout.patch +# Upstream patch on top of v8.23 (to be removed in v8.24). +# Work around false positives of the testsuite on OBS/aarch64. +Patch504: coreutils-tests-aarch64-env.patch + # ================================================ %description These are the GNU core utilities. This package is the union of @@ -195,6 +199,8 @@ the GNU fileutils, sh-utils, and textutils packages. %patch502 %patch503 +%patch504 + #???## We need to statically link to gmp, otherwise we have a build loop #???#sed -i s,'$(LIB_GMP)',%%{_libdir}/libgmp.a,g Makefile.in