Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

kane (2600)

kane
  (email not shown publicly)

Journal of kane (2600)

Tuesday May 13, 2003
11:53 AM

Archive::Tar::Pain

[ #12173 ]
So progress on CPANPLUS has been slow lately.

Of course, I have plenty of places to point my finger.

Mostly to Archive::Tar, which was so broken (and had been for three years), that CPANPLUS was having trouble extracting some newer releases with it.

So I stupidly volunteered to take over maintainership, since the last author was MIA for well, 3 years. It's only then you realise exactly what can of worms you precisely opened;

For example, it had no idea what '././@LongLink' files were [0], plus it had interesting code in it like:

system( ... ) or die "error: $!";

I hear you thinking, "but sureley the test suite would have caught that".. but if you're smart you don't bring that up to my face ;)

I'll try and refrain myself from rants on the tar-format but trust me, it's really quite screwy.
It feels much like a '512 bytes should be enough for everyone'-quote

In the end I decided a complete rewrite was probably best, since every bug fix on the old code made me find two more bugs.

So right now, there's a totally rewritten version on the CPAN which should be fixing all these nasty things.

I invite everyone to bash it some, so we can hopefully take out all the bugs, and enjoy the new features

--Jos

[0] I hope you don't either, but if you must know

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Bravery (Score:3, Interesting)

    by Ovid (2709) on 2003.05.13 16:23 (#20069) Homepage Journal

    You're a braver man than I. I have spotted more than one unmaintained module on the CPAN that I've thought about volunteering to fix, but I chickened out. Nice job!

    And in the unlikely event that you're ever in this neck of the woods again, give me a shout. I don't think I bought you any beer last time :( (and I just realizedy how many of my posts seem to mention beer ...)

    • Bravery or stupidity? I keep being undecided :)

      Although, I have received quite a few thank-you mails, so it's somewhat rewarding.

      I suggest, in the interest of timely beer drinking, we move this event to this coming Yapc::EU [yapc.org], if you can at all make it ;)

  • Win32 (Score:2, Interesting)

    Will it work on Win32?

    The reason I ask, is because the old Archive::Tar used fcntl(), to duplicate a filehandle for example, which works on Unix etc., but not on Win32. That's why Win32 users were stuck with version 0.072.

    I hope life will get better, for these poor marginalised programmers, as well.

    • Re:Win32 (Score:2, Informative)

      The short answer would be 'yes, it will work on win32 now'.

      You don't want the long answer ;)

      • But I do! I often wondered: why are these file handles duped, in the first place?

        Oh, and one more thing... I often find people (on Perlmonks, for example) wish to use a tied handle, or another non-standard handle, with this module, and this module rejects that, for the same reason, really. Will that work, now, too?

        • It's not supported as a filehandle as such, but there's other ways to do it ($tar->add_data is probably your friend).

          The reason for this is simple -- to keep everything managable, I use IO::File and IO::Zlib under the hood, which saves a lot of overhead and keeps for a standard interface.
          So if those modules don't supported tied filehandles, neither will Archive::Tar.