Date: Mon, 02 Aug 2004 22:55:45 -0700 From: Tim Kientzle <kientzle@freebsd.org> To: freebsd-ports@freebsd.org, freebsd-current@freebsd.org Subject: HEADS UP: tar -l is now (intentionally) broken. Message-ID: <410F28E1.8080105@freebsd.org>
next in thread | raw e-mail | index | archive | help
Since POSIX and GNU violently disagree about the meaning of "tar -l", and there seem to be strong adherents to both interpretations, I'm preparing to commit a patch that breaks "tar -l" for everyone: $ tar -cl foo Error: -l has different behaviors in different tars. For the GNU behavior, use --one-file-system instead. For the POSIX behavior, use --check-links instead. The message pretty much says it all. Setting POSIXLY_CORRECT in the environment will make -l a synonym for --check-links. (Note that this is different than GNU tar's behavior in the presence of POSIXLY_CORRECT.) I will consider suggestions for a corresponding environment variable for GNU behavior (GNULY_CORRECT?). I've also adopted an idea from GNU tar 1.14, which treats -o in the POSIX manner on extract, in the GNU manner on create. I don't believe the change to -l will break more than a couple of ports. Prior to this change, ports that specified -l would get the POSIX behavior even though they may have thought they were requesting the GNU behavior. This change will force you to unambiguously specify the particular behavior you desire. In short, everyone wins on -o, everyone loses on -l. That seems fair. ;-) Tim Kientzle
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?410F28E1.8080105>