Subject: Re: [bug-diffutils] bug#33947: Failure building diffutils-3.7 (openSUSE:Factory)

From: Jim Meyering <[email-masked]>
Date: Tue, 1 Jan 2019 20:40:43 -0800

On Tue, Jan 1, 2019 at 9:06 AM Sean Lewis <[email-masked]> wrote:
> Today I attempted to package the new diffutils 3.7 and received build
> failures (test.log output is below for your reference).

Correction: the build succeeded, but you encountered a test failure.

> This is for
> openSUSE and I'm building using our Tumbleweed rolling release model
> which has (nearly) current components for all pieces of the environment.
> Any guidance you can provide is appreciated, thank you and happy new year.
...

A happy new year to you, too.
Thank you for the testing and the report.
Your system failed the final sub-test of the "colors" test because it
fails to propagate an PIPE signal "out" to the expected exit status of
141. Instead, diff on your system exits with status of 2:
...
> [  132s] + mkfifo fifo
> [  132s] + printf %1000000s-a
> [  132s] + printf %1000000s-b
> [  132s] + diff --color=always ---presume-output-tty a b
> [  132s] + head -c 10
> [  132s] diff: standard output: Broken pipe
> [  132s] + test 2 = 141
> [  132s] + fail=1

>From the above diagnostic, it is clear there was a broken pipe error.
...
> [  132s] FAIL colors (exit status: 1)

To reproduce it manually, run these commands:

mkfifo fifo
printf '%1000000s-a' > a
printf '%1000000s-b' > b
head -c 10 < fifo > /dev/null &
diff --color=always ---presume-output-tty a b > fifo
echo $?

The final echo should print 141.
Did you configure your shell to ignore SIGPIPE?