Hello community, here is the log from the commit of package coreutils for openSUSE:Factory checked in at 2015-09-08 17:35:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/coreutils (Old) and /work/SRC/openSUSE:Factory/.coreutils.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "coreutils" Changes: -------- --- /work/SRC/openSUSE:Factory/coreutils/coreutils-testsuite.changes 2015-08-21 07:35:10.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.coreutils.new/coreutils-testsuite.changes 2015-09-08 17:35:18.000000000 +0200 @@ -1,0 +2,6 @@ +Sun Aug 30 21:52:13 UTC 2015 - mail@bernhard-voelker.de + +- coreutils-tests-avoid-FP-of-ls-stat-free-color.patch: Add upstream +patch on top of v8.24 to avoid a FP test failure with glibc>=2.22. + +------------------------------------------------------------------- coreutils.changes: same change New: ---- coreutils-tests-avoid-FP-of-ls-stat-free-color.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ coreutils-testsuite.spec ++++++ --- /var/tmp/diff_new_pack.tXwgCn/_old 2015-09-08 17:35:34.000000000 +0200 +++ /var/tmp/diff_new_pack.tXwgCn/_new 2015-09-08 17:35:34.000000000 +0200 @@ -128,6 +128,8 @@ Patch500: coreutils-disable_tests.patch Patch501: coreutils-test_without_valgrind.patch +Patch600: coreutils-tests-avoid-FP-of-ls-stat-free-color.patch + # ================================================ %description These are the GNU core utilities. This package is the union of @@ -170,6 +172,9 @@ %patch500 %patch501 +# Upstream patch on top of v8.24 to fix a FP test failure with glibc>=2.22. +%patch600 + #???## We need to statically link to gmp, otherwise we have a build loop #???#sed -i s,'$(LIB_GMP)',%%{_libdir}/libgmp.a,g Makefile.in ++++++ coreutils.spec ++++++ --- /var/tmp/diff_new_pack.tXwgCn/_old 2015-09-08 17:35:34.000000000 +0200 +++ /var/tmp/diff_new_pack.tXwgCn/_new 2015-09-08 17:35:34.000000000 +0200 @@ -128,6 +128,8 @@ Patch500: coreutils-disable_tests.patch Patch501: coreutils-test_without_valgrind.patch +Patch600: coreutils-tests-avoid-FP-of-ls-stat-free-color.patch + # ================================================ %description These are the GNU core utilities. This package is the union of @@ -170,6 +172,9 @@ %patch500 %patch501 +# Upstream patch on top of v8.24 to fix a FP test failure with glibc>=2.22. +%patch600 + #???## We need to statically link to gmp, otherwise we have a build loop #???#sed -i s,'$(LIB_GMP)',%%{_libdir}/libgmp.a,g Makefile.in ++++++ coreutils-tests-avoid-FP-of-ls-stat-free-color.patch ++++++ Upstream patch on top of v8.24 to avoid a FP test failure with glibc>=2.22: http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=fd5f2b1569 Patch to be removed with v8.25.
From fd5f2b1569e2e0b31be755e14e236a7a02478fc0 Mon Sep 17 00:00:00 2001 From: Bernhard Voelker <mail@bernhard-voelker.de> Date: Sun, 30 Aug 2015 22:49:35 +0200 Subject: [PATCH] tests: avoid FP of ls/stat-free-color.sh with newer glibc
Since glibc-2.22, specifically commit [0], the opendir() implementation implicitly makes an additional stat call thus leading to a FP. Seen on openSUSE:Tumbleweed since snapshot 20150821. [0] https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=46f894d8c60a * tests/ls/stat-free-color.sh: Change the test to verify that ls(1) needs the same number of stat-like calls for a single, empty directory argument as for one with a few directory entries (sub-directory, regular file, symlink, etc.). --- tests/ls/stat-free-color.sh | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) Index: tests/ls/stat-free-color.sh =================================================================== --- tests/ls/stat-free-color.sh.orig +++ tests/ls/stat-free-color.sh @@ -27,8 +27,6 @@ stats='stat,lstat,stat64,lstat64,newfsta require_strace_ $stats require_dirent_d_type_ -ln -s nowhere dangle || framework_failure_ - # Disable enough features via LS_COLORS so that ls --color # can do its job without calling stat (other than the obligatory # one-call-per-command-line argument). @@ -54,22 +52,33 @@ EOF eval $(dircolors -b color-without-stat) # The system may perform additional stat-like calls before main. -# To avoid counting those, first get a baseline count by running -# ls with only the --help option. Then, compare that with the +# Furthermore, underlying library functions may also implicitly +# add an extra stat call, e.g. opendir since glibc-2.21-360-g46f894d. +# To avoid counting those, first get a baseline count for running +# ls with one empty directory argument. Then, compare that with the # invocation under test. -strace -o log-help -e $stats ls --help >/dev/null || fail=1 -n_lines_help=$(wc -l < log-help) +mkdir d || framework_failure_ -strace -o log -e $stats ls --color=always . || fail=1 -n_lines=$(wc -l < log) +strace -o log1 -e $stats ls --color=always d || fail=1 +n_stat1=$(wc -l < log1) || framework_failure_ -n_stat=$(expr $n_lines - $n_lines_help) +test $n_stat1 = 0 \ + && skip_ 'No stat calls recognized on this platform' -# Expect one stat call. -case $n_stat in - 0) skip_ 'No stat calls recognized on this platform' ;; - 1) ;; # Corresponding to stat(".") - *) fail=1; head -n30 log* ;; -esac +# Populate the test directory. +mkdir d/subdir \ + && touch d/regf \ + && ln d/regf d/hlink \ + && ln -s regf d/slink \ + && ln -s nowhere d/dangle \ + || framework_failure_ + +# Invocation under test. +strace -o log2 -e $stats ls --color=always d || fail=1 +n_stat2=$(wc -l < log2) || framework_failure_ + +# Expect the same number of stat calls. +test $n_stat1 = $n_stat2 \ + || { fail=1; head -n30 log*; } Exit $fail