Cannot package converters/libiconv inside clean chroot

Tim Kientzle kientzle at freebsd.org
Sun Apr 8 19:18:49 UTC 2007


> 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


More information about the freebsd-ports mailing list