Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 09 Apr 2007 08:30:31 -0700
From:      Tim Kientzle <kientzle@freebsd.org>
To:        Ulrich Spoerlein <uspoerlein@gmail.com>
Cc:        ports@freebsd.org
Subject:   Re: bsdtar and packages vs. unionfs
Message-ID:  <461A5C17.5080906@freebsd.org>
In-Reply-To: <20070409105220.GA1347@roadrunner.q.local>
References:  <20070407174756.GA46385@roadrunner.q.local> <4617F67B.7050304@freebsd.org> <20070408075917.GA40103@roadrunner.q.local> <46194018.8030102@freebsd.org> <20070409105220.GA1347@roadrunner.q.local>

next in thread | previous in thread | raw e-mail | index | archive | help
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,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?461A5C17.5080906>