SHA256
1
0
forked from pool/coreutils

Accepting request 289952 from home:bernhard-voelker:branches:Base:System

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

OBS-URL: https://build.opensuse.org/request/show/289952
OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=248
This commit is contained in:
Marcus Meissner 2015-03-09 06:53:43 +00:00 committed by Git OBS Bridge
parent 8c7ba1ee5c
commit e2335081f8
5 changed files with 71 additions and 0 deletions

View File

@ -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 <mail@bernhard-voelker.de>
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.

View File

@ -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 Mon Jan 19 23:06:22 UTC 2015 - mail@bernhard-voelker.de

View File

@ -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. # Avoid false positives on OBS due to high load; increase timeout.
Patch503: coreutils-tests-rm-ext3-perf-increase-timeout.patch 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 %description
These are the GNU core utilities. This package is the union of 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 %patch502
%patch503 %patch503
%patch504
#???## We need to statically link to gmp, otherwise we have a build loop #???## We need to statically link to gmp, otherwise we have a build loop
#???#sed -i s,'$(LIB_GMP)',%%{_libdir}/libgmp.a,g Makefile.in #???#sed -i s,'$(LIB_GMP)',%%{_libdir}/libgmp.a,g Makefile.in

View File

@ -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 Mon Jan 19 23:06:22 UTC 2015 - mail@bernhard-voelker.de

View File

@ -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. # Avoid false positives on OBS due to high load; increase timeout.
Patch503: coreutils-tests-rm-ext3-perf-increase-timeout.patch 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 %description
These are the GNU core utilities. This package is the union of 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 %patch502
%patch503 %patch503
%patch504
#???## We need to statically link to gmp, otherwise we have a build loop #???## We need to statically link to gmp, otherwise we have a build loop
#???#sed -i s,'$(LIB_GMP)',%%{_libdir}/libgmp.a,g Makefile.in #???#sed -i s,'$(LIB_GMP)',%%{_libdir}/libgmp.a,g Makefile.in