bsdtar and packages vs. unionfs

Tim Kientzle kientzle at freebsd.org
Mon Apr 9 15:30:32 UTC 2007


Ulrich Spoerlein wrote:
> Tim Kientzle wrote:
> 
> The way I see it, bsdtar(1) extracts the symlink libcharset.so, and then
> tries to stat(2) instead of lstat(2) it, before libcharset.so.1 is
> extracted. The questions is: why?

Oh.  I see.  *That* old bug.  <sigh>  Try this patch:

Index: archive_read_extract.c
===================================================================
--- archive_read_extract.c      (revision 177)
+++ archive_read_extract.c      (working copy)
@@ -1243,7 +1243,7 @@
                 /* Already have stat() data available. */
         } else if (fd >= 0 && fstat(fd, &extract->st) == 0)
                 extract->pst = &extract->st;
-       else if (stat(name, &extract->st) == 0)
+       else if (lstat(name, &extract->st) == 0)
                 extract->pst = &extract->st;
         else {
                 archive_set_error(a, errno,


More information about the freebsd-ports mailing list