diff options
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r-- | gnu/packages/patches/coreutils-skip-nohup.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gnu/packages/patches/coreutils-skip-nohup.patch b/gnu/packages/patches/coreutils-skip-nohup.patch new file mode 100644 index 0000000000..f5283a6b21 --- /dev/null +++ b/gnu/packages/patches/coreutils-skip-nohup.patch @@ -0,0 +1,28 @@ +commit 5dce6bdfafc930dfd17d5d16aea7d1add3472066 +Author: Pádraig Brady <P@draigBrady.com> +Date: Wed Mar 5 15:14:07 2014 +0000 + + tests: fix false failure in nohup.sh in non tty builds + + * tests/misc/nohup.sh: When running tests without a controlling tty, + an exec failure is triggered in a subshell, which causes POSIX + shells to immediately exit the subshell. This was brought + to notice by the newly conforming bash 4.3. + Fixes http:/bugs.gnu.org/16940 + +diff --git a/tests/misc/nohup.sh b/tests/misc/nohup.sh +index 6d2b515..2328b43 100755 +--- a/tests/misc/nohup.sh ++++ b/tests/misc/nohup.sh +@@ -63,6 +63,11 @@ rm -f nohup.out err + # to stderr must be fatal. Requires stdout to be terminal. + if test -w /dev/full && test -c /dev/full; then + ( ++ # POSIX shells immediately exit the subshell on exec error. ++ # So check we can write to /dev/tty before the exec, which ++ # isn't possible if we've no controlling tty for example. ++ test -c /dev/tty && >/dev/tty || exit 0 ++ + exec >/dev/tty + test -t 1 || exit 0 + nohup echo hi 2> /dev/full |