[Rubygems-developers] Re: [ANN] dev-utils v1.0

Omar Kilani omar at tinysofa.org
Mon Oct 11 03:58:27 EDT 2004


Aredridel wrote:

> Yeah, I bet! Conferences are always fun like that... better once there ;-)
> 
> I'll admit right now to being an "alternate packager" (I maintain RPMs
> of most of the Ruby stuff in the PLD Linux Distro) -- My biggest
> concern is making some libraries work right. The one I've been working
> on hardest is Rails. Even the tarball version requires rubygems -- not
> the gem command, but the library.

I've been working on this for my distribution, and the result is here:

http://minbar.tinysofa.org/pub/tinysofa/extras/server-2.0/srpms.extras/

See ruby-gems-*.src.rpm.

I basically did this to get Rails to work, but now I have a "standard" 
RPM spec file for doing GEM -> RPM builds. I'm working on a gem2rpm type 
  script as well... but for the mean time, what the above gives you is a 
working RPM set of rubygems and all necessary gems for the rails gem to 
work. It installs these files as gems, with the benefits of having rpm 
handling all the dependencies and so forth. So doing a rpm install of 
the ruby-gems-blah rpm adds blah to the gems repository (you can see it 
when doing a 'gem list', etc) and doing a rpm erase removes it from the 
gems repository. I use APT in my distribution, so it works very nicely 
for gem dependencies.

Please note that almost none of the Ruby libraries out there respect the 
DESTDIR environment variable when doing install.rb etc, so I have a 
tonne of patches against a lot of these libraries to make them build 
properly. I build all my rpms in a clean chroot as a non-root user, so 
the SRPMS are created with that goal in mind.

rubygems itself is broken in the DESTDIR regard, so I've got a couple of 
fixes in place for that. There's one more issue of require_gem looking 
into the DESTDIR instead of the Gems repository with my changes, so I'm 
relying on RPM Requires and forcing gem install for gems that have 
requirements. I'll get to this in the next release of the SRPM.

I've also had to rebuild the rails gem as it had a couple of hardcoded 
references to /usr/local/bin/ruby, which I've changed to /usr/bin/env 
ruby. I really wanted to use the gemspec to do this, and rebuild each 
gem from scratch in the SRPM, but for some reason the rails tgz has 
different content to the rails gem, so I went with the "gem as source" 
option for now.

Anyway... I'm really excited about Ruby and Rails and everything that 
entails, and thought it would be rather interesting to support it "out 
of the box" in my distribution, so hopefully I'll keep up the RPM 
integration effort. :)

I hope this is helpful to someone... :)

> Ari

Best Regards,
Omar Kilani


More information about the Rubygems-developers mailing list