From: Austin Ziegler Date: 2005-03-04T15:06:50+09:00 Subject: Re: RAA Status & b On Fri, 4 Mar 2005 06:19:28 +0900, Jim Weirich wrote: > Brian Schr�der said: >> I'm not really good informed, but as far as I know to use ruby >> gems you need to change the sourcecode of your program, while rpa >> is a real package installer that installs libraries into the >> search path. If this is wrong, please correct me. > This is incorrect. [...] Only in the specifics. In the general case, though, it's correct. I consider setting RUBYOPT a Bad Thing, and the requirement of either specifying -rubygems or "require 'rubygems'" only marginally less bad. Granted, when RubyGems 1.0 hits the street, as it were, it is my understanding that Matz wants this as part of the core, and RubyGems has been planned from the beginning as working in the core. IMO, the following things need to be done to make RubyGems the core packaging format AND make it work well with the concept of RPA- stable libraries; this is recent formulation, and I haven't discussed it with anyone: 1. Make RubyGems transactional. This is one of the things that I think that Mauricio got absolutely right. As it stands now, I think that it is possible for a RubyGem install to fail in the middle and leave me in a state where I can partially include something. 2. Make RubyGems aware of the package files that it owns. This is what RPA did to ensure that it could install the library into the core library area without breaking anything else. 3. Provide patches to 1.8.x and probably 1.9 that would replace the require functionality with the RubyGems require, but faster. See the RubyGems/rails performance boost tip someone (Jamis?) found some time back. That startup performance hit is a strong negative against RubyGems. RPA didn't face this because it *did* put the package files in the core. 4. Make it possible for a version mapping to be provided, but let RubyGems sanity check that version mapping. What do I mean here? RPA.version = 2 RPA.version_mapping # => { 2 => [ "rails-0.10.0", "text-format-1.0", ... ] } The exact format I haven't figured out, but this would be a way of providing the RPA stable versions I talked about. There are other things, and I'm so overworked right now I don't even have time to think (I've still got to get Text::Format 1.0, PDF::Writer 1.0, color-management 1.0, and ruby-ttf2afm 1.0 out the door), much less contribute more than ideas at this point. -austin -- Austin Ziegler * halostatue@gmail.com * Alternate: austin@halostatue.ca