[Rubygems-developers] New Gem format?

Michael Neumann mneumann at ntecs.de
Wed Jul 28 10:12:28 EDT 2004

Mauricio Fernández wrote:
> On Wed, Jul 28, 2004 at 11:18:12AM +0200, Michael Neumann wrote:
>>Are there any news on this? Last night, I wrote a simple script that can 
>>create tar files (and cpio) in pure Ruby. It would be simple to create 
>>tar.gz, just feed it though Zlib.
> The code for the new format was accepted and committed a couple weeks
> ago, see
> http://rubyforge.org/pipermail/rubygems-developers/2004-July/000759.html .

Ah, thanks!

>>It would be nice to be able to release one file, which serves both as a 
>>gem and as a tar.gz. So, you have your "gem build" command, upload the 
>>resulting file, and that's it. Except that people will not recognize a 
>>.gem file as a .tar.gz file, and it's not nice to upload two identical 
>>files to rubyforge.org, which only differ in it's ending.
> The new format is not only a tarball, but rather a tar archive containing
> a compressed tarball with the data itself and gzipped metadata (see the
> link above for the details).
>>BTW, it would be nice, if rubygems would be able to construct a 
>>"install.rb" file from the gemspec. Shoulndn't be too hard. This way it 
>>would be very simple to distribute a package as both a gem and a tar.gz ;-)
> IMHO gems and "pristine" tarballs should remain as two separate things.
> The sources in the .tar.gz are more general in the sense that they
> always include everything, whereas the .gem need not (otherwise the
> files field in the gemspec is redundant).

> As for constructing the install.rb from the gemspec, it doesn't make
> sense if the resulting installer is going to depend on RubyGems and just

No, why would the installer be dependent on RubyGems? I'd just lookup 
the files that should go into the tar.gz file (in my case they are the 
same as in the gem), and create a install.rb file for it. Or maybe I 
should do it reversed, have a config.rb file, that is than required by 
the gemspec file, and by the install.rb.

I just don't want to fool users, that don't have RubyGems installed, and 
don't want to make packagers (FreeBSD ports etc.) the life more hard. 
But at the same time, I don't want to duplicate the installer code (gem 
+ install.rb).



More information about the Rubygems-developers mailing list