[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

[MacPerl] Archive::Tar 0.22



I've just issued a PASS to cpan-testers about Archive::Tar 0.22, but 
I wouldn't recommend using it as yet.   It did pass all of its tests, 
and the good news is that the MacOS patches are back in the main 
source tree.  There's an additional patch I'm going to send to the 
author soon so that we can deal with archives containing symlinks. 
(But for the most part, archives don't contain symlinks.)

But I ran into an odd problem the first time I used Archive::Tar 
0.22, and I think it's a MacPerl 5.20r4 problem.  I took a tar 
archive I had lying around (the latest version of Adrian Sun's 
netatalk, pre-asun2.1.4-39_test.tar.gz, in case anyone wants to 
verify what I found).  After extracting about 40-50 or so files from 
the archive (which contains ~450) MacPerl started to complain about 
using an uninitialized variable.  It turns out that after a while, 
Cwd::cwd() was returning undef because `pwd` was returning undef.

The code in _extract_file is virtually unchanged from 0.21.  It saves 
the cwd() for each file at the beginning, and chdirs back to that 
directory at the end.  There's no reason for it to actually do a cwd 
each time (because it's always the same for every file), so my quick 
fix is to have it remember the first one for the rest of the 
extraction.  But that doesn't explain why MacPerl is forgetting 
`pwd`.  Clearly something is tromping on something else.  My guess is 
Compress::Zlib, since it's the only XS involved, but that's only a 
guess at the moment.

The big advantage of 0.22 is that it's no longer such a memory hog. 
I just unpacked the entire perl-5.6.0.tar.gz that I had lying around 
from last weekend with untargzipme.  I was not able to do that last 
weekend with 0.21 (by a long shot).

There are still a few other problems that I'm looking into.  (A big 
one is that Extract::MM_MacOS::convert_files is complaining about 
malformed paths.)  In the next few days, I'll put a fixed 
Archive::Tar 0.22 on MMP.
-- 
--
Paul Schinder
schinder@pobox.com

# ===== Want to unsubscribe from this list?
# ===== Send mail with body "unsubscribe" to macperl-request@macperl.org