Date: Sun, 08 Apr 2007 12:18:48 -0700 From: Tim Kientzle <kientzle@freebsd.org> To: Ulrich Spoerlein <uspoerlein@gmail.com> Cc: ports@freebsd.org Subject: Re: Cannot package converters/libiconv inside clean chroot Message-ID: <46194018.8030102@freebsd.org> In-Reply-To: <20070408075917.GA40103@roadrunner.q.local> References: <20070407174756.GA46385@roadrunner.q.local> <4617F67B.7050304@freebsd.org> <20070408075917.GA40103@roadrunner.q.local>
next in thread | previous in thread | raw e-mail | index | archive | help
> There are at least two issues here, one is pkg_add refusing a valid > (AFAICS) tbz file, the other is bsdtar(1) choosing a different tar > format based on unionfs(!). Those two symlink entries have an "opaque" file flag. This explains the format change (bsdtar uses the extended pax format when it sees a file with flags set, since ustar can't store those). I would guess that pkg_add is invoking bsdtar with -p (restore permissions), bsdtar is restoring the 'opaque' flag, and then pkg_add is tripping over those symlinks for some reason when it tries to move them. To test this hypothesis, try stripping those flags with: tar -cjf new-libiconv-1.9.2_2.tbz --format=ustar @libiconv-1.9.2_2.tbz The "new-libiconv" tarfile should be identical except it won't have the file flags stored. If pkg_add likes new-libiconv but not libiconv, then it must be those opaque flags. I don't know if this is a bug in unionfs, in pkg_add, or in bsdtar. I think we need someone who understands the 'opaque' flag to chime in here. Tim
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46194018.8030102>