From: Michal Suchanek on
On 04/01/2008, Luis Lavena <luislavena(a)gmail.com> wrote:
> On 4 ene, 03:03, "M. Edward (Ed) Borasky" <zn...(a)cesmail.net> wrote:
> > Luis Lavena wrote:
> >
> > [snip]
> >
> > > To bootstrap and use this project, you need:
> > > - Ruby 1.8.5 or greater
> > > - Rake 0.7.3 or greater
> > > - Tar [1] and Unzip [2] binary packages from GnuWin32
> >
> > Aren't they in MSys?
> >
>
> Chicken-egg situation:
>
> They are inside the compressed tar.gz and tar.bz2 files... how I'm
> supposed to get them if I don't decompress them first? :-D
>
> So: if someone have a pure-ruby (with aditional gem or extension) that
> allow us extract content from:
>
> - .zip (deflate) files
> - .gz (of .tar.gz) files
> - .bz2 (of .tar.bz2) files
>
> All without these dependencies, feel free to modify rake/
> extracttask :-)
>
If youcan afford relying on ruby stdlib, there is zlib which can do
deflate and gunzip.

There is minitar hosted on rubyforge under ruwiki (does not work on
unseekable files like stdin but works on gzipped files by using zlib).
There is rubyzip (untested, uses zlib for compression). bzip2 remains
to be solved but hopefully the basic stuff can be obtained as gzipped
archives.

http://rubyforge.org/frs/?group_id=84
http://rubyforge.org/frs/?group_id=909

Thanks

Michal

From: Michal Suchanek on
On 04/01/2008, Michal Suchanek <hramrach(a)centrum.cz> wrote:
> On 04/01/2008, Luis Lavena <luislavena(a)gmail.com> wrote:
> > On 4 ene, 03:03, "M. Edward (Ed) Borasky" <zn...(a)cesmail.net> wrote:
> > > Luis Lavena wrote:
> > >
> > > [snip]
> > >
> > > > To bootstrap and use this project, you need:
> > > > - Ruby 1.8.5 or greater
> > > > - Rake 0.7.3 or greater
> > > > - Tar [1] and Unzip [2] binary packages from GnuWin32
> > >
> > > Aren't they in MSys?
> > >
> >
> > Chicken-egg situation:
> >
> > They are inside the compressed tar.gz and tar.bz2 files... how I'm
> > supposed to get them if I don't decompress them first? :-D
> >
> > So: if someone have a pure-ruby (with aditional gem or extension) that
> > allow us extract content from:
> >
> > - .zip (deflate) files
> > - .gz (of .tar.gz) files
> > - .bz2 (of .tar.bz2) files
> >
> > All without these dependencies, feel free to modify rake/
> > extracttask :-)
> >
> If youcan afford relying on ruby stdlib, there is zlib which can do
> deflate and gunzip.
>
> There is minitar hosted on rubyforge under ruwiki (does not work on
> unseekable files like stdin but works on gzipped files by using zlib).
> There is rubyzip (untested, uses zlib for compression). bzip2 remains
> to be solved but hopefully the basic stuff can be obtained as gzipped
> archives.
>
> http://rubyforge.org/frs/?group_id=84
> http://rubyforge.org/frs/?group_id=909

And you can get bzip2 at
http://www.bzip.org/1.0.4/bzip2-104-x86-win32.exe - plain win32
executable.

Thanks

Michal

From: Luis Lavena on
On 4 ene, 09:35, Michal Suchanek <hramr...(a)centrum.cz> wrote:
>
> If youcan afford relying on ruby stdlib, there is zlib which can do
> deflate and gunzip.
>
> There is minitar hosted on rubyforge under ruwiki (does not work on
> unseekable files like stdin but works on gzipped files by using zlib).
> There is rubyzip (untested, uses zlib for compression). bzip2 remains
> to be solved but hopefully the basic stuff can be obtained as gzipped
> archives.
>
> http://rubyforge.org/frs/?group_id=84
> http://rubyforge.org/frs/?group_id=909
>

Thank you Michal,

Since I was moving from a batch-build process to a ruby/rake build
process, a few external tools remains as requirement.

MinGW packages are distributed in tar.gz format [1] (which I guess map
perfect for Minitar project), but MSYS provides tar.bz2 files [2],
which will still need the external tool to uncompress.

In this case, tar.bz2 files can be uncompressed with bsdtar, which is
the best implementation I've tested that work with all the file
formats. (tgz, tar.gz and tar.bz2)

There is also the memory usage and speed situation, extract 8MB files
can take a bit slow using a pure-ruby implementation.

[1] http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=82723&release_id=237094
[2] http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963&release_id=46827

Regards,
--
Luis Lavena
From: Luis Lavena on
On 4 ene, 09:43, Michal Suchanek <hramr...(a)centrum.cz> wrote:
>
> And you can get bzip2 athttp://www.bzip.org/1.0.4/bzip2-104-x86-win32.exe- plain win32
> executable.
>

Thank you again.

I was using bsdtar from libarchive 2.4.0 mostly because it offered a
one-step unpack procedure:

tar xzf
(.tar, tar.gz and .tgz files)

tar jxf
(.tar.bz2)

Which is similar to the commands executed under *nix.

Anyhow this could be changed, patchs are welcome :-)

Regards,
--
Luis Lavena
From: Austin Ziegler on
On Jan 4, 2008 5:34 AM, Luis Lavena <luislavena(a)gmail.com> wrote:
> They are inside the compressed tar.gz and tar.bz2 files... how I'm
> supposed to get them if I don't decompress them first? :-D
>
> So: if someone have a pure-ruby (with aditional gem or extension) that
> allow us extract content from:
>
> - .zip (deflate) files
> - .gz (of .tar.gz) files
> - .bz2 (of .tar.bz2) files
>
> All without these dependencies, feel free to modify rake/
> extracttask :-)

gz and .tar.gz files aren't hard to deal with since a working Ruby
1.8.5 is a prerequisite. Look at minitar, and the zlib library is part
of a working Ruby 1.8.5 install.

-austin
--
Austin Ziegler * halostatue(a)gmail.com * http://www.halostatue.ca/
* austin(a)halostatue.ca * http://www.halostatue.ca/feed/
* austin(a)zieglers.ca