Changes in bsdtar/libarchive handling

Okay, I don’t think there are many users actually using bsdtar on Gentoo out there, but this might be interesting for them, although it’s history already.

Since last week upstream author Tim Kientzle releases libarchive and bsdtar in a single source tarball called libarchive-${PV}.tar.bz2 … I decided to maintain the tarball merged as the author does, but named it bsdtar instead for an easier access to users (although it’s a bit messier for developers looking for libarchive).

One unfortunate thing of the 1.2.51 release is that it does abort during extract phase on FreeBSD when using the -p switch, as done by portage when extracting a binpkg. This means that, until upstream fixes this behaviour, or suggests me a way to work it around, buildpkg and binary packages are not working on Gentoo/FreeBSD.

Also please note that there’s a block (similar to the shadow/pam-login one) between newer bsdtar and libarchive, but this is worse as you can’t unmerge libarchive (or bsdtar stops working, and it’s system tar on FreeBSD), so you have either to build bsdtar static before upgrading (safe and my way) or trick portage to do the dirt job for you…

The first case consists of this:

USE=“static” emerge -1 ‘<bsdtar-1.2.51’ && emerge -C libarchive && emerge -u bsdtar

while the second is

emerge -Ou bsdtar && emerge -C libarchive

They should both work, but I would be safe only on the first.

Anyway, as soon as the extraction issue will be set down, I’ll roll a new stage tarball with the conflict already fixed, as I did in the past with bsdtar changes.

Update: (not exactly an update since I haven’t saved yet but anyway) seems like libarchive has an automagic dependency on acl and attr and bsdtar does link statically on libarchive…. I’m going to fix this now, and send a couple of patch to the author, we’ll see what happens 🙂