Skip site navigation (1)Skip section navigation (2)
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>