In the tar 1.30 release there was a problem with the difflink.at test; this has been fixed in HEAD. However, the test still fails on *BSD and there is an underlying portability issue.
The preparatory part of the test runs this: mkdir a genfile -f a/x ln -s x a/y ln a/y a/z What is the expected result? ls -l a ==> OpenBSD, FreeBSD: total 0 -rw-r--r-- 2 naddy naddy 0 Apr 26 18:45 x lrwxr-xr-x 1 naddy naddy 1 Apr 26 18:45 y -> x -rw-r--r-- 2 naddy naddy 0 Apr 26 18:45 z ==> Linux: total 0 -rw-r--r-- 1 naddy unixag 0 Apr 26 18:46 x lrwxrwxrwx 2 naddy unixag 1 Apr 26 18:46 y -> x lrwxrwxrwx 2 naddy unixag 1 Apr 26 18:46 z -> x That's the difference between "ln -L a/y a/z" and "ln -P a/y a/z". POSIX says the default behavior is "implementation defined". I suggest the following fix: --- /home/naddy/difflink.at Thu Apr 26 18:58:04 2018 +++ difflink.at Thu Apr 26 18:52:59 2018 @@ -20,7 +20,7 @@ mkdir a genfile -f a/x ln -s x a/y -ln a/y a/z +ln -P a/y a/z tar cf a.tar a/x a/y a/z rm a/z ln -s x a/z -- Christian "naddy" Weisgerber na...@mips.inka.de