bsdtar/libarchive change behaviour 9->10

Tim Kientzle tim at kientzle.com
Sun Aug 18 19:39:39 UTC 2013


On Aug 18, 2013, at 12:04 PM, Boris Samorodov wrote:

> Hi All,
> 
> there are two systems which produce different results:
> -----
> % uname -a
> FreeBSD int.wart.ru 9.2-BETA2 FreeBSD 9.2-BETA2 #19 r253968: Tue Aug  6
> 04:16:05 SAMT 2013     bsam at int.wart.ru:/usr/obj/usr/src/sys/INT  i386
> 
> % tar --version
> bsdtar 2.8.5 - libarchive 2.8.5
> 
> % tar -tf /usr/ports/distfiles/Catalyst-Plugin-Prototype-1.33.tar.gz |
> grep Plugin/
> Catalyst-Plugin-Prototype-1.33/lib/Catalyst/Plugin/
> Catalyst-Plugin-Prototype-1.33/lib/Catalyst/Plugin/._Prototype.pm
> Catalyst-Plugin-Prototype-1.33/lib/Catalyst/Plugin/Prototype.pm
> -----
> % uname -a
> FreeBSD srv.bb.tel.ru 10.0-CURRENT FreeBSD 10.0-CURRENT #7 r253953: Mon
> Aug  5 16:16:42 SAMT 2013
> bsam at srv.bb.tel.ru:/usr/obj/usr/src/sys/BB64X  amd64
> 
> % tar --version
> bsdtar 3.1.2 - libarchive 3.1.2
> 
> % tar -tf /usr/ports/distfiles/Catalyst-Plugin-Prototype-1.33.tar.gz |
> grep Plugin/
> Catalyst-Plugin-Prototype-1.33/lib/Catalyst/Plugin/
> Catalyst-Plugin-Prototype-1.33/lib/Catalyst/Plugin/Prototype.pm
> -----
> 
> I.e. the CURRENT system does not honor the presence of "._*" file.
> The file seems to be a MAC file and anyway get deletted before
> installation.
> 
> So, the question is: is it a regression/bug/new feature?

Libarchive 3 does handle ._* files differently than libarchive 2.

In libarchive 2.x those files were treated as normal files
and bsdtar then had special code to process them as
Mac extensions.

Libarchive 3.x can treat them as extended metadata.
As a result, bsdtar doesn't see them at all (except as
additional metadata which can't be restored on FreeBSD).

If you are using libarchive directly, you can ask it
to not interpret those files as metadata.  Bsdtar does
request such handling from libarchive.

Tim




More information about the freebsd-current mailing list