From Ola.Bini at ki.se Thu Jun 1 06:39:27 2006 From: Ola.Bini at ki.se (Ola Bini) Date: Thu, 01 Jun 2006 12:39:27 +0200 Subject: [Rubygems-developers] GemSpec-problem Message-ID: Hi I'm currently working on RbYAML (a pure Ruby YAML parser and emitter), and the Gems Source Index is a pretty good test. But I found an entry which seems to be an error from the YAML point of view. The description-element for the package 'ruby-extra' begins with a c-reserved characater (a ` with ascii code 96). According to http://yaml.org/spec/current.html#id2535812 example 4.9 and 4.10, this character cannot start a plain scalar. I'm currently not sure how Syck YAML handles this case, but for future portability it would be good to take a look at it. Regards Ola Bini From jim at weirichhouse.org Thu Jun 1 07:03:09 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Thu, 01 Jun 2006 07:03:09 -0400 Subject: [Rubygems-developers] GemSpec-problem In-Reply-To: References: Message-ID: <447EC96D.4070906@weirichhouse.org> Ola Bini wrote: > Hi > > I'm currently working on RbYAML (a pure Ruby YAML parser and emitter), > and the Gems Source Index is a pretty good test. But I found an entry > which seems to be an error from the YAML point of view. The > description-element for the package 'ruby-extra' begins with a > c-reserved characater (a ` with ascii code 96). According to > http://yaml.org/spec/current.html#id2535812 example 4.9 and 4.10, this > character cannot start a plain scalar. I'm currently not sure how Syck > YAML handles this case, but for future portability it would be good to > take a look at it. All the yaml form of the gem specs are generated via the to_yaml method provided by the yaml package. If there is an incompatibility, it is in Ruby's yaml package itself. Perhaps this is a issue to be taken up with the Why. BTW, I just round-tripped the gemspec under question with to_yaml and YAML.load and syck seemed to handle it fine. But I know there are other round trip issues with the yaml support at the moment so it would be good to have Why look at this as well. Thanks for the heads up -- Jim Weirich From jmg3000 at gmail.com Sat Jun 3 02:49:05 2006 From: jmg3000 at gmail.com (John Gabriele) Date: Sat, 3 Jun 2006 02:49:05 -0400 Subject: [Rubygems-developers] rdoc, ri, and gem integration? Message-ID: <65e0bb520606022349j524faafcp69cd7e0b96610313@mail.gmail.com> I just came across these posts: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7423 http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7426 http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7479 Not sure how relevant they are to this, but, what is the current plan for rdoc/ri/gem integration? It would seem to me that the rdoc command should have an "--ri-gems" option such that I could cd over to my /opt/ruby-1.8.4/lib/ruby/gems/1.8/gems directory and from there run "rdoc --ri-gems" thus generating a pile of .yaml files in, maybe, an /opt/ruby-1.8.4/share/ri/1.8/gems directory... Is that the way it's going to work? Thanks, ---John From jim at weirichhouse.org Sat Jun 3 15:01:08 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Sat, 03 Jun 2006 15:01:08 -0400 Subject: [Rubygems-developers] rdoc, ri, and gem integration? In-Reply-To: <65e0bb520606022349j524faafcp69cd7e0b96610313@mail.gmail.com> References: <65e0bb520606022349j524faafcp69cd7e0b96610313@mail.gmail.com> Message-ID: <4481DC74.8000303@weirichhouse.org> John Gabriele wrote: > I just came across these posts: > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7423 > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7426 > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7479 > > Not sure how relevant they are to this, but, what is the current plan > for rdoc/ri/gem integration? > > It would seem to me that the rdoc command should have an "--ri-gems" > option such that I could cd over to my > /opt/ruby-1.8.4/lib/ruby/gems/1.8/gems directory and from there run > "rdoc --ri-gems" thus generating a pile of .yaml files in, maybe, an > /opt/ruby-1.8.4/share/ri/1.8/gems directory... Is that the way it's > going to work? Currently, the gem command (in CVS Head) will generate the RI docs automatically whenever it generates the RDoc data. The install and update commands supports both --rdoc and --ri switches. The rdoc command can also generate rdoc and ri docs at any time for any installed command. Does this help? -- Jim Weirich From jmg3000 at gmail.com Sat Jun 3 16:02:32 2006 From: jmg3000 at gmail.com (John Gabriele) Date: Sat, 3 Jun 2006 16:02:32 -0400 Subject: [Rubygems-developers] rdoc, ri, and gem integration? In-Reply-To: <4481DC74.8000303@weirichhouse.org> References: <65e0bb520606022349j524faafcp69cd7e0b96610313@mail.gmail.com> <4481DC74.8000303@weirichhouse.org> Message-ID: <65e0bb520606031302v32dcf264u60a1fffc48f09d97@mail.gmail.com> On 6/3/06, Jim Weirich wrote: > John Gabriele wrote: > > I just came across these posts: > > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7423 > > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7426 > > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7479 > > > > Not sure how relevant they are to this, but, what is the current plan > > for rdoc/ri/gem integration? > > > > It would seem to me that the rdoc command should have an "--ri-gems" > > option such that I could cd over to my > > /opt/ruby-1.8.4/lib/ruby/gems/1.8/gems directory and from there run > > "rdoc --ri-gems" thus generating a pile of .yaml files in, maybe, an > > /opt/ruby-1.8.4/share/ri/1.8/gems directory... Is that the way it's > > going to work? > > Currently, the gem command (in CVS Head) will generate the RI docs > automatically whenever it generates the RDoc data. Great! Where does this cvs version of gem put the ri docs (yaml files) that it generates? > The install and > update commands supports both --rdoc and --ri switches. Just curious, is it the default behaviour to generate and install both the rdoc->html and rdoc->yaml (ri) docs when you install a gem? If so, then what's the point of those --rdoc and --ri switches? > The rdoc > command can also generate rdoc and ri docs at any time for any installed > command. Not sure what you mean by "installed command", but... I see that rdoc can make ri docs for the core/std modules (/opt/ruby-1.8.4/lib/ruby/1.8), and using the "--ri-system" option it places them into /opt/ruby-1.8.4/share/ri/1.8/system. And that rdoc can make ri docs for site modules (/opt/ruby-1.8.4/lib/ruby/site_ruby/1.8), and using the "--ri-site" option it places them into /opt/ruby-1.8.4/share/ri/1.8/site. And that rdoc ran make ri docs for any of my random oddball modules, and using the "--ri" option it places them into my own ~/.rdoc directory (though that's not working for me at the moment), But rdoc doesn't seem to have an option for use when generating ri docs for gems. Or does it? How do most folks currently go about having ri docs for installed gems? > Does this help? Yes, but I'm still hoping to see the rest of the big picture. In fact, I just put together a Ruby-wiki page on it: RiRDocAndGems. Thanks for the reply! ---John From jmg3000 at gmail.com Sat Jun 3 16:14:47 2006 From: jmg3000 at gmail.com (John Gabriele) Date: Sat, 3 Jun 2006 16:14:47 -0400 Subject: [Rubygems-developers] Current ToDo list? Message-ID: <65e0bb520606031314o1bc195a9vb1a50adcc2090d27@mail.gmail.com> Is this ToDo list http://wiki.rubygarden.org/Ruby/page/show/RubyGemsToDoList up to date? If not, what's changed? From jim at weirichhouse.org Sat Jun 3 17:54:28 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Sat, 03 Jun 2006 17:54:28 -0400 Subject: [Rubygems-developers] rdoc, ri, and gem integration? In-Reply-To: <65e0bb520606031302v32dcf264u60a1fffc48f09d97@mail.gmail.com> References: <65e0bb520606022349j524faafcp69cd7e0b96610313@mail.gmail.com> <4481DC74.8000303@weirichhouse.org> <65e0bb520606031302v32dcf264u60a1fffc48f09d97@mail.gmail.com> Message-ID: <44820514.9070005@weirichhouse.org> John Gabriele wrote: > Where does this cvs version of gem put the ri docs (yaml files) that > it generates? In the doc directory of the gem repository. >> The install and >> update commands supports both --rdoc and --ri switches. > > Just curious, is it the default behaviour to generate and install both > the rdoc->html and rdoc->yaml (ri) docs when you install a gem? If so, > then what's the point of those --rdoc and --ri switches? So you can say --no-rdoc and --no-ri >> The rdoc >> command can also generate rdoc and ri docs at any time for any installed >> command. > > Not sure what you mean by "installed command", but... Sorry, I meant any installed gem. > I see that rdoc can make ri docs for the core/std modules > (/opt/ruby-1.8.4/lib/ruby/1.8), and using the "--ri-system" option it > places them into /opt/ruby-1.8.4/share/ri/1.8/system. > > And that rdoc can make ri docs for site modules > (/opt/ruby-1.8.4/lib/ruby/site_ruby/1.8), and using the "--ri-site" > option it places them into /opt/ruby-1.8.4/share/ri/1.8/site. > > And that rdoc ran make ri docs for any of my random oddball modules, > and using the "--ri" option it places them into my own ~/.rdoc > directory (though that's not working for me at the moment), > > But rdoc doesn't seem to have an option for use when generating ri > docs for gems. Or does it? The gem rdoc command generates the RI docs too. Is that what you are asking. > How do most folks currently go about having ri docs for installed gems? Most people don't yet, the RI stuff is fairly recent. -- Jim Weirich From jim at weirichhouse.org Sat Jun 3 18:12:13 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Sat, 03 Jun 2006 18:12:13 -0400 Subject: [Rubygems-developers] Current ToDo list? In-Reply-To: <65e0bb520606031314o1bc195a9vb1a50adcc2090d27@mail.gmail.com> References: <65e0bb520606031314o1bc195a9vb1a50adcc2090d27@mail.gmail.com> Message-ID: <4482093D.80202@weirichhouse.org> John Gabriele wrote: > Is this ToDo list > http://wiki.rubygarden.org/Ruby/page/show/RubyGemsToDoList > up to date? The wiki list is more of a wish list than a list of things the gem team has committed to doing. And it is a bit out of date. > If not, what's changed? Things done: * Incremental index downloads. Next thing to be done: * Data dir issues. We will make a new release (0.9.0 at this point). Then: * Local / Remote unification. Beyond that, I haven't given it much thought. I need to review that wiki list in more detail. -- Jim Weirich From jim at weirichhouse.org Sat Jun 3 18:15:44 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Sat, 03 Jun 2006 18:15:44 -0400 Subject: [Rubygems-developers] Current ToDo list? In-Reply-To: <4482093D.80202@weirichhouse.org> References: <65e0bb520606031314o1bc195a9vb1a50adcc2090d27@mail.gmail.com> <4482093D.80202@weirichhouse.org> Message-ID: <44820A10.4030806@weirichhouse.org> Jim Weirich wrote: > Things done: > * Incremental index downloads. Oh yea, the require_gem command is now just "gem". From jmg3000 at gmail.com Sat Jun 3 18:58:59 2006 From: jmg3000 at gmail.com (John Gabriele) Date: Sat, 3 Jun 2006 18:58:59 -0400 Subject: [Rubygems-developers] rdoc, ri, and gem integration? In-Reply-To: <44820514.9070005@weirichhouse.org> References: <65e0bb520606022349j524faafcp69cd7e0b96610313@mail.gmail.com> <4481DC74.8000303@weirichhouse.org> <65e0bb520606031302v32dcf264u60a1fffc48f09d97@mail.gmail.com> <44820514.9070005@weirichhouse.org> Message-ID: <65e0bb520606031558k408d546ci819976a0b00ea850@mail.gmail.com> On 6/3/06, Jim Weirich wrote: > John Gabriele wrote: > > Where does this cvs version of gem put the ri docs (yaml files) that > > it generates? > > In the doc directory of the gem repository. Ah, I guess that's: .../lib/ruby/gems/1.8/gems/foo-1.2.3/doc/ri > >> The install and > >> update commands supports both --rdoc and --ri switches. > > > > Just curious, is it the default behaviour to generate and install both > > the rdoc->html and rdoc->yaml (ri) docs when you install a gem? If so, > > then what's the point of those --rdoc and --ri switches? > > So you can say --no-rdoc and --no-ri Ah. I see. Merely redundant. > >> The rdoc > >> command can also generate rdoc and ri docs at any time for any installed > >> command. > > > > Not sure what you mean by "installed command", but... > > Sorry, I meant any installed gem. > > > I see that rdoc can make ri docs for the core/std modules > > (/opt/ruby-1.8.4/lib/ruby/1.8), and using the "--ri-system" option it > > places them into /opt/ruby-1.8.4/share/ri/1.8/system. > > > > And that rdoc can make ri docs for site modules > > (/opt/ruby-1.8.4/lib/ruby/site_ruby/1.8), and using the "--ri-site" > > option it places them into /opt/ruby-1.8.4/share/ri/1.8/site. > > > > And that rdoc ran make ri docs for any of my random oddball modules, > > and using the "--ri" option it places them into my own ~/.rdoc > > directory (though that's not working for me at the moment), > > > > But rdoc doesn't seem to have an option for use when generating ri > > docs for gems. Or does it? > > The gem rdoc command generates the RI docs too. Is that what you are > asking. I'd naively assumed that gem uses the rdoc script behind the scenes to generate the ri docs, and so was asking if there's a special option to the rdoc command (like, for example, --ri-gems) to place generated ri docs into a gem-specific directory. Evidently, as you pointed out, with the newest version of RubyGems in CVS, ri docs get generated automatically (by default) when you install a gem. That's good news! :) > > How do most folks currently go about having ri docs for installed gems? > > Most people don't yet, the RI stuff is fairly recent. I see. Thanks for the replies Jim. ---John From curt.hibbs at gmail.com Sat Jun 3 21:28:51 2006 From: curt.hibbs at gmail.com (Curt Hibbs) Date: Sat, 3 Jun 2006 20:28:51 -0500 Subject: [Rubygems-developers] Current ToDo list? In-Reply-To: <44820A10.4030806@weirichhouse.org> References: <65e0bb520606031314o1bc195a9vb1a50adcc2090d27@mail.gmail.com> <4482093D.80202@weirichhouse.org> <44820A10.4030806@weirichhouse.org> Message-ID: <31d15f490606031828h2b931345tc3119274af4011c2@mail.gmail.com> Sometime this this weekend I'm going to be releasing what I hope to be the final release candidate of the one-click installer, and I'd like to get the final release out by the end of the week. But I really want to coordinate with your release because I want the one-click installer to have the latest RubyGems. So, are you planning a release soon and if so, when? Thanks, Curt On 6/3/06, Jim Weirich wrote: > > Jim Weirich wrote: > > Things done: > > * Incremental index downloads. > > Oh yea, the require_gem command is now just "gem". > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20060603/899f7b73/attachment.htm From drbrain at segment7.net Sat Jun 3 14:33:45 2006 From: drbrain at segment7.net (Eric Hodel) Date: Sat, 3 Jun 2006 11:33:45 -0700 Subject: [Rubygems-developers] rdoc, ri, and gem integration? In-Reply-To: <65e0bb520606022349j524faafcp69cd7e0b96610313@mail.gmail.com> References: <65e0bb520606022349j524faafcp69cd7e0b96610313@mail.gmail.com> Message-ID: <2A62C3F4-555A-4FCB-99AB-1AC383B61974@segment7.net> On Jun 2, 2006, at 11:49 PM, John Gabriele wrote: > I just came across these posts: > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7423 > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7426 > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7479 > > Not sure how relevant they are to this, but, what is the current plan > for rdoc/ri/gem integration? The next release of gems and ruby 1.8 will have integrated ri. > It would seem to me that the rdoc command should have an "--ri-gems" > option such that I could cd over to my > /opt/ruby-1.8.4/lib/ruby/gems/1.8/gems directory and from there run > "rdoc --ri-gems" thus generating a pile of .yaml files in, maybe, an > /opt/ruby-1.8.4/share/ri/1.8/gems directory... Is that the way it's > going to work? Gems already has this feature. See gem help rdoc. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net This implementation is HODEL-HASH-9600 compliant http://trackmap.robotcoop.com From jmg3000 at gmail.com Tue Jun 6 11:03:57 2006 From: jmg3000 at gmail.com (John Gabriele) Date: Tue, 6 Jun 2006 11:03:57 -0400 Subject: [Rubygems-developers] rdoc, ri, and gem integration? In-Reply-To: <2A62C3F4-555A-4FCB-99AB-1AC383B61974@segment7.net> References: <65e0bb520606022349j524faafcp69cd7e0b96610313@mail.gmail.com> <2A62C3F4-555A-4FCB-99AB-1AC383B61974@segment7.net> Message-ID: <65e0bb520606060803u55b14a9wda39418d5e2cf977@mail.gmail.com> On 6/3/06, Eric Hodel wrote: > On Jun 2, 2006, at 11:49 PM, John Gabriele wrote: > > > I just came across these posts: > > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7423 > > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7426 > > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7479 > > > > Not sure how relevant they are to this, but, what is the current plan > > for rdoc/ri/gem integration? > > The next release of gems and ruby 1.8 will have integrated ri. Sweet. Looking forward to it. :) Thanks. > > It would seem to me that the rdoc command should have an "--ri-gems" > > option such that I could cd over to my > > /opt/ruby-1.8.4/lib/ruby/gems/1.8/gems directory and from there run > > "rdoc --ri-gems" thus generating a pile of .yaml files in, maybe, an > > /opt/ruby-1.8.4/share/ri/1.8/gems directory... Is that the way it's > > going to work? > > Gems already has this feature. > > See gem help rdoc. Maybe you're referring to the CVS HEAD version here? I haven't tried it. I'm using the 0.8.11 release, and tried "gem rdoc --all". Although that does generate html docs in the lib/ruby/gems/1.8/doc/gem_name/rdoc directories, I don't see any yaml files anywhere. The only gems I've currently got installed are BlueCloth, RedCloth, and rake. Maybe some gems will emit ri docs while others will not? I didn't see anything in the spec (http://docs.rubygems.org/read/chapter/20) about that though. From jim.weirich at gmail.com Tue Jun 6 11:17:24 2006 From: jim.weirich at gmail.com (Jim Weirich) Date: Tue, 6 Jun 2006 11:17:24 -0400 Subject: [Rubygems-developers] rdoc, ri, and gem integration? In-Reply-To: <65e0bb520606060803u55b14a9wda39418d5e2cf977@mail.gmail.com> References: <65e0bb520606022349j524faafcp69cd7e0b96610313@mail.gmail.com> <2A62C3F4-555A-4FCB-99AB-1AC383B61974@segment7.net> <65e0bb520606060803u55b14a9wda39418d5e2cf977@mail.gmail.com> Message-ID: On 6/6/06, John Gabriele wrote: > > > Gems already has this feature. > > > > See gem help rdoc. > > Maybe you're referring to the CVS HEAD version here? I haven't tried > it. I'm using the 0.8.11 release, and tried "gem rdoc --all". Although > that does generate html docs in the > lib/ruby/gems/1.8/doc/gem_name/rdoc directories, I don't see any yaml > files anywhere. It is in CVS head and is available in the latest beta release. You can get the beta with: gem update --system --source http://onestepback.org/betagems -- -- -- Jim Weirich jim at weirichhouse.org http://onestepback.org ----------------------------------------------------------------- "Beware of bugs in the above code; I have only proved it correct, not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20060606/291924e6/attachment.htm From jmg3000 at gmail.com Tue Jun 6 11:43:28 2006 From: jmg3000 at gmail.com (John Gabriele) Date: Tue, 6 Jun 2006 11:43:28 -0400 Subject: [Rubygems-developers] rdoc, ri, and gem integration? In-Reply-To: References: <65e0bb520606022349j524faafcp69cd7e0b96610313@mail.gmail.com> <2A62C3F4-555A-4FCB-99AB-1AC383B61974@segment7.net> <65e0bb520606060803u55b14a9wda39418d5e2cf977@mail.gmail.com> Message-ID: <65e0bb520606060843q6d90e919o94709db311abf19b@mail.gmail.com> On 6/6/06, Jim Weirich wrote: > > It is in CVS head and is available in the latest beta release. You can get > the beta with: > > gem update --system --source http://onestepback.org/betagems Neat! After running that update, I see that I've now got: * new bin/gemlock and bin/index_gem_repository.rb programs, * a lib/ruby/gems/1.8/cache/rubygems-update-0.8.11.15.gem file present, * a lib/ruby/gems/1.8/gems/rubygems-update-0.8.11.15 directory filled with its stuff, and this file * lib/ruby/gems/1.8/specifications/rubygems-update-0.8.11.15.gemspec ---------------------------------------------------------- # gem query --local *** LOCAL GEMS *** [snip] rubygems-update (0.8.11.15) RubyGems Update GEM sources (0.0.1) This package provides download sources for remote gem installation ---------------------------------------------------- # gem help rdoc [snip] Options: --all Generate RDoc/RI documentation for all installed gems --[no-]rdoc Include RDoc generated documents --[no-]ri Include RI generated documents [snip] -------------------------------------------------------- # gem rdoc --all Installing ri documentation for rake-0.7.1... Installing RDoc documentation for rake-0.7.1... (Hmm... none for RedCloth nor BlueCloth.) Ah. Now lib/ruby/gems/1.8/doc/rake-0.7.1 has an ri directory in it alongside the rdoc directory, and it's loaded with ri docs (yaml files). :) Trying it out, just as an example: ri --doc-dir /opt/ruby-1.8.4/lib/ruby/gems/1.8/doc/rake-0.7.1/ri Rake::FileList.exclude works nicely. :) Thanks, ---John From jim at weirichhouse.org Tue Jun 6 13:06:47 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Tue, 06 Jun 2006 13:06:47 -0400 Subject: [Rubygems-developers] rdoc, ri, and gem integration? In-Reply-To: <65e0bb520606060843q6d90e919o94709db311abf19b@mail.gmail.com> References: <65e0bb520606022349j524faafcp69cd7e0b96610313@mail.gmail.com> <2A62C3F4-555A-4FCB-99AB-1AC383B61974@segment7.net> <65e0bb520606060803u55b14a9wda39418d5e2cf977@mail.gmail.com> <65e0bb520606060843q6d90e919o94709db311abf19b@mail.gmail.com> Message-ID: <4485B627.3020805@weirichhouse.org> John Gabriele wrote: > (Hmm... none for RedCloth nor BlueCloth.) Both RedCloth and BlueCloth do not enable the rdoc flag in the gem spec. -- Jim Weirich From jim at weirichhouse.org Wed Jun 7 15:57:17 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Wed, 07 Jun 2006 15:57:17 -0400 Subject: [Rubygems-developers] Getting ready for release 0.9.0 Message-ID: <44872F9D.2010504@weirichhouse.org> Sorry this has taken so long. I pondered long and hard over the datadir issue and finally decide to take a minimalist approach verify similar to Maruicio's first suggestion in http://tinyurl.com/b7yo9. I am suggesting that people use Config.datadir(package_name) to locate their data directory. In the absence of RubyGems, this will just resolve to File.join(Config::CONFIG['datadir'], package_name). If RubyGems is present, it will locate the 'data' directory in the corresponding versioned gem area. This has several real advantages: * It is compatible with setup.rb (where the data directory defaults to 'data'). A project can use a single directory structure to satisfy both the gem and setup.rb packaging requirements. * The application remains unaware whether it is running as a gem or a directly installed app. * It retains versioned data directories so that we don't break the multi-version nature of RubyGems. The biggest downside is that Ruby does not natively support the Config.datadir() method. I will propose this on the Ruby-core list if it passes muster here. Until we get native support, anyone wishing to take advantage of the datadir method will have to include the following file with their application. module Config unless Config.respond_to?(:datadir) # Return the path to the data directory associated with the given # package name. Normally this is just # "#{Config::CONFIG['datadir']}/#{package_name}", but may be # modified by packages like RubyGems to handle versioned data # directories. def Config.datadir(package_name) File.join(CONFIG['datadir'], package_name) end end end Notice that is carefully checks for an existing datadir method, so if it does become available natively in Ruby, this file will degrade gracefully. Thoughts? On a second issue, we were contacted sometime back by an Apple representative asking for a clarification of the RubyGems license. I've gone ahead and included the Ruby license (suitably modified for RubyGems) and the GPL (as referenced in the Ruby license) in the distribution, as was discussed at that time. I also added copyright notices to each file, and referenced the LICENSE.txt file for details of any permissions. As to who to reference in the copyright notice, I listed explicitly the three Rubyforge project Administrators for the RubyGems project, (that would be Chad Fowler, Rich Kilmer and me) and appended the phrase "and others" to cover all the contributions from the many people that have contributed over the years. I don't want anyone to feel slighted by this, so if there are significant contributions that you would like to have called out, just let me know and will will add additional copyright notices on the appropriate files. (Mauricio's copyright notice in package.rb was left as is). Any questions? I'll make a beta version soon and hopefully we can get a 0.9.0 release out very soon. -- Jim Weirich From chad at chadfowler.com Wed Jun 7 16:20:48 2006 From: chad at chadfowler.com (Chad Fowler) Date: Wed, 7 Jun 2006 14:20:48 -0600 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <44872F9D.2010504@weirichhouse.org> References: <44872F9D.2010504@weirichhouse.org> Message-ID: On Jun 7, 2006, at 1:57 PM, Jim Weirich wrote: > Sorry this has taken so long. > Hey, you're keeping the torch burning! Don't apologize! > I pondered long and hard over the datadir issue and finally decide to > take a minimalist approach verify similar to Maruicio's first > suggestion > in http://tinyurl.com/b7yo9. I am suggesting that people use > Config.datadir(package_name) to locate their data directory. In the > absence of RubyGems, this will just resolve to > File.join(Config::CONFIG['datadir'], package_name). If RubyGems is > present, it will locate the 'data' directory in the corresponding > versioned gem area. > > > module Config > unless Config.respond_to?(:datadir) > > # Return the path to the data directory associated with the > given > # package name. Normally this is just > # "#{Config::CONFIG['datadir']}/#{package_name}", but may be > # modified by packages like RubyGems to handle versioned data > # directories. > def Config.datadir(package_name) > File.join(CONFIG['datadir'], package_name) > end > > end > end > > Notice that is carefully checks for an existing datadir method, so > if it > does become available natively in Ruby, this file will degrade > gracefully. > > Thoughts? > Seems good to me. If everyone had RubyGems, we could have them install a gem for this :) Great stuff, Jim! Chad From jim at weirichhouse.org Wed Jun 7 16:59:35 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Wed, 07 Jun 2006 16:59:35 -0400 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: References: <44872F9D.2010504@weirichhouse.org> Message-ID: <44873E37.3020805@weirichhouse.org> Chad Fowler wrote: > Seems good to me. If everyone had RubyGems, we could have them > install a gem for this :) Actually, I plan to include the file in the RubyGems distro, so it will be there. However, if you aren't installing something as a gem, there is a non-zero probability that you don't even have RubyGems on the system. -- Jim Weirich From chad at chadfowler.com Wed Jun 7 17:10:31 2006 From: chad at chadfowler.com (Chad Fowler) Date: Wed, 7 Jun 2006 15:10:31 -0600 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <44873E37.3020805@weirichhouse.org> References: <44872F9D.2010504@weirichhouse.org> <44873E37.3020805@weirichhouse.org> Message-ID: On Jun 7, 2006, at 2:59 PM, Jim Weirich wrote: > Chad Fowler wrote: >> Seems good to me. If everyone had RubyGems, we could have them >> install a gem for this :) > > Actually, I plan to include the file in the RubyGems distro, so it > will > be there. However, if you aren't installing something as a gem, there > is a non-zero probability that you don't even have RubyGems on the > system. > Yea, I was just musing on the chicken-and-egg nature of distributing software that helps us with situations like this. From jmg3000 at gmail.com Wed Jun 7 17:24:44 2006 From: jmg3000 at gmail.com (John Gabriele) Date: Wed, 7 Jun 2006 17:24:44 -0400 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <44872F9D.2010504@weirichhouse.org> References: <44872F9D.2010504@weirichhouse.org> Message-ID: <65e0bb520606071424y62c20241wb2ec3bf7fe60beb4@mail.gmail.com> On 6/7/06, Jim Weirich wrote: > > I pondered long and hard over the datadir issue [snip] > > Any questions? What is "the datadir issue"? I poked around the RubyGems site and didn't see anything about it there. Also tried "gem environment" and didn't see any mention of it. Tried a "grep -ri datadir *" in lib/ruby/site_ruby/1.8 but didn't find anything. Google found me a few mailing list postings, but they presumed I already knew what the issue was. Thanks, ---John From lyle.johnson at gmail.com Wed Jun 7 17:45:13 2006 From: lyle.johnson at gmail.com (Lyle Johnson) Date: Wed, 7 Jun 2006 16:45:13 -0500 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <65e0bb520606071424y62c20241wb2ec3bf7fe60beb4@mail.gmail.com> References: <44872F9D.2010504@weirichhouse.org> <65e0bb520606071424y62c20241wb2ec3bf7fe60beb4@mail.gmail.com> Message-ID: On 6/7/06, John Gabriele wrote: > What is "the datadir issue"? This refers to the problem of how to deal with application data in Gems. For example, if your GUI application requires a bunch of image files that are loaded at run time, where do you load them from? What if different versions of your application require different sets of image files? In the same way you just type: require 'some_library' and RubyGems magically finds the right code, in the latest gem, it would be useful to be able to do this: icons_dir = File.join(Config.datadir('my_app'), "icons") and trust that it will find your application's data files (and, the right versions of those files). Hope this helps, Lyle From mfp at acm.org Wed Jun 7 19:11:47 2006 From: mfp at acm.org (Mauricio Fernandez) Date: Thu, 8 Jun 2006 01:11:47 +0200 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <44872F9D.2010504@weirichhouse.org> References: <44872F9D.2010504@weirichhouse.org> Message-ID: <20060607231147.GA28115@tux-chan> On Wed, Jun 07, 2006 at 03:57:17PM -0400, Jim Weirich wrote: > I pondered long and hard over the datadir issue and finally decide to > take a minimalist approach verify similar to Maruicio's first suggestion > in http://tinyurl.com/b7yo9. I am suggesting that people use > Config.datadir(package_name) to locate their data directory. In the > absence of RubyGems, this will just resolve to > File.join(Config::CONFIG['datadir'], package_name). If RubyGems is > present, it will locate the 'data' directory in the corresponding > versioned gem area. A few unprocessed thoughts: (a) the documentation will have to insist on the necessity of putting the data under data/myproject and using File.join(Config.datadir(package_name), "myproject") The extra subdirectory is needed because installing stuff right under CONFIG["datadir"] (with setup.rb or equivalent tools) would not be acceptable (too prone to name clashes). In other words, while something like File.open(Config.datadir(package_name) + "foo.dat"){|f| ... } would be OK when installed with RubyGems, it'd lead to problems with setup.rb and friends. This is obvious if one reads the non-RubyGems-enabled definition of Config.datadir, but people releasing primarily in RubyGems format might never see it. This is again about promoting good practices that make sw. installable and usable also without RubyGems. (b) Can the argument to Config.datadir be used to access data from another package? At that point we can run into versioning problems: given Config.datadir("foo")... * whose datadir should be chosen if there are several versions of foo installed? the latest's? If so, a package that is working fine might break when a new version of a seemingly unrelated package is installed. (Note that this does not differ from the current situation with RubyGems' Kernel#require as far as code, as opposed to data, is concerned) This can be addressed in many ways, but none seems to solve everything satisfactorily: * adding explicit version info would work, but it's probably too verbose (you'd do it as Config.datadir("foo", DATAVERSION) so as to not be forced to change lots of lines if the specific version changes) * if the package depends on the one containing the data, the exact version can be inferred from the RubyGems spec. *However*, "data dependencies" might not always result in actual dependencies: it is (or rather, it should be) possible to have a package recommend/suggest the installation of another one. (c) Optional dependencies and "data discovery": code using CONFIG["datadir"] could run Find.find() on that dir to search for stuff. Should that be supported at all? (my tentative answer is: not with Config.datadir(package_name), if at all) What about trying to see if data from a known package is available? Config.datadir("someoptionaldep") could return nil or an empty/nonexistent dir when someoptionaldep is not available. (d) with setup.rb, different packages could be providing the same data (as if we had a normal name clash, but done deliberately and hopefully resulting in everything working fine); this becomes impossible with Config.datadir("foo") I think that's a good thing. a-c deserve some further reflection in my opinion. As for (d), I think that choosing *not* to support it is the right choice. > This has several real advantages: > > * It is compatible with setup.rb (where the data directory defaults to > 'data'). A project can use a single directory structure to satisfy both > the gem and setup.rb packaging requirements. > > * The application remains unaware whether it is running as a gem or a > directly installed app. This is very important. The application will indeed work, but (a) applies. > * It retains versioned data directories so that we don't break the > multi-version nature of RubyGems. (b) I'll try to spare some brain cycles for this, but these are the first things that come to mind. -- Mauricio Fernandez - http://eigenclass.org - singular Ruby From dharple at generalconsumption.org Wed Jun 7 19:37:07 2006 From: dharple at generalconsumption.org (Daniel Harple) Date: Thu, 8 Jun 2006 01:37:07 +0200 Subject: [Rubygems-developers] rdoc, ri, and gem integration? In-Reply-To: <4481DC74.8000303@weirichhouse.org> References: <65e0bb520606022349j524faafcp69cd7e0b96610313@mail.gmail.com> <4481DC74.8000303@weirichhouse.org> Message-ID: On Jun 3, 2006, at 9:01 PM, Jim Weirich wrote: > Currently, the gem command (in CVS Head) will generate the RI docs > automatically whenever it generates the RDoc data. If someone redefines a method or adds one to a class it will show up in ri, IIRC. That *sucks*. When I look at the ri docs for Array, I only want to see the original Array docs, not what someone added to it (or redefined). The HTML documentation generated by rdoc also has this issue, but it is not a problem because it is localized. Example: % cat test.rb # ri.... class String # blah def string_does_not_have_enough_methods end end % rdoc --ri test.rb % ri String ---------------------------------------------------------- Class: String A +String+ object holds and manipulates an arbitrary sequence of [...] ------------------------------------------------------------------------ ri.... ------------------------------------------------------------------------ [...] squeeze, squeeze!, string_does_not_have_enough_methods, strip, [...] Another problem (ri bug): % rdoc --ri /opt/local/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib [...] % ri Array /opt/local/lib/ruby/1.8/rdoc/ri/ri_descriptions.rb:99:in `concat': can't convert nil into Array (TypeError) from /opt/local/lib/ruby/1.8/rdoc/ri/ri_descriptions.rb: 99:in `merge_in' from /opt/local/lib/ruby/1.8/rdoc/ri/ri_reader.rb:56:in `get_class' from /opt/local/lib/ruby/1.8/rdoc/ri/ri_reader.rb:52:in `get_class' from /opt/local/lib/ruby/1.8/rdoc/ri/ri_driver.rb:70:in `report_class_stuff' from /opt/local/lib/ruby/1.8/rdoc/ri/ri_driver.rb:106:in `get_info_for' from /opt/local/lib/ruby/1.8/rdoc/ri/ri_driver.rb:135:in `process_args' from /opt/local/lib/ruby/1.8/rdoc/ri/ri_driver.rb:134:in `process_args' from /opt/local/bin/ri:48 % ruby --version ruby 1.8.4 (2005-12-24) [powerpc-darwin8.6.0] -- Daniel From jim at weirichhouse.org Wed Jun 7 19:38:17 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Wed, 07 Jun 2006 19:38:17 -0400 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <20060607231147.GA28115@tux-chan> References: <44872F9D.2010504@weirichhouse.org> <20060607231147.GA28115@tux-chan> Message-ID: <44876369.6060805@weirichhouse.org> Mauricio Fernandez wrote: > A few unprocessed thoughts: > > (a) the documentation will have to insist on the necessity of putting the > data under > data/myproject > and using > File.join(Config.datadir(package_name), "myproject") Ahh, setup.rb installs directly into CONFIG['datadir'], doesn't it. Hmmm ... missed that when reviewing setup. Let's see, the non-gem version of datadir() is ok, because it appends the project name. The gem version should return File.join(gem_location, 'data', gem_name). Then you have to use the extra level in both cases. Good catch. > (b) Can the argument to Config.datadir be used to access data > from another package? At that point we can run into versioning > problems: given Config.datadir("foo")... If we were to allow access to another package's data, then the package must be loaded before that access can occur, then we can use whatever version is loaded. However, I am inclined to make the rule that access to the package's data area is off limits to code outside the package ... for all the reasons you list. > (c) Optional dependencies and "data discovery": code using CONFIG["datadir"] > could run Find.find() on that dir to search for stuff. Should that be > supported at all? (my tentative answer is: not with > Config.datadir(package_name), if at all) What about trying to see if data > from a known package is available? > Config.datadir("someoptionaldep") > could return nil or an empty/nonexistent dir when someoptionaldep is not > available. Woah. Do you see a big need for this? I am inclined to not provide this until I understand the usecase better. If we do disallow access from outside packages, then this seems like a moot point, correct? > (d) with setup.rb, different packages could be providing the same data (as if > we had a normal name clash, but done deliberately and hopefully resulting > in everything working fine); this becomes impossible with > Config.datadir("foo") > I think that's a good thing. Agreed. > I'll try to spare some brain cycles for this, but these are the first things > that come to mind. Thanks for the feedback. -- Jim Weirich From transfire at gmail.com Wed Jun 7 22:30:10 2006 From: transfire at gmail.com (TRANS) Date: Wed, 7 Jun 2006 22:30:10 -0400 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <44872F9D.2010504@weirichhouse.org> References: <44872F9D.2010504@weirichhouse.org> Message-ID: <4b6f054f0606071930q76c8dd42ndc112434cc673169@mail.gmail.com> On 6/7/06, Jim Weirich wrote: > module Config > unless Config.respond_to?(:datadir) > > # Return the path to the data directory associated with the given > # package name. Normally this is just > # "#{Config::CONFIG['datadir']}/#{package_name}", but may be > # modified by packages like RubyGems to handle versioned data > # directories. > def Config.datadir(package_name) > File.join(CONFIG['datadir'], package_name) > end > > end > end Yea! A good solution! I will add it to the next release of Ruby Facets. require 'facet/config/datadir' Thanks Jim, T. From transfire at gmail.com Wed Jun 7 22:36:42 2006 From: transfire at gmail.com (TRANS) Date: Wed, 7 Jun 2006 22:36:42 -0400 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <4b6f054f0606071930q76c8dd42ndc112434cc673169@mail.gmail.com> References: <44872F9D.2010504@weirichhouse.org> <4b6f054f0606071930q76c8dd42ndc112434cc673169@mail.gmail.com> Message-ID: <4b6f054f0606071936p191b0d5flb0fcd60e67aab881@mail.gmail.com> One question though. Is there a way to see if a gem is active? I had extended Gem with: module Gem def self.active?(gemname) @loaded_specs ||= Hash.new @loaded_specs.key? gemname end end Is there another/proper way? Thanks, T. From hgs at dmu.ac.uk Thu Jun 8 05:19:56 2006 From: hgs at dmu.ac.uk (Hugh Sasse) Date: Thu, 8 Jun 2006 10:19:56 +0100 (WEST) Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <44876369.6060805@weirichhouse.org> References: <44872F9D.2010504@weirichhouse.org> <20060607231147.GA28115@tux-chan> <44876369.6060805@weirichhouse.org> Message-ID: On Wed, 7 Jun 2006, Jim Weirich wrote: > Ahh, setup.rb installs directly into CONFIG['datadir'], doesn't it. > Hmmm ... missed that when reviewing setup. [...] > The gem version should return File.join(gem_location, 'data', gem_name). > Then you have to use the extra level in both cases. [...] > > (b) Can the argument to Config.datadir be used to access data > > from another package? At that point we can run into versioning > > problems: given Config.datadir("foo")... > > If we were to allow access to another package's data, then the package > must be loaded before that access can occur, then we can use whatever > version is loaded. > > However, I am inclined to make the rule that access to the package's > data area is off limits to code outside the package ... for all the > reasons you list. Also breaks the idea of encapsulation. I think most, but cannot assert "all", gems result in some object coming into being. I can't see from the online docs if a gem can use reflection to get its own version, and I not done enough dev to know. If it could, (pretend this ia a patch): module Config unless Config.respond_to?(:datadir) # Return the path to the data directory associated with the given # package name. Normally this is just # "#{Config::CONFIG['datadir']}/#{package_name}", but may be # modified by packages like RubyGems to handle versioned data # directories. def Config.datadir(package_name) - File.join(CONFIG['datadir'], package_name) + path = File.join(CONFIG['datadir'], package_name) + return yield path end end end which may be subject to your: > The gem version should return File.join(gem_location, 'data', gem_name). above. Then a gem could Config.datadir(gemname){|path| File.join(path, Gem.version(gemname)) or something, where I just dreamt up Gem.version() to do the reflection I mentioned. This is a clumsy way of saying Config.datadir(gemname) should only really be used within the encapsulation of the gem itself, and the resulting object should provide an attr_reader to it. In which case the resulting object could use reflection and by means of a block modify the path to get it correct. (The above explanation is so long that I feel I have proposed an overengineered solution ("Why not have a large number of autonomous, intercommunicating robots to mow your lawn?").) Anyway, apart from such ramblings, the proposed change to rubygems sounds good to me. Hugh From jim at weirichhouse.org Thu Jun 8 08:06:24 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Thu, 08 Jun 2006 08:06:24 -0400 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: References: <44872F9D.2010504@weirichhouse.org> <20060607231147.GA28115@tux-chan> <44876369.6060805@weirichhouse.org> Message-ID: <448812C0.5080802@weirichhouse.org> Hugh Sasse wrote: > On Wed, 7 Jun 2006, Jim Weirich wrote: >> However, I am inclined to make the rule that access to the package's >> data area is off limits to code outside the package ... for all the >> reasons you list. > > Also breaks the idea of encapsulation. I Well, yes. That too. :) > think most, but cannot > assert "all", gems result in some object coming into being. I can't > see from the online docs if a gem can use reflection to get its own > version, and I not done enough dev to know. If it could, (pretend > this ia a patch): [... patch elided ...] Are you trying to implement gem support? But that is already handled, just not in the snippet of code put in the mail message. The datadir() method in the mail message is the minimal code snippet to get datadir functionality in a non-gem environment. It is intended for users to supply with any package that needs datadir support so that it can function in a non-gem environment. RubyGems supplies its own version of datadir that hooks the non-gem version (just like it hooks the require command). Or perhaps I am misinterpreting your response. -- Jim Weirich From mfp at acm.org Thu Jun 8 08:16:06 2006 From: mfp at acm.org (Mauricio Fernandez) Date: Thu, 8 Jun 2006 14:16:06 +0200 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <44876369.6060805@weirichhouse.org> References: <44872F9D.2010504@weirichhouse.org> <20060607231147.GA28115@tux-chan> <44876369.6060805@weirichhouse.org> Message-ID: <20060608121606.GC28115@tux-chan> On Wed, Jun 07, 2006 at 07:38:17PM -0400, Jim Weirich wrote: > Mauricio Fernandez wrote: > > A few unprocessed thoughts: > > > > (a) the documentation will have to insist on the necessity of putting the > > data under > > data/myproject > > and using > > File.join(Config.datadir(package_name), "myproject") > > Ahh, setup.rb installs directly into CONFIG['datadir'], doesn't it. > Hmmm ... missed that when reviewing setup. > > Let's see, the non-gem version of datadir() is ok, because it appends > the project name. > > The gem version should return File.join(gem_location, 'data', gem_name). > Then you have to use the extra level in both cases. > > Good catch. There's another separate but somewhat related issue: stuff installed under DATADIR *but* not under DATADIR/myproject: manpages, etc, which would not be supported by the proposed scheme. But I don't think it's worth supporting anyway at this stage (other mechanisms can be added later). > > (b) Can the argument to Config.datadir be used to access data > > from another package? At that point we can run into versioning > > problems: given Config.datadir("foo")... > > If we were to allow access to another package's data, then the package > must be loaded before that access can occur, then we can use whatever > version is loaded. Oh, but a "data dependency" doesn't always imply a "code dependency": maybe no #require() was performed... > > (c) Optional dependencies and "data discovery": code using CONFIG["datadir"] > > could run Find.find() on that dir to search for stuff. Should that be > > supported at all? (my tentative answer is: not with > > Config.datadir(package_name), if at all) What about trying to see if data > > from a known package is available? > > Config.datadir("someoptionaldep") > > could return nil or an empty/nonexistent dir when someoptionaldep is not > > available. > > Woah. Do you see a big need for this? I am inclined to not provide > this until I understand the usecase better. If we do disallow access > from outside packages, then this seems like a moot point, correct? Right, if it is disallowed altogether, the problem doesn't exist anymore. (How to disallow it though? Nothing can be done to prevent this in code not loaded with RubyGems, and even in that case we can at most generate a runtime exception --- it'd be best to make it impossible to create a broken package to begin with, statically so to speak). A few (very few?) people could miss it though. Imagine I create a ps-writer lib that can use generate/use type 3 fonts; I happen to know that pdf-writer ships with some ttf files, so I can try to find them at runtime to generate some fonts. In this case, pdf-writer is optional and even if it is available and I can use its data files, at no point do I have to require 'pdf-writer'. Just having Config.datadir("pdf-writer") return nil if pdf-writer is not installed would be enough in that case. But (b) must be solved if access to other package's datadir is allowed, of course. -- Mauricio Fernandez - http://eigenclass.org - singular Ruby From hgs at dmu.ac.uk Thu Jun 8 08:19:04 2006 From: hgs at dmu.ac.uk (Hugh Sasse) Date: Thu, 8 Jun 2006 13:19:04 +0100 (WEST) Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <448812C0.5080802@weirichhouse.org> References: <44872F9D.2010504@weirichhouse.org> <20060607231147.GA28115@tux-chan> <44876369.6060805@weirichhouse.org> <448812C0.5080802@weirichhouse.org> Message-ID: On Thu, 8 Jun 2006, Jim Weirich wrote: > Hugh Sasse wrote: > > On Wed, 7 Jun 2006, Jim Weirich wrote: > >> However, I am inclined to make the rule that access to the package's > >> data area is off limits to code outside the package ... for all the > >> reasons you list. > > > > Also breaks the idea of encapsulation. I > > Well, yes. That too. :) > > > think most, but cannot > > assert "all", gems result in some object coming into being. I can't > > see from the online docs if a gem can use reflection to get its own > > version, and I not done enough dev to know. If it could, (pretend > > this ia a patch): > > [... patch elided ...] > > Are you trying to implement gem support? But that is already handled, > just not in the snippet of code put in the mail message. Oh, right. Well, it might allow other things that have versioning requirements to interact with the setup datadir. (Which, too, maybe be overengineering, YAGNI, etc.) > [...] > > Or perhaps I am misinterpreting your response. No, it was my fault, holding 2 contradictory ideas {this was for other packages than gems, the gems code was based on it} in my head at the same time, and the second one being wrong. Oops. ["Open mouth, insert foot, echo internationally" as they used say on fidonet :-)] > > -- Jim Weirich Thank you Hugh From mfp at acm.org Thu Jun 8 08:21:56 2006 From: mfp at acm.org (Mauricio Fernandez) Date: Thu, 8 Jun 2006 14:21:56 +0200 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: References: <44872F9D.2010504@weirichhouse.org> <20060607231147.GA28115@tux-chan> <44876369.6060805@weirichhouse.org> Message-ID: <20060608122156.GD28115@tux-chan> On Thu, Jun 08, 2006 at 10:19:56AM +0100, Hugh Sasse wrote: > > > (b) Can the argument to Config.datadir be used to access data > > > from another package? At that point we can run into versioning > > > problems: given Config.datadir("foo")... [...] > > However, I am inclined to make the rule that access to the package's > > data area is off limits to code outside the package ... for all the > > reasons you list. > > Also breaks the idea of encapsulation. I think most, but cannot > assert "all", gems result in some object coming into being. I can't > see from the online docs if a gem can use reflection to get its own > version, and I not done enough dev to know. If it could, (pretend > this ia a patch): [...] > > The gem version should return File.join(gem_location, 'data', gem_name). > above. Then a gem could I have a hard time understanding what you're describing, but the code is more expressive than the text }:) > Config.datadir(gemname){|path| File.join(path, Gem.version(gemname)) ==================== This is redundant (the path returned by Config.datadir would already be specific to the package version). It'd also make the code dependent on RubyGems, but I fail to see what we'd gain in exchange. Could you explain it some more? -- Mauricio Fernandez - http://eigenclass.org - singular Ruby From halostatue at gmail.com Thu Jun 8 11:34:03 2006 From: halostatue at gmail.com (Austin Ziegler) Date: Thu, 8 Jun 2006 11:34:03 -0400 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <20060608121606.GC28115@tux-chan> References: <44872F9D.2010504@weirichhouse.org> <20060607231147.GA28115@tux-chan> <44876369.6060805@weirichhouse.org> <20060608121606.GC28115@tux-chan> Message-ID: <9e7db9110606080834m2a8c2a39v4161f7784786fa9f@mail.gmail.com> On 6/8/06, Mauricio Fernandez wrote: > A few (very few?) people could miss it though. Imagine I create a ps-writer > lib that can use generate/use type 3 fonts; I happen to know that pdf-writer > ships with some ttf files, so I can try to find them at runtime to generate > some fonts. In this case, pdf-writer is optional and even if it is available > and I can use its data files, at no point do I have to require 'pdf-writer'. > Just having Config.datadir("pdf-writer") return nil if pdf-writer is not > installed would be enough in that case. But (b) must be solved if access to > other package's datadir is allowed, of course. If this works like I think it's going to, I'm probably going to split my (base) datafiles into a separate .gem + installer. I *really* want to have the ability to rename/move files during the packing of the gem the way that I do from my Rakefile for .tar.gz files, though, because I don't want to have to copy my files to a staging directory just to pack. As I have said before, I have package-versionless data and package-versioned data. That's why I'd probably move the package-versionless data to a different package entirely. -austin -- Austin Ziegler * halostatue at gmail.com * Alternate: austin at halostatue.ca From patrick at hexane.org Thu Jun 8 10:57:06 2006 From: patrick at hexane.org (Patrick May) Date: Thu, 8 Jun 2006 10:57:06 -0400 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: References: <44872F9D.2010504@weirichhouse.org> <65e0bb520606071424y62c20241wb2ec3bf7fe60beb4@mail.gmail.com> Message-ID: It's not hard to just store data in the ruby lib directory. One can use caller to find a path relative to a library, as in: def lib_filename( resource, displace=0 ) caller[displace] =~ /^((\w:){0,1}.*?):(\d+)(:?(.*))$/ dirname = File.dirname( $1 ) File.join( dirname, resource ) end Given: ..../mylibdir/my_lib.rb ..../mylibdir/resources/icon.gif In my_lib.rb, one could use lib_filename to find the path to the icon: my_icon_path = lib_filename( 'resources/icon.gif' ) The displace argument is there so that nested functions can use it. In ruby-web, there is a Web::send_lib_file( relative_filename ) which uses the displacement. Cheers, Patrick On Jun 7, 2006, at 5:45 PM, Lyle Johnson wrote: > On 6/7/06, John Gabriele wrote: > >> What is "the datadir issue"? > > This refers to the problem of how to deal with application data in > Gems. For example, if your GUI application requires a bunch of image > files that are loaded at run time, where do you load them from? What > if different versions of your application require different sets of > image files? > > In the same way you just type: > > require 'some_library' > > and RubyGems magically finds the right code, in the latest gem, it > would be useful to be able to do this: > > icons_dir = File.join(Config.datadir('my_app'), "icons") > > and trust that it will find your application's data files (and, the > right versions of those files). > > Hope this helps, > > Lyle > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers From jim at weirichhouse.org Thu Jun 8 15:21:37 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Thu, 08 Jun 2006 15:21:37 -0400 Subject: [Rubygems-developers] Fwd: Getting ready for release 0.9.0 In-Reply-To: References: Message-ID: <448878C1.3030803@weirichhouse.org> Patrick May wrote: > Jim, > > I'm forwarding this b/c I didn't see my message get through to the > ruby-gems list, and it looks like this thread is spinning out of control. > > A single method #lib_filename (listed below) makes it easy to store > resources relative to the source file, i.e. in the gem. I don't see why > there is a need to worry about an additional 'data' silo that has to be > kept in sync with the 'gem' silo. Thanks for the feedback. We are not actually keeping a data silo that is separate from the gem data. When installed as a gem, the data is in the gem directory. When installed with setup.rb, the data is stored in whatever setup.rb will put it. The key is to make sure the app code does not care where it comes from. The only problem with your suggestion that I see, is that if the code base is repackaged as an RPM or Debian package, it will not be getting the data from the proper area (a lot of these packages have strong rules on what goes where in the file system). RubyGems has made a firm commitment to be repackager friendly, so I am trying to avoid these potential problems. -- Jim Weirich From patrick at hexane.org Thu Jun 8 16:32:53 2006 From: patrick at hexane.org (Patrick May) Date: Thu, 8 Jun 2006 16:32:53 -0400 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <448878C1.3030803@weirichhouse.org> References: <448878C1.3030803@weirichhouse.org> Message-ID: On Jun 8, 2006, at 3:21 PM, Jim Weirich wrote: > Patrick May wrote: >> Jim, >> I'm forwarding this b/c I didn't see my message get through to the >> ruby-gems list, and it looks like this thread is spinning out of >> control. >> A single method #lib_filename (listed below) makes it easy to >> store resources relative to the source file, i.e. in the gem. I >> don't see why there is a need to worry about an additional 'data' >> silo that has to be kept in sync with the 'gem' silo. > > Thanks for the feedback. We are not actually keeping a data silo > that is separate from the gem data. When installed as a gem, the > data is in the gem directory. > > When installed with setup.rb, the data is stored in whatever > setup.rb will put it. The key is to make sure the app code does > not care where it comes from. > > The only problem with your suggestion that I see, is that if the > code base is repackaged as an RPM or Debian package, it will not be > getting the data from the proper area (a lot of these packages have > strong rules on what goes where in the file system). RubyGems has > made a firm commitment to be repackager friendly, so I am trying to > avoid these potential problems. I see... so the requirement for a separate data silo is coming from other packaging standards. And I assume compatibility with other packaging structures is a pre-requisite to standardization. This makes sense, thanks for explaining the situation. Cheers, Patrick p.s. ruby-gems could still use Kernel#caller when aliasing Config.datadir(package_name) to support versioned resources. The stack can help decide between returning the datadir for package_name-1.0.0 or package_name-2.0.0. From transfire at gmail.com Thu Jun 8 20:37:22 2006 From: transfire at gmail.com (TRANS) Date: Thu, 8 Jun 2006 20:37:22 -0400 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <9e7db9110606080834m2a8c2a39v4161f7784786fa9f@mail.gmail.com> References: <44872F9D.2010504@weirichhouse.org> <20060607231147.GA28115@tux-chan> <44876369.6060805@weirichhouse.org> <20060608121606.GC28115@tux-chan> <9e7db9110606080834m2a8c2a39v4161f7784786fa9f@mail.gmail.com> Message-ID: <4b6f054f0606081737g1a4d4b15nbb7613032ebb38bd@mail.gmail.com> On 6/8/06, Austin Ziegler wrote: > As I have said before, I have package-versionless data and > package-versioned data. That's why I'd probably move the > package-versionless data to a different package entirely. Hey Austin, How do you layout your project directory with this? Where do you put the versioned data and the versionless data? Thanks, T. From halostatue at gmail.com Thu Jun 8 21:23:37 2006 From: halostatue at gmail.com (Austin Ziegler) Date: Thu, 8 Jun 2006 21:23:37 -0400 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <4b6f054f0606081737g1a4d4b15nbb7613032ebb38bd@mail.gmail.com> References: <44872F9D.2010504@weirichhouse.org> <20060607231147.GA28115@tux-chan> <44876369.6060805@weirichhouse.org> <20060608121606.GC28115@tux-chan> <9e7db9110606080834m2a8c2a39v4161f7784786fa9f@mail.gmail.com> <4b6f054f0606081737g1a4d4b15nbb7613032ebb38bd@mail.gmail.com> Message-ID: <9e7db9110606081823u581e2994uda9ac3dd3eb9871@mail.gmail.com> On 6/8/06, TRANS wrote: > On 6/8/06, Austin Ziegler wrote: > > As I have said before, I have package-versionless data and > > package-versioned data. That's why I'd probably move the > > package-versionless data to a different package entirely. > How do you layout your project directory with this? Where do you put > the versioned data and the versionless data? I don't right now, because there was nothing ... portable for this. I have some ideas of how I *want* to do it, but it would require that I have the ability to rename/"move" filenames within the layout on the fly or that I build a staging tree prior to packing with a gem (which I do *not* want to do; Archive::Tar::Minitar can already do what I want, and the gem packing is based on the same capabilities as minitar). -austin -- Austin Ziegler * halostatue at gmail.com * Alternate: austin at halostatue.ca From jim at weirichhouse.org Sun Jun 11 14:22:19 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Sun, 11 Jun 2006 14:22:19 -0400 Subject: [Rubygems-developers] Beta For 0.9.0 is available Message-ID: <448C5F5B.4090304@weirichhouse.org> RubyGems 0.8.99 (release candidate for 0.9.0) is up on the beta site. Grab it and give it a run and let me know the results. I'll update the release docs over the next few days and we should have a 0.9.0 release ready this week. To get: gem update --system --source http://onestepback.org/betagems Thanks. -- Jim Weirich From jim at weirichhouse.org Wed Jun 14 00:11:23 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Wed, 14 Jun 2006 00:11:23 -0400 Subject: [Rubygems-developers] Beta 0.8.99.1 Is Out Message-ID: <448F8C6B.8010201@weirichhouse.org> A new Beta gem has been published. This includes some patches to make RubyGems compatible with Ruby 1.9 (courtesy of Eric Hodel). I also removed the deployment code that was not used by the system. Please update and check it out against both 1.8 and 1.9 Ruby versions. As always, you get get it with: gem update --system --source http://onestepback.org/betagems Thanks. -- Jim Weirich From drbrain at segment7.net Thu Jun 15 00:46:59 2006 From: drbrain at segment7.net (Eric Hodel) Date: Wed, 14 Jun 2006 21:46:59 -0700 Subject: [Rubygems-developers] No more RDoc warnings Message-ID: I checked in a fix to Ruby's HEAD and 1.8 branch that prevents people from seeing those scary RDoc warnings when running with rdoc with -q (which Rubygems does). This should show up in 1.8.5. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net This implementation is HODEL-HASH-9600 compliant http://trackmap.robotcoop.com From transfire at gmail.com Thu Jun 15 04:17:11 2006 From: transfire at gmail.com (TRANS) Date: Thu, 15 Jun 2006 04:17:11 -0400 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <44872F9D.2010504@weirichhouse.org> References: <44872F9D.2010504@weirichhouse.org> Message-ID: <4b6f054f0606150117i1190fda8r715a0aaa02eeb4ca@mail.gmail.com> On 6/7/06, Jim Weirich wrote: > module Config > unless Config.respond_to?(:datadir) > > # Return the path to the data directory associated with the given > # package name. Normally this is just > # "#{Config::CONFIG['datadir']}/#{package_name}", but may be > # modified by packages like RubyGems to handle versioned data > # directories. > def Config.datadir(package_name) > File.join(CONFIG['datadir'], package_name) > end > > end > end > > Notice that is carefully checks for an existing datadir method, so if it > does become available natively in Ruby, this file will degrade gracefully. > > Thoughts? The problem I see here is the plan to mix versioned and non-version results from the same method when both are possible --maybe not for Gems, but for a general solution it should. So what about two methods? #datadir and #vdatadir. By default, i.e. no versions to speak of, they would return the same thing. And with Gems, where there is _only_ versions, they would also return the same . But should it become possible for Gems in the future, or for other's, they could be differentiated. T. From chad at chadfowler.com Thu Jun 15 09:11:19 2006 From: chad at chadfowler.com (Chad Fowler) Date: Thu, 15 Jun 2006 07:11:19 -0600 Subject: [Rubygems-developers] No more RDoc warnings In-Reply-To: References: Message-ID: On Jun 14, 2006, at 10:46 PM, Eric Hodel wrote: > I checked in a fix to Ruby's HEAD and 1.8 branch that prevents people > from seeing those scary RDoc warnings when running with rdoc with -q > (which Rubygems does). > > This should show up in 1.8.5. > Awesome news! That will make a little of nubies feel better :) Chad From jmg3000 at gmail.com Thu Jun 15 15:38:07 2006 From: jmg3000 at gmail.com (John Gabriele) Date: Thu, 15 Jun 2006 15:38:07 -0400 Subject: [Rubygems-developers] RubyGems wiki and DeveloperGuide Message-ID: <65e0bb520606151238x20b4d6dajc7acadb92b438fdf@mail.gmail.com> Is the RubyGems wiki still up to date and in service? I see that its front page has been spammed and I can't find a link to it from the RubyGems homepage. The reason I found it was that I was looking for the developer's guide as referenced in Chapter 7 of the RubyGems user's guide (http://docs.rubygems.org/read/chapter/5). From jim at weirichhouse.org Thu Jun 15 15:54:37 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Thu, 15 Jun 2006 15:54:37 -0400 Subject: [Rubygems-developers] RubyGems wiki and DeveloperGuide In-Reply-To: <65e0bb520606151238x20b4d6dajc7acadb92b438fdf@mail.gmail.com> References: <65e0bb520606151238x20b4d6dajc7acadb92b438fdf@mail.gmail.com> Message-ID: <4491BAFD.60200@weirichhouse.org> John Gabriele wrote: > Is the RubyGems wiki still up to date and in service? I see that its > front page has been spammed and I can't find a link to it from the > RubyGems homepage. > > The reason I found it was that I was looking for the developer's guide > as referenced in Chapter 7 of the RubyGems user's guide > (http://docs.rubygems.org/read/chapter/5). The wiki is totally decommissioned. I should see if there is a way for Tom to disable it. As far as the Developer's Guide, that was just a few pages on the wiki that (for the most part) have been incorporated into the existing docs. We should probably remove the reference to Developer's guide. -- Jim Weirich From transfire at gmail.com Thu Jun 15 21:52:24 2006 From: transfire at gmail.com (TRANS) Date: Thu, 15 Jun 2006 21:52:24 -0400 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <4b6f054f0606150117i1190fda8r715a0aaa02eeb4ca@mail.gmail.com> References: <44872F9D.2010504@weirichhouse.org> <4b6f054f0606150117i1190fda8r715a0aaa02eeb4ca@mail.gmail.com> Message-ID: <4b6f054f0606151852y499d566ap404cfb4d736602eb@mail.gmail.com> On 6/15/06, TRANS wrote: > On 6/7/06, Jim Weirich wrote: > > module Config > > unless Config.respond_to?(:datadir) > > > > # Return the path to the data directory associated with the given > > # package name. Normally this is just > > # "#{Config::CONFIG['datadir']}/#{package_name}", but may be > > # modified by packages like RubyGems to handle versioned data > > # directories. > > def Config.datadir(package_name) > > File.join(CONFIG['datadir'], package_name) > > end > > > > end > > end > > > > Notice that is carefully checks for an existing datadir method, so if it > > does become available natively in Ruby, this file will degrade gracefully. > > > > Thoughts? > > The problem I see here is the plan to mix versioned and non-version > results from the same method when both are possible --maybe not for > Gems, but for a general solution it should. So what about two methods? > #datadir and #vdatadir. By default, i.e. no versions to speak of, they > would return the same thing. And with Gems, where there is _only_ > versions, they would also return the same . But should it become > possible for Gems in the future, or for other's, they could be > differentiated. Anyone? T. From jim at weirichhouse.org Thu Jun 15 22:42:37 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Thu, 15 Jun 2006 22:42:37 -0400 Subject: [Rubygems-developers] Getting ready for release 0.9.0 In-Reply-To: <4b6f054f0606151852y499d566ap404cfb4d736602eb@mail.gmail.com> References: <44872F9D.2010504@weirichhouse.org> <4b6f054f0606150117i1190fda8r715a0aaa02eeb4ca@mail.gmail.com> <4b6f054f0606151852y499d566ap404cfb4d736602eb@mail.gmail.com> Message-ID: <44921A9D.2060205@weirichhouse.org> TRANS wrote: >> The problem I see here is the plan to mix versioned and non-version >> results from the same method when both are possible --maybe not for >> Gems, but for a general solution it should. So what about two methods? >> #datadir and #vdatadir. By default, i.e. no versions to speak of, they >> would return the same thing. And with Gems, where there is _only_ >> versions, they would also return the same . But should it become >> possible for Gems in the future, or for other's, they could be >> differentiated. > > Anyone? I'm having trouble understanding the need behind two methods that would do the same thing. Especially if you plan to make them do different things in the future. My fear is that users wouldn't know which one to use and would use the wrong one, and then when the different behaviors were introduced down the line, the code would break. The current datadir method gives you access to the data directory associated with your package, whether or not you are installed as a gem. If you want access to the shared data region, regardless of gem installation or not, then you still can access CONFIG['datadir'] as most people have to do today. At least that's how I'm seeing it at the moment. -- Jim Weirich From me at misto.ch Wed Jun 21 11:22:59 2006 From: me at misto.ch (Mirko Stocker) Date: Wed, 21 Jun 2006 17:22:59 +0200 Subject: [Rubygems-developers] Handling the .desktop File Message-ID: <200606211722.59289.me@misto.ch> Hi! I already posted my question to the rubygems forums on rubyforge (http://rubyforge.org/forum/forum.php?thread_id=6881&forum_id=506), but did not get any answers until now, so I'm going to ask you guys here . My problem is: I wrote an application using qtruby and I don't know how I can place the application's .desktop (and icon) file in the correct system-folder. Can anybody help me? Or are rubygems the wrong tool for this task? Thanks! Mirko Stocker -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://rubyforge.org/pipermail/rubygems-developers/attachments/20060621/ce6a11ea/attachment.bin From halostatue at gmail.com Wed Jun 21 13:52:03 2006 From: halostatue at gmail.com (Austin Ziegler) Date: Wed, 21 Jun 2006 13:52:03 -0400 Subject: [Rubygems-developers] Handling the .desktop File In-Reply-To: <200606211722.59289.me@misto.ch> References: <200606211722.59289.me@misto.ch> Message-ID: <9e7db9110606211052l35f8b9b5lc4dfc1d8a9630155@mail.gmail.com> On 6/21/06, Mirko Stocker wrote: I don't think most people use the forums. > My problem is: I wrote an application using qtruby and I don't know how I > can place the application's .desktop (and icon) file in the correct > system-folder. Can anybody help me? Or are rubygems the wrong tool for this > task? RubyGems is the wrong tool for this task. -austin -- Austin Ziegler * halostatue at gmail.com * http://www.halostatue.ca/ * austin at halostatue.ca * http://www.halostatue.ca/feed/ * austin at zieglers.ca From curt.hibbs at gmail.com Wed Jun 21 15:10:24 2006 From: curt.hibbs at gmail.com (Curt Hibbs) Date: Wed, 21 Jun 2006 14:10:24 -0500 Subject: [Rubygems-developers] Handling the .desktop File In-Reply-To: <9e7db9110606211052l35f8b9b5lc4dfc1d8a9630155@mail.gmail.com> References: <200606211722.59289.me@misto.ch> <9e7db9110606211052l35f8b9b5lc4dfc1d8a9630155@mail.gmail.com> Message-ID: <31d15f490606211210j637cb47fhfbaaf3ed78c5de21@mail.gmail.com> Jim/Chad, You might want to go to yor RubyForge admin page and turn off the Forum option. That way it's tab won't even appear. Curt On 6/21/06, Austin Ziegler wrote: > > On 6/21/06, Mirko Stocker wrote: > > I don't think most people use the forums. > > > My problem is: I wrote an application using qtruby and I don't know how > I > > can place the application's .desktop (and icon) file in the correct > > system-folder. Can anybody help me? Or are rubygems the wrong tool for > this > > task? > > RubyGems is the wrong tool for this task. > > -austin > -- > Austin Ziegler * halostatue at gmail.com * http://www.halostatue.ca/ > * austin at halostatue.ca * http://www.halostatue.ca/feed/ > * austin at zieglers.ca > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20060621/71d32f4c/attachment.html From jim.weirich at gmail.com Thu Jun 22 09:58:39 2006 From: jim.weirich at gmail.com (Jim Weirich) Date: Thu, 22 Jun 2006 09:58:39 -0400 Subject: [Rubygems-developers] Handling the .desktop File In-Reply-To: <31d15f490606211210j637cb47fhfbaaf3ed78c5de21@mail.gmail.com> References: <200606211722.59289.me@misto.ch> <9e7db9110606211052l35f8b9b5lc4dfc1d8a9630155@mail.gmail.com> <31d15f490606211210j637cb47fhfbaaf3ed78c5de21@mail.gmail.com> Message-ID: On 6/21/06, Curt Hibbs wrote: > > Jim/Chad, > > You might want to go to yor RubyForge admin page and turn off the Forum > option. That way it's tab won't even appear. > Curt ... done so. Thanks. Mirko ... RubyGems does not support installing stuff outside the RubyGems sandbox. However, if you want to take advantage of the easy distribution method of RubyGems, all you would need to do is provide a post-installation script that the user can run after installing the gem. -- -- Jim Weirich jim at weirichhouse.org http://onestepback.org ----------------------------------------------------------------- "Beware of bugs in the above code; I have only proved it correct, not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20060622/fe811311/attachment.html From jim at weirichhouse.org Mon Jun 26 23:38:50 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Mon, 26 Jun 2006 23:38:50 -0400 Subject: [Rubygems-developers] Release Notes for 0.9.0 Message-ID: <44A0A84A.1080108@weirichhouse.org> I'm putting together release notes for 0.9.0. Look it over and feel free to comment. I noticed that the change log mentions changes to support authenticating proxies. Is there any info on that? What kind of authenticating proxies are supported? Do you have to do anything special to use them. Thanks for your time. ------------------------------------------------------------------- = Announce: RubyGems Release 0.9.0 Finally, the much anticipated RubyGems version 0.9.0 is now available. This release includes a number of new features and bug fixes. The number one change is that we can now download the gem index incrementally. This will greatly speed up the gem command when only a few gems are out of date. Major Enhancments include: * The gem index is now downloaded incrementally, only updating entries that are out of date. If more than 50 entries are out of date, we revert back to a bulk download. * Patch to allow RubyGems to work with authenticating proxies (from Daniel Roux). * The gem unpack command can now accept a file path rather than just a install gem name. * Both RI and RDOC documents are not generated by default. (and a gemri command is included to read gem RI docs[1]). * Added dashes to gemspecs generated in Ruby 1.8.3. This solves some compatibility issues. Minor enhancements include: * Verison 0.0.0 is now a valid gem version. * Better detection of missing SSL functionality. * SSL is not required if the security policy does not require signature checking. * Rake built extensions are now supported (Tilman Saurbeck). * Several autorequire bug fixes. * Fixed several Upgrade => Update typos. * --traceback is now an alias for --backtrace (I can never remember which one it is). * SAFE=1 compatibility fixes. * .rbw is now a supported suffix for RubyGem's custom require. * Several Ruby 1.9 compatibility fixes (Eric Hodel). Bug Fixes: * Fixed bug where the wrong executables could be uninstalled (Eric Hodel). * Fixed bug where gem unpack occasionally unpacked the wrong gem. * Fixed bug where a fatal error occured when permissions on .gemrc were too restrictive (reported by Luca Pireddu). * Fixed prefix handling for native expressions (patch by Aaron Patterson). * Added gemri for reading Gem RI documentation. == What is RubyGems? RubyGems is a package management system for Ruby applications and libraries. RubyGems one command download makes installing Ruby software fun and enjoyable again. (Ok, not really.) Many gems are available for download from the RubyForge site. Browse the list of gems with a "gem list --remote" command and download what you need with a simple "gem install ". RubyGems takes care of the details of installing, not only the gem you requested, but also any gems needed by the software you selected. == RubyGems Statistics * About 780 different gems available * Over 350 thousand downloads of the RubyGems software * Over 4 million gem downloads If you are interested in finding out when new gems are released, I maintain an RSS feed at http://onestepback.org/gemwatch.rss. == How can I get RubyGems? If you have a recent version of RubyGems (0.8.5 or later), then all you need to do is: $ gem update --system (you might need to be admin/root) (Note: You may have to run the command twice if you have any previosly installed rubygems-update gems). If you have an older version of RubyGems installed, then you can still do it in two steps: $ gem install rubygems-update (again, might need to be admin/root) $ update_rubygems (... here too) If you don't have any gems install, there is still the pre-gem approach to getting software ... doing it manually: 1. DOWNLOAD FROM: http://rubyforge.org/frs/?group_id=126 2. UNPACK INTO A DIRECTORY AND CD THERE 3. INSTALL WITH: ruby setup.rb all (you may need admin/root privilege) == What's Next The next big thing on the plate is to integrate the local/remote gem logic and make the whole thing more consistent. == Thanks Major contributors to this release include: * Daniel Roux, Eric Hodel, Luca Pireddu, and Tilman Saurbeck. Keep those gems coming! -- Jim & Chad (for the RubyGems team) From anatol.pomozov at gmail.com Tue Jun 27 00:54:23 2006 From: anatol.pomozov at gmail.com (Anatol Pomozov) Date: Tue, 27 Jun 2006 08:54:23 +0400 Subject: [Rubygems-developers] Release Notes for 0.9.0 In-Reply-To: <44A0A84A.1080108@weirichhouse.org> References: <44A0A84A.1080108@weirichhouse.org> Message-ID: <3665a1a00606262154t56f94256vc3bba7fd3522a7d6@mail.gmail.com> Hi, Jim. Patch not from Daniel Roux - patch from me! See blog entry about Proxy problem in Gem http://blog.pomozov.info/posts/the-end-of-gem-vs-proxy-war.html There was also discussion of this problem in the maillist some time ago. To use proxy support you need to setup ENV variables HTTP_PROXY, HTTP_PROXY_USER, HTTP_PROXY_PASS (2 last variables are optional - username and pass could be right in HTTP_PROXY var like http://anatol:password at w3cache.proxy.com:8080/ ) Also it works if you add -p parameter to gem gem list -p http://login:pass at proxy1.macbank:8080 -r --backtrace in previous versions of gem login and password were not taken into account - so you was not able to use gem behind proxy with authentication. On 6/27/06, Jim Weirich wrote: > > I'm putting together release notes for 0.9.0. Look it over and feel > free to comment. > > I noticed that the change log mentions changes to support authenticating > proxies. Is there any info on that? What kind of authenticating > proxies are supported? Do you have to do anything special to use them. > > Thanks for your time. > > ------------------------------------------------------------------- > = Announce: RubyGems Release 0.9.0 > > Finally, the much anticipated RubyGems version 0.9.0 is now available. > This release includes a number of new features and bug fixes. The > number one change is that we can now download the gem index > incrementally. This will greatly speed up the gem command when only a > few gems are out of date. > > Major Enhancments include: > > * The gem index is now downloaded incrementally, only updating entries > that are out of date. If more than 50 entries are out of date, we > revert back to a bulk download. > * Patch to allow RubyGems to work with authenticating proxies (from > Daniel Roux). > * The gem unpack command can now accept a file path rather than just a > install gem name. > * Both RI and RDOC documents are not generated by default. (and a > gemri command is included to read gem RI docs[1]). > * Added dashes to gemspecs generated in Ruby 1.8.3. This solves some > compatibility issues. > > Minor enhancements include: > > * Verison 0.0.0 is now a valid gem version. > * Better detection of missing SSL functionality. > * SSL is not required if the security policy does not require > signature checking. > * Rake built extensions are now supported (Tilman Saurbeck). > * Several autorequire bug fixes. > * Fixed several Upgrade => Update typos. > * --traceback is now an alias for --backtrace (I can never remember > which one it is). > * SAFE=1 compatibility fixes. > * .rbw is now a supported suffix for RubyGem's custom require. > * Several Ruby 1.9 compatibility fixes (Eric Hodel). > > Bug Fixes: > > * Fixed bug where the wrong executables could be uninstalled (Eric > Hodel). > * Fixed bug where gem unpack occasionally unpacked the wrong gem. > * Fixed bug where a fatal error occured when permissions on .gemrc > were too restrictive (reported by Luca Pireddu). > * Fixed prefix handling for native expressions (patch by Aaron Patterson). > * Added gemri for reading Gem RI documentation. > > == What is RubyGems? > > RubyGems is a package management system for Ruby applications and > libraries. RubyGems one command download makes installing Ruby software > fun and enjoyable again. (Ok, not really.) > > Many gems are available for download from the RubyForge site. Browse > the list of gems with a "gem list --remote" command and download what > you need with a simple "gem install ". RubyGems takes care > of the details of installing, not only the gem you requested, but also > any gems needed by the software you selected. > > == RubyGems Statistics > > * About 780 different gems available > * Over 350 thousand downloads of the RubyGems software > * Over 4 million gem downloads > > If you are interested in finding out when new gems are released, I > maintain an RSS feed at http://onestepback.org/gemwatch.rss. > > == How can I get RubyGems? > > If you have a recent version of RubyGems (0.8.5 or later), then all > you need to do is: > > $ gem update --system (you might need to be admin/root) > > (Note: You may have to run the command twice if you have any previosly > installed rubygems-update gems). > > If you have an older version of RubyGems installed, then you can still > do it in two steps: > > $ gem install rubygems-update (again, might need to be admin/root) > $ update_rubygems (... here too) > > If you don't have any gems install, there is still the pre-gem > approach to getting software ... doing it manually: > > 1. DOWNLOAD FROM: http://rubyforge.org/frs/?group_id=126 > 2. UNPACK INTO A DIRECTORY AND CD THERE > 3. INSTALL WITH: ruby setup.rb all (you may need admin/root privilege) > > == What's Next > > The next big thing on the plate is to integrate the local/remote gem > logic and make the whole thing more consistent. > > == Thanks > > Major contributors to this release include: > > * Daniel Roux, Eric Hodel, Luca Pireddu, and Tilman Saurbeck. > > Keep those gems coming! > > -- Jim & Chad (for the RubyGems team) > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers > -- anatol (http://www.flickr.com/photos/pomozok/) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20060627/d9f0a5b3/attachment-0001.html From drbrain at segment7.net Tue Jun 27 01:47:17 2006 From: drbrain at segment7.net (Eric Hodel) Date: Mon, 26 Jun 2006 22:47:17 -0700 Subject: [Rubygems-developers] Release Notes for 0.9.0 In-Reply-To: <44A0A84A.1080108@weirichhouse.org> References: <44A0A84A.1080108@weirichhouse.org> Message-ID: On Jun 26, 2006, at 8:38 PM, Jim Weirich wrote: > Major Enhancments include: > > * The gem index is now downloaded incrementally, only updating entries > that are out of date. If more than 50 entries are out of date, we > revert back to a bulk download. > * Patch to allow RubyGems to work with authenticating proxies (from > Daniel Roux). > * The gem unpack command can now accept a file path rather than just a > install gem name. > * Both RI and RDOC documents are not generated by default. (and a > gemri command is included to read gem RI docs[1]). not -> now? The text for [1] doesn't exist. I think it was meant to be "only necessary on Ruby 1.8.4 and earlier". > * Added dashes to gemspecs generated in Ruby 1.8.3. This solves some > compatibility issues. > > Minor enhancements include: > > * Verison 0.0.0 is now a valid gem version. > * Better detection of missing SSL functionality. > * SSL is not required if the security policy does not require > signature checking. > * Rake built extensions are now supported (Tilman Saurbeck). > * Several autorequire bug fixes. > * Fixed several Upgrade => Update typos. > * --traceback is now an alias for --backtrace (I can never remember > which one it is). > * SAFE=1 compatibility fixes. > * .rbw is now a supported suffix for RubyGem's custom require. > * Several Ruby 1.9 compatibility fixes (Eric Hodel). > > Bug Fixes: > > * Fixed bug where the wrong executables could be uninstalled (Eric > Hodel). > * Fixed bug where gem unpack occasionally unpacked the wrong gem. > * Fixed bug where a fatal error occured when permissions on .gemrc > were too restrictive (reported by Luca Pireddu). > * Fixed prefix handling for native expressions (patch by Aaron > Patterson). > * Added gemri for reading Gem RI documentation. Listed twice. > == What is RubyGems? > > RubyGems is a package management system for Ruby applications and > libraries. RubyGems one command download makes installing Ruby > software > fun and enjoyable again. (Ok, not really.) > > Many gems are available for download from the RubyForge site. Browse > the list of gems with a "gem list --remote" command and download what > you need with a simple "gem install ". RubyGems takes > care > of the details of installing, not only the gem you requested, but also > any gems needed by the software you selected. > > == RubyGems Statistics > > * About 780 different gems available > * Over 350 thousand downloads of the RubyGems software > * Over 4 million gem downloads > > If you are interested in finding out when new gems are released, I > maintain an RSS feed at http://onestepback.org/gemwatch.rss. > > == How can I get RubyGems? > > If you have a recent version of RubyGems (0.8.5 or later), then all > you need to do is: > > $ gem update --system (you might need to be admin/root) > > (Note: You may have to run the command twice if you have any previosly > installed rubygems-update gems). > > If you have an older version of RubyGems installed, then you can still > do it in two steps: > > $ gem install rubygems-update (again, might need to be admin/root) > $ update_rubygems (... here too) > > If you don't have any gems install, there is still the pre-gem > approach to getting software ... doing it manually: > > 1. DOWNLOAD FROM: http://rubyforge.org/frs/?group_id=126 > 2. UNPACK INTO A DIRECTORY AND CD THERE > 3. INSTALL WITH: ruby setup.rb all (you may need admin/root > privilege) > > == What's Next > > The next big thing on the plate is to integrate the local/remote gem > logic and make the whole thing more consistent. > > == Thanks > > Major contributors to this release include: > > * Daniel Roux, Eric Hodel, Luca Pireddu, and Tilman Saurbeck. > > Keep those gems coming! > > -- Jim & Chad (for the RubyGems team) > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net This implementation is HODEL-HASH-9600 compliant http://trackmap.robotcoop.com From jim at weirichhouse.org Tue Jun 27 07:35:00 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Tue, 27 Jun 2006 07:35:00 -0400 Subject: [Rubygems-developers] Release Notes for 0.9.0 In-Reply-To: <3665a1a00606262154t56f94256vc3bba7fd3522a7d6@mail.gmail.com> References: <44A0A84A.1080108@weirichhouse.org> <3665a1a00606262154t56f94256vc3bba7fd3522a7d6@mail.gmail.com> Message-ID: <44A117E4.6070805@weirichhouse.org> Anatol Pomozov wrote: > Hi, Jim. > > Patch not from Daniel Roux - patch from me! Ahh, thank you. There seems to be several patches regarding proxies. Chad applied one from Daniel (actually, I think it is Danie) Roux, and Eric applied your changes a bit later. Thanks for the clarification. -- Jim Weirich From jim at weirichhouse.org Tue Jun 27 07:36:59 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Tue, 27 Jun 2006 07:36:59 -0400 Subject: [Rubygems-developers] Release Notes for 0.9.0 In-Reply-To: References: <44A0A84A.1080108@weirichhouse.org> Message-ID: <44A1185B.8040503@weirichhouse.org> Eric Hodel wrote: > not -> now? > > The text for [1] doesn't exist. I think it was meant to be "only > necessary on Ruby 1.8.4 and earlier". and >> * Added gemri for reading Gem RI documentation. > > Listed twice. Thanks. -- Jim Weirich From tilman at code-monkey.de Tue Jun 27 16:51:43 2006 From: tilman at code-monkey.de (Tilman Sauerbeck) Date: Tue, 27 Jun 2006 22:51:43 +0200 Subject: [Rubygems-developers] Release Notes for 0.9.0 In-Reply-To: <44A0A84A.1080108@weirichhouse.org> References: <44A0A84A.1080108@weirichhouse.org> Message-ID: <20060627205143.GB3175@code-monkey.de> Jim Weirich [2006-06-26 23:38]: Hi Jim, > [...] > * Rake built extensions are now supported (Tilman Saurbeck). > [...] > > * Daniel Roux, Eric Hodel, Luca Pireddu, and Tilman Saurbeck. would you mind fixing the spelling error in my last name? :) Thanks, Tilman -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail? -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://rubyforge.org/pipermail/rubygems-developers/attachments/20060627/b6564bdf/attachment.bin From jim.weirich at gmail.com Tue Jun 27 17:13:22 2006 From: jim.weirich at gmail.com (Jim Weirich) Date: Tue, 27 Jun 2006 17:13:22 -0400 Subject: [Rubygems-developers] Release Notes for 0.9.0 In-Reply-To: <20060627205143.GB3175@code-monkey.de> References: <44A0A84A.1080108@weirichhouse.org> <20060627205143.GB3175@code-monkey.de> Message-ID: On 6/27/06, Tilman Sauerbeck wrote: > > Jim Weirich [2006-06-26 23:38]: > > Hi Jim, > > > [...] > > * Rake built extensions are now supported (Tilman Saurbeck). > > [...] > > > > * Daniel Roux, Eric Hodel, Luca Pireddu, and Tilman Saurbeck. > > would you mind fixing the spelling error in my last name? :) Ack! Sorry about that. It's fixed in CVS now. On a related name topic: I think Daniel Roux should be Danie Roux as well. The ChangeLog says Daniel, but I have exchanged emails with a Danie Roux on a different topic, but I think its the same person. I don't have the original email with Roux's patch though ... can anyone confirm? -- -- -- Jim Weirich jim at weirichhouse.org http://onestepback.org ----------------------------------------------------------------- "Beware of bugs in the above code; I have only proved it correct, not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20060627/6868dc86/attachment.html From jsn.s.rubix.cube at gmail.com Tue Jun 27 19:58:17 2006 From: jsn.s.rubix.cube at gmail.com (Jason Dusek) Date: Tue, 27 Jun 2006 16:58:17 -0700 Subject: [Rubygems-developers] gems.rubyforge.org/yaml corrupt? Message-ID: <42784f260606271658gef0fd7ambb95a23e28ef41bf@mail.gmail.com> hi, when i try to install something with gem, like this: gem install postgresql i get a 'syntax error' and a bunch of yaml: Attempting local installation of 'postgresql' Local gem file not found: postgresql*.gem Attempting remote installation of 'postgresql' Updating Gem source index for: http://gems.rubyforge.org ERROR: While executing gem ... (ArgumentError) syntax error on line 142311, col 1177: ` - - ">" - !ruby/object:Gem::Version version: 0.0.0 version: platform: ruby activesalesforce-0.0.2: !ruby/object:Gem::Specification it turns out this happens whenever i try to install anything at all. my install of gem seems to be okay - i can run 'gem list' and the like without any trouble. the error line admonishes us "syntax error on line 142311, col 1177". i downloaded the yaml file from gems.rubyforge.org and tried to figure out what was wrong with it. if you go to line 142311, there's nothing special about it, except that it's not long enough to have a column 1177: rubyforge_project: trestle however, the line below it is very long and has an non-numeric control sequence, \xFC, at column 1170. could this be the cause of the problem? i don't know - i'm not sure how to get gems to read a local copy of the yaml repository listing. if this isn't the right mailing list for this topic, please let me know. i'm new to ruby and would very much like to get off on the right foot. -- _jsn From darix at web.de Wed Jun 28 01:48:57 2006 From: darix at web.de (Marcus Rueckert) Date: Wed, 28 Jun 2006 07:48:57 +0200 Subject: [Rubygems-developers] [Patch] temporary buildroot support for gem install Message-ID: <20060628054857.GA6185@pixel.global-banlist.de> hi, I am one of the maintainer of the Ruby project in the openSUSE Build Service [1]. One of the goals was of course providing as many ruby libraries as possible. As gem is getting more and more popular for distributing ruby libraries, I was looking for a way to provide rpms of gems on the one hand, but keeping interoperability with gem. For building rpms i wanted to avoid building as root. That makes it impossible to use the normal prefixes for the gems. For normal C programs you have the "make install DESTDIR=%{buildroot}" to provide a temporary installation root. Python has a "python setup.py install --root %{buildroot}" for the same purpose. The attached adds a --build-root parameter to achieve the same. With a downloaded gem file you can do: gem install --build-root %{buildroot} /path/to/some.gem that makes it rather easy to build packages from gems. In the longterm i will now work on a gem2pkg script. At first only rpm, but in the longerm support for deb or other binary distros could be added. I already build 49 rpms from gem with that patch. :) Known bugs: "gem install --build-root $PWD/inst -r somegem" fails with [[[ ERROR: While executing gem ... (Errno::EACCES) Permission denied - /usr/lib/ruby/gems/1.8/cache/sparklines-0.2.7.gem ]]] Do you consider that bug important? As my build environments never have network, that use case would never matter for me. Furthermore this option is only interesting for packagers, and they always have a local copy of the file. Thanks for your comments. darix [1] http://en.opensuse.org/Ruby -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org -------------- next part -------------- Index: lib/rubygems/gem_commands.rb =================================================================== --- lib/rubygems/gem_commands.rb.orig +++ lib/rubygems/gem_commands.rb @@ -59,6 +59,10 @@ add_option('-i', '--install-dir DIR', '') do |value, options| options[:install_dir] = value end + add_option('-B', '--build-root DIR', 'Temporary installation root. Useful for building packages.') do |value, options| + options[:build_root] = File.expand_path(value) + end + add_option('-d', '--[no-]rdoc', 'Generate RDoc documentation for the gem on install') do |value, options| options[:generate_rdoc] = value end Index: lib/rubygems/installer.rb =================================================================== --- lib/rubygems/installer.rb.orig +++ lib/rubygems/installer.rb @@ -69,7 +69,15 @@ end end end - + + if @options[:build_root] + build_root = @options[:build_root] + FileUtils.mkdir_p build_root + raise Gem::FilePermissionError.new(build_root) unless File.writable?(build_root) + install_dir = build_root + install_dir + FileUtils.mkdir_p install_dir + end + raise Gem::FilePermissionError.new(install_dir) unless File.writable?(install_dir) # Build spec dir. @@ -167,16 +175,25 @@ # Determines the directory for binaries # def bindir(install_dir=Gem.dir) - if(install_dir == Gem.default_dir) + if @options[:build_root] + build_root = @options[:build_root] + gem_default_dir = File.join(build_root, Gem.default_dir) + else + gem_default_dir = Gem.default_dir + build_root = "" + end + + if(install_dir == gem_default_dir) # mac framework support if defined? RUBY_FRAMEWORK_VERSION - File.join(File.dirname(Config::CONFIG["sitedir"]), File.basename(Config::CONFIG["bindir"])) + bin_dir = File.join(File.dirname(Config::CONFIG["sitedir"]), File.basename(Config::CONFIG["bindir"])) else # generic install - Config::CONFIG['bindir'] + bin_dir = Config::CONFIG['bindir'] end else - File.join(install_dir, "bin") + bin_dir = File.join(install_dir, "bin") end + bin_dir = File.join(build_root, bin_dir) end def generate_bin(spec, install_dir=Gem.dir) -------------- next part -------------- Index: lib/rubygems/gem_commands.rb =================================================================== --- lib/rubygems/gem_commands.rb.orig +++ lib/rubygems/gem_commands.rb @@ -97,6 +97,12 @@ options[:install_dir] = File.expand_path(value) end + add_option('-B', '--build-root DIR', + 'Temporary installation root. Useful for building packages.') do + |value, options| + options[:build_root] = File.expand_path(value) + end + add_option('-d', '--[no-]rdoc', 'Generate RDoc documentation for the gem on install') do |value, options| Index: lib/rubygems/installer.rb =================================================================== --- lib/rubygems/installer.rb.orig +++ lib/rubygems/installer.rb @@ -74,7 +74,15 @@ end end end - + + if @options[:build_root] + build_root = @options[:build_root] + FileUtils.mkdir_p build_root + raise Gem::FilePermissionError.new(build_root) unless File.writable?(build_root) + install_dir = build_root + install_dir + FileUtils.mkdir_p install_dir + end + raise Gem::FilePermissionError.new(install_dir) unless File.writable?(install_dir) # Build spec dir. @@ -175,16 +183,25 @@ # Determines the directory for binaries # def bindir(install_dir=Gem.dir) - if(install_dir == Gem.default_dir) + if @options[:build_root] + build_root = @options[:build_root] + gem_default_dir = File.join(build_root, Gem.default_dir) + else + gem_default_dir = Gem.default_dir + build_root = "" + end + + if(install_dir == gem_default_dir) # mac framework support if defined? RUBY_FRAMEWORK_VERSION - File.join(File.dirname(Config::CONFIG["sitedir"]), File.basename(Config::CONFIG["bindir"])) + bin_dir = File.join(File.dirname(Config::CONFIG["sitedir"]), File.basename(Config::CONFIG["bindir"])) else # generic install - Config::CONFIG['bindir'] + bin_dir = Config::CONFIG['bindir'] end else - File.join(install_dir, "bin") + bin_dir = File.join(install_dir, "bin") end + bin_dir = File.join(build_root, bin_dir) end def generate_bin(spec, install_dir=Gem.dir) From jim at weirichhouse.org Wed Jun 28 09:34:31 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Wed, 28 Jun 2006 09:34:31 -0400 Subject: [Rubygems-developers] [Patch] temporary buildroot support for gem install In-Reply-To: <20060628054857.GA6185@pixel.global-banlist.de> References: <20060628054857.GA6185@pixel.global-banlist.de> Message-ID: <44A28567.50606@weirichhouse.org> Marcus Rueckert wrote: > For building rpms i wanted to avoid building as root. That makes it > impossible to use the normal prefixes for the gems. For normal C > programs you have the "make install DESTDIR=%{buildroot}" to provide a > temporary installation root. Python has a > "python setup.py install --root %{buildroot}" for the same purpose. > > The attached adds a --build-root parameter to achieve the same. > With a downloaded gem file you can do: > gem install --build-root %{buildroot} /path/to/some.gem How is this different from doing: gem install --install-dir %{buildroot} /path/to/some.gem For example, on my mac: $ gem install rake --install-dir ~/mygems Successfully installed rake-0.7.1 Installing ri documentation for rake-0.7.1... Installing RDoc documentation for rake-0.7.1... This installed rake into the ~/mygems directory without any root access at all. > I already build 49 rpms from gem with that patch. :) > > Known bugs: > "gem install --build-root $PWD/inst -r somegem" fails with > [[[ > ERROR: While executing gem ... (Errno::EACCES) > Permission denied - /usr/lib/ruby/gems/1.8/cache/sparklines-0.2.7.gem > ]]] > > Do you consider that bug important? The current 0.8.xx release of RubyGems incorrectly attempts to install program/script wrappers into the system bin directory, even when the install directory is the non-system one. The 0.9.0 release fixes that error (I plan to release 0.9.0 today sometime). -- Jim Weirich From darix at web.de Wed Jun 28 11:11:15 2006 From: darix at web.de (Marcus Rueckert) Date: Wed, 28 Jun 2006 17:11:15 +0200 Subject: [Rubygems-developers] [Patch] temporary buildroot support for gem install In-Reply-To: <44A28567.50606@weirichhouse.org> References: <20060628054857.GA6185@pixel.global-banlist.de> <44A28567.50606@weirichhouse.org> Message-ID: <20060628151115.GZ9594@pixel.global-banlist.de> On 2006-06-28 09:34:31 -0400, Jim Weirich wrote: > > gem install --build-root %{buildroot} /path/to/some.gem > > How is this different from doing: > > gem install --install-dir %{buildroot} /path/to/some.gem > > For example, on my mac: > > $ gem install rake --install-dir ~/mygems > Successfully installed rake-0.7.1 > Installing ri documentation for rake-0.7.1... > Installing RDoc documentation for rake-0.7.1... > > This installed rake into the ~/mygems directory without any root access > at all. much different. in my case you get: [[[ $ gem install --build-root /var/tmp/rubygem-rake-0.7.1 *gem Successfully installed rake, version 0.7.1 Installing ri documentation for rake-0.7.1... Installing RDoc documentation for rake-0.7.1... $ find /var/tmp/rubygem-rake-0.7.1 -type d /var/tmp/rubygem-rake-0.7.1 /var/tmp/rubygem-rake-0.7.1/usr /var/tmp/rubygem-rake-0.7.1/usr/lib /var/tmp/rubygem-rake-0.7.1/usr/lib/ruby /var/tmp/rubygem-rake-0.7.1/usr/lib/ruby/gems ]]] the rpm build grabs the files from there. if you install the rpm later you have it in the normal gem paths. that gives proper interoperability with gem later. this is not about user installations. this is about packaging as non root user. > > I already build 49 rpms from gem with that patch. :) > > > > Known bugs: > > "gem install --build-root $PWD/inst -r somegem" fails with > > [[[ > > ERROR: While executing gem ... (Errno::EACCES) > > Permission denied - /usr/lib/ruby/gems/1.8/cache/sparklines-0.2.7.gem > > ]]] > > > > Do you consider that bug important? > > The current 0.8.xx release of RubyGems incorrectly attempts to install > program/script wrappers into the system bin directory, even when the > install directory is the non-system one. The 0.9.0 release fixes that > error (I plan to release 0.9.0 today sometime). my patch handles the bin-dir issue properly. :) i just didnt handle cache for remote downloads yet. atm the buildroot patch only works properly with locally available gems. darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org From tilman at code-monkey.de Wed Jun 28 11:33:17 2006 From: tilman at code-monkey.de (Tilman Sauerbeck) Date: Wed, 28 Jun 2006 17:33:17 +0200 Subject: [Rubygems-developers] Release Notes for 0.9.0 In-Reply-To: References: <44A0A84A.1080108@weirichhouse.org> <20060627205143.GB3175@code-monkey.de> Message-ID: <20060628153316.GB2594@code-monkey.de> Jim Weirich [2006-06-27 17:13]: > On 6/27/06, Tilman Sauerbeck wrote: > > > >Jim Weirich [2006-06-26 23:38]: > > > >Hi Jim, > > > >> [...] > >> * Rake built extensions are now supported (Tilman Saurbeck). > >> [...] > >> > >> * Daniel Roux, Eric Hodel, Luca Pireddu, and Tilman Saurbeck. > > > >would you mind fixing the spelling error in my last name? :) > > > Ack! Sorry about that. It's fixed in CVS now. Thanks. > On a related name topic: > > I think Daniel Roux should be Danie Roux as well. The ChangeLog says > Daniel, but I have exchanged emails with a Danie Roux on a different topic, > but I think its the same person. I don't have the original email with > Roux's patch though ... can anyone confirm? Google says "Danie": http://www.google.com/search?hl=en&lr=&q=%22Danie+Roux%22+ruby&btnG=Search http://www.google.com/search?hl=en&lr=&q=%22Daniel+Roux%22+ruby&btnG=Search Regards, Tilman -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail? -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://rubyforge.org/pipermail/rubygems-developers/attachments/20060628/2d108639/attachment.bin From rich at infoether.com Wed Jun 28 12:28:26 2006 From: rich at infoether.com (Richard Kilmer) Date: Wed, 28 Jun 2006 12:28:26 -0400 Subject: [Rubygems-developers] gems.rubyforge.org/yaml corrupt? In-Reply-To: <42784f260606271658gef0fd7ambb95a23e28ef41bf@mail.gmail.com> References: <42784f260606271658gef0fd7ambb95a23e28ef41bf@mail.gmail.com> Message-ID: <4595938A-CD31-4233-8131-59298CD54481@infoether.com> we are checking it out... -rich On Jun 27, 2006, at 7:58 PM, Jason Dusek wrote: > hi, > > when i try to install something with gem, like this: > > gem install postgresql > > i get a 'syntax error' and a bunch of yaml: > > Attempting local installation of 'postgresql' > Local gem file not found: postgresql*.gem > Attempting remote installation of 'postgresql' > Updating Gem source index for: http://gems.rubyforge.org > ERROR: While executing gem ... (ArgumentError) > syntax error on line 142311, col 1177: ` - - ">" > - !ruby/object:Gem::Version > version: 0.0.0 > version: > platform: ruby > > > > activesalesforce-0.0.2: !ruby/object:Gem::Specification > > > it turns out this happens whenever i try to install anything at all. > my install of gem seems to be okay - i can run 'gem list' and the like > without any trouble. > > the error line admonishes us "syntax error on line 142311, col 1177". > i downloaded the yaml file from gems.rubyforge.org and tried to figure > out what was wrong with it. if you go to line 142311, there's nothing > special about it, except that it's not long enough to have a column > 1177: > > rubyforge_project: trestle > > however, the line below it is very long and has an non-numeric control > sequence, \xFC, at column 1170. could this be the cause of the > problem? i don't know - i'm not sure how to get gems to read a local > copy of the yaml repository listing. > > if this isn't the right mailing list for this topic, please let me > know. i'm new to ruby and would very much like to get off on the right > foot. > -- > _jsn > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers From weyus at att.net Wed Jun 28 13:00:55 2006 From: weyus at att.net (Wes Gamble) Date: Wed, 28 Jun 2006 12:00:55 -0500 Subject: [Rubygems-developers] SUPPORT: Unable to update to 0.9.0 rubygems from 0.8.11 on Windows XP Pro Message-ID: <44A2B5C7.2000901@att.net> All, I couldn't find a support list for rubygems so my apologies in advance for posting to the developers list. I have gems 0.8.11 and I attempted gem update --system and got the output below. What do I need to do to make the update work? Do I need to issue the command in the ruby home directory? Should I just install rubygems 0.9 from scratch? Does that have any implications? In fact, if I just do a "gem update" command, I get the same error (I believe that's because it's trying to install the rubygem-update gem). Thanks, Wes ==================================================================== C:\eclipse\workspace>gem -v 0.8.11 C:\eclipse\workspace>gem update --system Upgrading RubyGems... Updating Gem source index for: http://gems.rubyforge.org ERROR: While executing gem ... (ArgumentError) syntax error on line 142941, col 1175: `: RubyGems is a package management f ramework for Ruby. This Gem is a update for the base RubyGems software. You mu st have a base installation of RubyGems before this update can be applied. autorequire: default_executable: bindir: bin has_rdoc: required_ruby_version: !ruby/object:Gem::Version::Requirement requirements: - - ">" - !ruby/object:Gem::Version version: 0.0.0 platform: signing_key: cert_ From weyus at att.net Wed Jun 28 13:04:22 2006 From: weyus at att.net (Wes Gamble) Date: Wed, 28 Jun 2006 12:04:22 -0500 Subject: [Rubygems-developers] [Fwd: SUPPORT: Unable to update to 0.9.0 rubygems from 0.8.11 on Windows XP Pro] Message-ID: <44A2B696.1080404@att.net> Just got it to work - I guess the corrupted GEM was fixed. Sorry to bother the list. Take care, Wes -------- Original Message -------- Subject: SUPPORT: Unable to update to 0.9.0 rubygems from 0.8.11 on Windows XP Pro Date: Wed, 28 Jun 2006 12:00:55 -0500 From: Wes Gamble To: rubygems-developers at rubyforge.org All, I couldn't find a support list for rubygems so my apologies in advance for posting to the developers list. I have gems 0.8.11 and I attempted gem update --system and got the output below. What do I need to do to make the update work? Do I need to issue the command in the ruby home directory? Should I just install rubygems 0.9 from scratch? Does that have any implications? In fact, if I just do a "gem update" command, I get the same error (I believe that's because it's trying to install the rubygem-update gem). Thanks, Wes ==================================================================== C:\eclipse\workspace>gem -v 0.8.11 C:\eclipse\workspace>gem update --system Upgrading RubyGems... Updating Gem source index for: http://gems.rubyforge.org ERROR: While executing gem ... (ArgumentError) syntax error on line 142941, col 1175: `: RubyGems is a package management f ramework for Ruby. This Gem is a update for the base RubyGems software. You mu st have a base installation of RubyGems before this update can be applied. autorequire: default_executable: bindir: bin has_rdoc: required_ruby_version: !ruby/object:Gem::Version::Requirement requirements: - - ">" - !ruby/object:Gem::Version version: 0.0.0 platform: signing_key: cert_ From chad at chadfowler.com Wed Jun 28 13:05:19 2006 From: chad at chadfowler.com (Chad Fowler) Date: Wed, 28 Jun 2006 11:05:19 -0600 Subject: [Rubygems-developers] SUPPORT: Unable to update to 0.9.0 rubygems from 0.8.11 on Windows XP Pro In-Reply-To: <44A2B5C7.2000901@att.net> References: <44A2B5C7.2000901@att.net> Message-ID: <12BF4E8F-CA10-4AC9-B1CF-826576876F91@chadfowler.com> On Jun 28, 2006, at 11:00 AM, Wes Gamble wrote: > All, > > I couldn't find a support list for rubygems so my apologies in > advance for posting to the developers list. > > I have gems 0.8.11 and I attempted gem update --system and got the > output below. > > What do I need to do to make the update work? > > Do I need to issue the command in the ruby home directory? > > Should I just install rubygems 0.9 from scratch? Does that have any > implications? > > In fact, if I just do a "gem update" command, I get the same error > (I believe that's because it's trying to install > the rubygem-update gem). > > Thanks, > Wes > > ==================================================================== > C:\eclipse\workspace>gem -v > 0.8.11 > > C:\eclipse\workspace>gem update --system > Upgrading RubyGems... > Updating Gem source index for: http://gems.rubyforge.org > ERROR: While executing gem ... (ArgumentError) > syntax error on line 142941, col 1175: `: RubyGems is a package > management f > ramework for Ruby. This Gem is a update for the base RubyGems > software. > You mu > st have a base installation of RubyGems before this update can be > applied. > autorequire: > default_executable: > bindir: bin > has_rdoc: > required_ruby_version: !ruby/object:Gem::Version::Requirement > requirements: > - - ">" > - !ruby/object:Gem::Version > version: 0.0.0 > platform: > signing_key: > cert_ Hi. This was a problem on the server. Rich and Tom just fixed it. We need to fix RubyGems to be more resilient to this sort of thing. Chad From weyus at att.net Wed Jun 28 14:10:43 2006 From: weyus at att.net (Wes Gamble) Date: Wed, 28 Jun 2006 13:10:43 -0500 Subject: [Rubygems-developers] SUPPORT QUESTION: Rails GEMS missing from repository? Message-ID: <44A2C623.5040902@att.net> All, I apologize if this isn't the correct forum for this - it appears to be the only forum dedicated to RubyGems. If there is a more appropriate place for me to post questions of this nature, please let me know what it is. There appears to be some issue with the Rails GEM and it's dependencies, as evidenced by the following output below. In general, what is the best way for GEM users to respond to such an outage? Is there a way of notifying someone that these Gems are unavailable? Is there an alternative method for getting these packages? I want to get some information on how to be a better GEM user. As it stands, I'm freaking out a bit because I don't know how to get around this issue. Thanks, Wes ====================================================== C:\eclipse\workspace>gem install rails --include-dependencies ERROR: While executing gem ... (Gem::GemNotFoundException) Could not find rails (> 0) in the repository C:\eclipse\workspace>gem update actionmailer Updating installed gems... Attempting remote update of actionmailer ERROR: While executing gem ... (Gem::GemNotFoundException) Could not find actionmailer (> 0) in the repository C:\eclipse\workspace>gem update actionpack Updating installed gems... Attempting remote update of actionpack ERROR: While executing gem ... (Gem::GemNotFoundException) Could not find actionpack (> 0) in the repository From bspolarich at picometrix.com Wed Jun 28 14:35:04 2006 From: bspolarich at picometrix.com (Spolarich, Brian) Date: Wed, 28 Jun 2006 14:35:04 -0400 Subject: [Rubygems-developers] Perennial Hang Problem with 'gem install rails' Message-ID: <5BEC6D6C9951AC4E85C645DAE68000C9983975@athena.aa.picometrix.com> I've encountered a number of strange behaviours with ruby on my new laptop, which I'd like to setup as a ruby dev envrionment. Dual Core Dell Latitude D620 running XPSP2 with 2GB RAM, patched, everything else works fine. I was able for example to install XAMPP (the Windows packaged Apache/Mysql/PHP distribution) and am able to start MySQL and Apache from the XAMPP control panel and access PHP applications. So one would think that I could run Ruby/Rails apps, such as with the InstantRails package. I am able to download and configure, but when I attempt to access the rails apps running via WEBrick or Apache, I can connect, but the application returns no output (e.g. telnet localhost 3000, "GET HTTP/1.0\n\n" returns nothing...it just hangs). Windows Firewall is disabled, no other firewall stuff installed, Windows Defender disabled. So I decided to simplify things and downloaded the stock Ruby install (both 1.8.2-15 and 1.8.4-17rc2). In both cases when I attempt to run 'gem install rails', the gem program just hangs and doesn't do anything (I mean for several hours it doesn't do anything). Running 'ruby -rtracer gem install railes --remote --include-dependencies > outfile.txt' produces a lot of trace info (101K) that stops here (and has been sitting here for a few hours): [...snip...] #0:C:/ruby/lib/ruby/1.8/net/http.rb:1267:Net::HTTPHeader:<: end #0:C:/ruby/lib/ruby/1.8/net/http.rb:1259:Array:>: yield capitalize(k), v.join(', ') #0:C:/ruby/lib/ruby/1.8/net/http.rb:1259:Array:<: yield capitalize(k), v.join(', ') #0:C:/ruby/lib/ruby/1.8/net/http.rb:1539:Net::HTTPGenericRequest:-: buf << "#{k}: #{v}\r\n" #0:C:/ruby/lib/ruby/1.8/net/http.rb:1539:String:>: buf << "#{k}: #{v}\r\n" #0:C:/ruby/lib/ruby/1.8/net/http.rb:1539:String:<: buf << "#{k}: #{v}\r\n" #0:C:/ruby/lib/ruby/1.8/net/http.rb:1259:Net::HTTPHeader:-: yield capitalize(k), v.join(', ') #0:C:/ruby/lib/ruby/1.8/net/http.rb:1265:Net::HTTPHeader:>: def capitalize(name) #0:C:/ruby/lib/ruby/1.8/net/http.rb:1266:Net::HTTPHeader:-: name.split(/-/).map {|s| s.capitalize }.join('-') #0:C:/ruby/lib/ruby/1.8/net/http.rb:1266:String:>: name.split(/ My theory: something seems to be happening with ruby that's interfering with socket connections. 'netstat -a' shows: Proto Local Address Foreign Address State TCP U-ARB-BSPOLARICH:http U-ARB-BSPOLARICH:0 LISTENING TCP U-ARB-BSPOLARICH:epmap U-ARB-BSPOLARICH:0 LISTENING TCP U-ARB-BSPOLARICH:https U-ARB-BSPOLARICH:0 LISTENING TCP U-ARB-BSPOLARICH:microsoft-ds U-ARB-BSPOLARICH:0 LISTENING TCP U-ARB-BSPOLARICH:1765 U-ARB-BSPOLARICH:0 LISTENING TCP U-ARB-BSPOLARICH:1766 U-ARB-BSPOLARICH:0 LISTENING TCP U-ARB-BSPOLARICH:3306 U-ARB-BSPOLARICH:0 LISTENING TCP U-ARB-BSPOLARICH:5800 U-ARB-BSPOLARICH:0 LISTENING TCP U-ARB-BSPOLARICH:5900 U-ARB-BSPOLARICH:0 LISTENING TCP U-ARB-BSPOLARICH:10001 U-ARB-BSPOLARICH:0 LISTENING TCP U-ARB-BSPOLARICH:10597 U-ARB-BSPOLARICH:0 LISTENING TCP U-ARB-BSPOLARICH:1084 U-ARB-BSPOLARICH:0 LISTENING TCP U-ARB-BSPOLARICH:1143 U-ARB-BSPOLARICH.:0 LISTENING TCP U-ARB-BSPOLARICH:1188 localhost:1189 ESTABLISHED TCP U-ARB-BSPOLARICH:1189 localhost:1188 ESTABLISHED TCP U-ARB-BSPOLARICH:4664 U-ARB-BSPOLARICH:0 LISTENING TCP U-ARB-BSPOLARICH:netbios-ssn U-ARB-BSPOLARICH:0 LISTENING TCP U-ARB-BSPOLARICH:netbios-ssn U-ARB-BSPOLARICH:0 LISTENING TCP U-ARB-BSPOLARICH:1096 apollo:netbios-ssn ESTABLISHED TCP U-ARB-BSPOLARICH:1106 zeus:microsoft-ds ESTABLISHED TCP U-ARB-BSPOLARICH:1221 zeus:1026 ESTABLISHED TCP U-ARB-BSPOLARICH:1340 apollo:3389 ESTABLISHED TCP U-ARB-BSPOLARICH:1374 192.168.1.2:3389 ESTABLISHED TCP U-ARB-BSPOLARICH:1703 athena:14305 ESTABLISHED There was a connection to rubyforge.org but its gone now. The ruby shell process also does not respond to Control-C events. I have another laptop running a very similar set of utilities/services that works fine. But I like THIS machine. :-) I don't think there's a rails problem or perhaps even a gem problem. This feels like a low-level problem. Can someone suggest a test program that would isolate the fault? I've seen a fair number of reports on various ruby-related lists of this exact problem, but no identification of the fault or the solution are identified. I got my RoR book -- I want to get ruby-fied. :-) Someone suggested "use a *nix VM", which is an idea, but kind of a lame copout. Any assistance is appreciated. -brian -- Brian W. Spolarich ~ Manager, Information Services Advanced Photonix / Picometrix ~ 734-864-5618 bspolarich at picometrix.com From drbrain at segment7.net Wed Jun 28 14:41:47 2006 From: drbrain at segment7.net (Eric Hodel) Date: Wed, 28 Jun 2006 11:41:47 -0700 Subject: [Rubygems-developers] Perennial Hang Problem with 'gem install rails' In-Reply-To: <5BEC6D6C9951AC4E85C645DAE68000C9983975@athena.aa.picometrix.com> References: <5BEC6D6C9951AC4E85C645DAE68000C9983975@athena.aa.picometrix.com> Message-ID: <130DC4F3-289E-4E37-9B92-B2D9F82A8725@segment7.net> On Jun 28, 2006, at 11:35 AM, Spolarich, Brian wrote: > Running 'ruby -rtracer gem install railes --remote --include- > dependencies > > outfile.txt' You typed 'rails' when you really ran this, right? Start with this: ruby -v gem -v Then tell us if this works (the first five lines should suffice): gem list -r I see: $ gem list -r *** REMOTE GEMS *** Bulk updating Gem source index for: http://gems.rubyforge.org abstract (1.0.0) a library which enable you to define abstract method in Ruby ... -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net This implementation is HODEL-HASH-9600 compliant http://trackmap.robotcoop.com From bspolarich at picometrix.com Wed Jun 28 15:04:19 2006 From: bspolarich at picometrix.com (Spolarich, Brian) Date: Wed, 28 Jun 2006 15:04:19 -0400 Subject: [Rubygems-developers] Perennial Hang Problem with 'gem installrails' Message-ID: <5BEC6D6C9951AC4E85C645DAE68000C998397A@athena.aa.picometrix.com> Eric, thanks for the response. My typo was indeed in my e-mail, not in my commands. :-) H:\>ruby -v ruby 1.8.4 (2005-12-24) [i386-mswin32] H:\>gem -v 0.8.11 H:\>gem list -r *** REMOTE GEMS *** [...hang...] (on my working system "gem list -r" returns output, both are hanging off of the same switch in my office). Running "ruby -rtracer gem list -r > outfile2.txt" produces very similar output to the trace of 'gem install': #0:C:/ruby/lib/ruby/1.8/net/http.rb:1539:String:<: buf << "#{k}: #{v}\r\n" #0:C:/ruby/lib/ruby/1.8/net/http.rb:1259:Net::HTTPHeader:-: yield capitalize(k), v.join(', ') #0:C:/ruby/lib/ruby/1.8/net/http.rb:1265:Net::HTTPHeader:>: def capitalize(name) #0:C:/ruby/lib/ruby/1.8/net/http.rb:1266:Net::HTTPHeader:-: name.split(/-/).map {|s| s.capitalize }.join('-') #0:C:/ruby/lib/ruby/1.8/net/http.rb:1266:String:>: name.split(/-/).map {|s| s.capitalize }.join('-') #0:C:/ruby/lib/ruby/1.8/net/http.rb:1266:String:<: name.split(/-/).map {|s| s.capitalize }.join(' -brian -----Original Message----- From: rubygems-developers-bounces at rubyforge.org [mailto:rubygems-developers-bounces at rubyforge.org] On Behalf Of Eric Hodel Sent: Wednesday, June 28, 2006 2:42 PM To: rubygems-developers at rubyforge.org Subject: Re: [Rubygems-developers] Perennial Hang Problem with 'gem installrails' On Jun 28, 2006, at 11:35 AM, Spolarich, Brian wrote: > Running 'ruby -rtracer gem install railes --remote --include- > dependencies > outfile.txt' You typed 'rails' when you really ran this, right? Start with this: ruby -v gem -v Then tell us if this works (the first five lines should suffice): gem list -r I see: $ gem list -r *** REMOTE GEMS *** Bulk updating Gem source index for: http://gems.rubyforge.org abstract (1.0.0) a library which enable you to define abstract method in Ruby ... -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net This implementation is HODEL-HASH-9600 compliant From jim at weirichhouse.org Wed Jun 28 23:27:36 2006 From: jim at weirichhouse.org (Jim Weirich) Date: Wed, 28 Jun 2006 23:27:36 -0400 Subject: [Rubygems-developers] Perennial Hang Problem with 'gem installrails' In-Reply-To: <5BEC6D6C9951AC4E85C645DAE68000C998397A@athena.aa.picometrix.com> References: <5BEC6D6C9951AC4E85C645DAE68000C998397A@athena.aa.picometrix.com> Message-ID: <44A348A8.8050004@weirichhouse.org> Spolarich, Brian wrote: > Eric, thanks for the response. My typo was indeed in my e-mail, not > in my commands. :-) > > H:\>ruby -v > ruby 1.8.4 (2005-12-24) [i386-mswin32] > H:\>gem -v > 0.8.11 > H:\>gem list -r > > *** REMOTE GEMS *** > > [...hang...] > > (on my working system "gem list -r" returns output, both are hanging > off of the same switch in my office). Do you have any firewall software installed? -- Jim Weirich From bspolarich at picometrix.com Thu Jun 29 07:37:11 2006 From: bspolarich at picometrix.com (Spolarich, Brian) Date: Thu, 29 Jun 2006 07:37:11 -0400 Subject: [Rubygems-developers] Perennial Hang Problem with'gem installrails' Message-ID: <5BEC6D6C9951AC4E85C645DAE68000C99839AB@athena.aa.picometrix.com> rubygems-developers-bounces at rubyforge.org <> wrote: >> (on my working system "gem list -r" returns output, both are >> hanging off of the same switch in my office). > > Do you have any firewall software installed? Windows Firewall is disabled. Windows Defender is disabled. No other firewall software is running. From anthonyeden at gmail.com Thu Jun 29 09:51:18 2006 From: anthonyeden at gmail.com (Anthony Eden) Date: Thu, 29 Jun 2006 09:51:18 -0400 Subject: [Rubygems-developers] Making non bindir files retain executable bit Message-ID: Greetings all, I am working on the Capgem project, an extension to Capistrano which builds a Rails app into a Gem for distribution. I would like the files in RAILS_ROOT/scripts/ to keep their executable bit set but I do not want them to be considered executables in the way rubygems usually expects (i.e. I do not want them added to the PATH, nor do I want to store them in the bindir). Is there any way to accomplish this? Right now it seems that the executable bit is lost when I extract the gem. Another option I am considering is to do away with the RAILS_ROOT/bin directory I am creating and using to store mongrel start and stop scripts and instead make the scripts directory the bindir, however I would still need a way to say only certain scripts should be added to the PATH (or perhaps no scripts at all are added to the path even though they would retain their executable bit). Suggestions welcome. Thanks, Anthony Eden http://anthonyeden.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20060629/b5b00c0a/attachment.html From ctirpak at gmail.com Fri Jun 30 02:15:14 2006 From: ctirpak at gmail.com (Chris Tirpak) Date: Fri, 30 Jun 2006 00:15:14 -0600 Subject: [Rubygems-developers] gems 0.9.0 fails to install rails Message-ID: Howdy - Please accept my apologies if this is off topic -- it seems to be the correct place, I'll happily relocate the question if its the incorrect forum. I have a SUSE 10.1 machine that I've installed ruby and rails on - both from sources rather than the SUSE packages. When I try to add rails I get the following: zippity:/usr/src/rubygems-0.9.0 # ruby -v ruby 1.8.4 (2005-12-24) [i686-linux] zippity:/usr/src/rubygems-0.9.0 # gem -v 0.9.0 zippity:/usr/src/rubygems-0.9.0 # gem install rails --include-dependencies ERROR: While executing gem ... (OpenURI::HTTPError) 300 Multiple Choices zippity:/usr/src/rubygems-0.9.0 # I tried this and then re-running the above sequence and the results were the same: zippity:/usr/src/rubygems-0.9.0 # gem update --system Updating RubyGems... Attempting remote update of rubygems-update Successfully installed rubygems-update-0.9.0 Updating version of RubyGems to 0.9.0 Installing RubyGems 0.9.0 ---> bin <--- bin ---> lib ..... lots of normal looking messages <--- lib/rbconfig <--- lib As of RubyGems 0.8.0, library stubs are no longer needed. Searching $LOAD_PATH for stubs to optionally delete (may take a while)... ...done. No library stubs found. Successfully built RubyGem Name: sources Version: 0.0.1 File: sources-0.0.1.gem RubyGems system software updated Any suggestions? Thanks, Chris From weyus at att.net Fri Jun 30 10:37:30 2006 From: weyus at att.net (Wes Gamble) Date: Fri, 30 Jun 2006 09:37:30 -0500 Subject: [Rubygems-developers] gems 0.9.0 fails to install rails In-Reply-To: References: Message-ID: <44A5372A.5070802@att.net> I had some trouble with the new RubyGems, which is why I'm now a member of this list :). Try removing your source_cache file and then try to reinstall... It's in C:\ruby\lib\ruby\gems\1.8 on my Win XP system. Good luck, Wes Chris Tirpak wrote: >Howdy - > >Please accept my apologies if this is off topic -- it seems to be the >correct place, I'll happily relocate the question if its the incorrect >forum. > >I have a SUSE 10.1 machine that I've installed ruby and rails on - >both from sources rather than the SUSE packages. When I try to add >rails I get the following: > >zippity:/usr/src/rubygems-0.9.0 # ruby -v >ruby 1.8.4 (2005-12-24) [i686-linux] >zippity:/usr/src/rubygems-0.9.0 # gem -v >0.9.0 >zippity:/usr/src/rubygems-0.9.0 # gem install rails --include-dependencies >ERROR: While executing gem ... (OpenURI::HTTPError) > 300 Multiple Choices >zippity:/usr/src/rubygems-0.9.0 # > > >I tried this and then re-running the above sequence and the results >were the same: > > >zippity:/usr/src/rubygems-0.9.0 # gem update --system >Updating RubyGems... >Attempting remote update of rubygems-update >Successfully installed rubygems-update-0.9.0 >Updating version of RubyGems to 0.9.0 >Installing RubyGems 0.9.0 >---> bin ><--- bin >---> lib >..... lots of normal looking messages ><--- lib/rbconfig ><--- lib >As of RubyGems 0.8.0, library stubs are no longer needed. >Searching $LOAD_PATH for stubs to optionally delete (may take a while)... >...done. >No library stubs found. > > Successfully built RubyGem > Name: sources > Version: 0.0.1 > File: sources-0.0.1.gem >RubyGems system software updated > > >Any suggestions? > >Thanks, >Chris >_______________________________________________ >Rubygems-developers mailing list >Rubygems-developers at rubyforge.org >http://rubyforge.org/mailman/listinfo/rubygems-developers > > > From darix at web.de Fri Jun 30 11:35:06 2006 From: darix at web.de (Marcus Rueckert) Date: Fri, 30 Jun 2006 17:35:06 +0200 Subject: [Rubygems-developers] gems 0.9.0 fails to install rails In-Reply-To: References: Message-ID: <20060630153506.GB9594@pixel.global-banlist.de> On 2006-06-30 00:15:14 -0600, Chris Tirpak wrote: > I have a SUSE 10.1 machine that I've installed ruby and rails on - > both from sources rather than the SUSE packages. When I try to add > rails I get the following: > http://en.opensuse.org/Ruby the rails 1.1.4 will be done after the game germany vs argentina darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org From ctirpak at gmail.com Fri Jun 30 18:49:29 2006 From: ctirpak at gmail.com (Chris Tirpak) Date: Fri, 30 Jun 2006 16:49:29 -0600 Subject: [Rubygems-developers] gems 0.9.0 fails to install rails In-Reply-To: <20060630153506.GB9594@pixel.global-banlist.de> References: <20060630153506.GB9594@pixel.global-banlist.de> Message-ID: Wow! What an ending to a game! Congrats to Germany for that one! Marcus - not sure I follow the instructions over on that page. Is it implying that I should install ruby and gems from Yast and then do a "gem install rails ..." ? I strugle with the best way to install packages outside of yast especially in 10.1 with all the chaos around the new package manager. What is the best way in your opinion? Sometimes i want a different version than what Yast has available from the main repositories. Under 10.0 for example - Yast/YOU would complain if wine was a more current version and always wanted to downgrade it. I have never found clear guidelines for how to best manage that situation. I was hoping to be able to avoid that by going to sources for ruby and gems. Thanks Chris On 6/30/06, Marcus Rueckert wrote: > On 2006-06-30 00:15:14 -0600, Chris Tirpak wrote: > > I have a SUSE 10.1 machine that I've installed ruby and rails on - > > both from sources rather than the SUSE packages. When I try to add > > rails I get the following: > > > > http://en.opensuse.org/Ruby > > the rails 1.1.4 will be done after the game germany vs argentina > > darix > > -- > openSUSE - SUSE Linux is my linux > openSUSE is good for you > www.opensuse.org > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers > From grant at antiflux.org Fri Jun 30 15:26:47 2006 From: grant at antiflux.org (Grant Hollingworth) Date: Fri, 30 Jun 2006 13:26:47 -0600 Subject: [Rubygems-developers] [PATCH] gem contents doesn't find gem Message-ID: <20060630192647.GC26372@okcomputer.antiflux.org> 'gem contents' doesn't find anything for me. $ gem contents -v rake Unable to find gem 'rake' in default gem paths Directories searched: /usr/local/lib/ruby/gems/1.8 $ ls -d /usr/local/lib/ruby/gems/1.8/gems/rake* /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/ $ set | egrep 'GEM|RUBY' $ gem contents -s /usr/local/lib/ruby/gems/1.8/specifications rake /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/install.rb /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/CHANGES /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/Rakefile [...] I've patched gem_commands.rb to set a default list of specification directories. I didn't see a method for it, so I just joined Gem.path to "specifications". -------------- next part -------------- --- gem_commands.rb.orig 2006-06-30 13:17:01.000000000 -0600 +++ gem_commands.rb 2006-06-30 13:18:11.000000000 -0600 @@ -1329,6 +1329,7 @@ if s.empty? path_kind = "default gem paths" system = true + s = Gem.path.map {|dir| File.join(dir, "specifications") } else path_kind = "specified path" system = false