[Rubygems-developers] Bug in RubyGems/rpa-base's restricted
implementation of tar?
Mauricio Fernández
batsman.geo at yahoo.com
Mon Aug 23 07:53:10 EDT 2004
Hi,
I've found this in my IRC logs
<Austin__> I had to tweak some of Batsman's Tar code.
<Austin__> his tar header was writing the wrong data -- it won't
be compatible with most tar programs out there.
<chad> I'm seeing some problems in the tar code, too. header-related?
[NOTE: I'd like to know a bit more about them :-)]
<Austin__> chad: probably. he was space-padding instead of null-padding.
<Austin__> regardless, i think that I've got something that could
be extended with ease to do all tar related work :)
Could you specify which field(s) of the tar header is(are) being set
incorrectly?
I have reviewed the code and
* all the fields which need a delimiter but 'checksum' (read on) are null-padded
* the numeric fields in octal are expanded with 0s as needed
My implementation is based on the description available at
http://thekode.net/misc/tar.5.txt
In the case of the checksum field, I couldn't find an explicit explanation
under the "POSIX Standard Archives" section, so I kept the convention
from the traditional Archive Format ("the checksum is terminated by a
null and a space."). I'd expect most tar implementations to treat the
checksum as just an ASCIIZ string, discarding the last character
altogether.
The corresponding unit tests are available at
http://www.wobblini.net/svn/rpa/trunk/rpa-base/test/tc_Package.rb
20 tests, 453 assertions, 0 failures, 0 errors
I'd be grateful if you could provide a failing test case or tell me why
the current ones are wrong.
cheers,
--
Running Debian GNU/Linux Sid (unstable)
batsman dot geo at yahoo dot com
More information about the Rubygems-developers
mailing list