coreutils/tests/touch/dangling-symlink
Jim Meyering 95e3f911e2 Warn about the problem, rather
than failing on some very recent (at least 2.3.99) versions of
the Linux kernel.  Suggestion from Ulrich Drepper.
2000-07-01 10:59:56 +00:00

40 lines
770 B
Bash
Executable File

#!/bin/sh
# Make sure touch can create a file through a dangling symlink.
# This was broken in the 4.0[e-i] test releases.
if test "$VERBOSE" = yes; then
set -x
touch --version
fi
rm -f touch-target t-symlink
ln -s touch-target t-symlink
fail=0
# This used to infloop.
touch t-symlink || fail=1
test -f touch-target || fail=1
rm -f touch-target t-symlink
if test $fail = 1; then
case $host_triplet in
*linux-gnu*)
case "`uname -r`" in
2.3.9[0-9]*)
cat 1>&2 <<EOF
====================================================
$0: WARNING!!!
This version of the Linux kernel causes touch to fail
when operating on dangling symlinks.
====================================================
EOF
exit 77
;;
esac
;;
esac
fi
exit $fail