From: Marc Weber on
I patched ruby gems successfully so that it outputs ruby packages so
that I can feed them into the Nix package manager system
(www.nixos.org).

One item of the generated output looks like this:

jeremymcanally_pending_0_1 = rubyDerivation {
name = "ruby-jeremymcanally-pending-0.1"; # full_name
nameNoVersion = "jeremymcanally_pending";
propagatedBuildInputs = [ ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/jeremymcanally-pending-0.1.gem";
sha256 = "no hash";
};
meta = {
homepage = "http://jeremymcanally.com";
license = []; # one of ?
description = "pending lets you define a block of test code that is currently \"pending\" functionality, similar to RSpec's pending method"; # cut to 120 chars
longDescription = "pending lets you define a block of test code that is currently \"pending\" functionality, similar to RSpec's pending method.";
};
};


And you can see by "no hash" that something is wrong with this gem. It's
not only that one. By resolving dependencies for:

up chronic rubygems-update xrefresh-server rb-inotify jeweler


these .gem urls are invalid:

http://gems.rubyforge.org/gems/bmabey-fakefs-0.1.1.1.gem
http://gems.rubyforge.org/gems/jeremymcanally-pending-0.1.gem
http://gems.rubyforge.org/gems/devver-construct-1.1.0.gem
http://gems.rubyforge.org/gems/mhennemeyer-output_catcher-1.0.1.gem
http://gems.rubyforge.org/gems/thoughtbot-shoulda-2.10.2.gem
http://gems.rubyforge.org/gems/bmabey-fakefs-0.1.1.1.gem
http://gems.rubyforge.org/gems/jeremymcanally-pending-0.1.gem
http://gems.rubyforge.org/gems/devver-construct-1.1.0.gem
http://gems.rubyforge.org/gems/mhennemeyer-output_catcher-1.0.1.gem
http://gems.rubyforge.org/gems/thoughtbot-shoulda-2.10.2.gem

So what's happening here?
Of course I can start fetching those gems manually from git repositories
etc. But isn't the purpose of gems that I can install them easily ?

Should I contact the authors and ask them to upload a new version?
Actually I have kind of bootstrapping problem: I'd like to use rake to
build the gem files. However rake requires jeweler. I can't install
jeweler because of bad hashs.

Is there a way to fix those gem urls?

Yes, I am new to ruby.

Marc Weber

From: Phillip Gawlowski on
On 14.01.2010 09:56, Marc Weber wrote:

> So what's happening here?

Gems are hosted on gemcutter.org by now, not RubyGems.

--
Phillip Gawlowski

From: Luis Lavena on
On Jan 14, 6:16 am, Phillip Gawlowski <p...(a)thimian.com> wrote:
> On 14.01.2010 09:56, Marc Weber wrote:
>
> > So what's happening here?
>
> Gems are hosted on gemcutter.org by now, not RubyGems.
>

gems.rubyforge.org == gemcutter.org

"Hosted" has nothing to do with "downloading"

The above URLs:

http://gems.rubyforge.org/gems/bmabey-fakefs-0.1.1.1.gem

Are simple redirects to Amazon S3/CDN hosted files:


curl --head http://gems.rubyforge.org/gems/bmabey-fakefs-0.1.1.1.gem

HTTP/1.1 302 Found
Date: Thu, 14 Jan 2010 13:42:11 GMT
Server: Apache/2.2.3 (Red Hat) mod_ssl/2.2.3 OpenSSL/0.9.8e-fips-rhel5
Phusion_Passenger/2.2.5
X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 2.2.5
X-Rack-Cache: miss
Location: http://production.cf.rubygems.org/gems/bmabey-fakefs-0.1.1.1.gem
Status: 302
Vary: Accept-Encoding
Content-Type: text/html

====

If Nix cannot resolve over redirects, then you will need to indicate
the CDN location.

--
Luis Lavena
From: Marc Weber on
Excerpts from Luis Lavena's message of Thu Jan 14 14:45:10 +0100 2010:
> On Jan 14, 6:16 am, Phillip Gawlowski <p...(a)thimian.com> wrote:
> > On 14.01.2010 09:56, Marc Weber wrote:
> >
> > > So what's happening here?
> >
> > Gems are hosted on gemcutter.org by now, not RubyGems.
> >
>
> gems.rubyforge.org == gemcutter.org
>
> "Hosted" has nothing to do with "downloading"
>
> The above URLs:
>
> http://gems.rubyforge.org/gems/bmabey-fakefs-0.1.1.1.gem
>
> Are simple redirects to Amazon S3/CDN hosted files:
>
>
> curl --head http://gems.rubyforge.org/gems/bmabey-fakefs-0.1.1.1.gem
>
> HTTP/1.1 302 Found
> Date: Thu, 14 Jan 2010 13:42:11 GMT
> Server: Apache/2.2.3 (Red Hat) mod_ssl/2.2.3 OpenSSL/0.9.8e-fips-rhel5
> Phusion_Passenger/2.2.5
> X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 2.2.5
> X-Rack-Cache: miss
> Location: http://production.cf.rubygems.org/gems/bmabey-fakefs-0.1.1.1.gem
> Status: 302
> Vary: Accept-Encoding
> Content-Type: text/html
>
> ====
>
> If Nix cannot resolve over redirects, then you will need to indicate
> the CDN location.

It can. However shouldn't I be able to download this gem by copy pasting
this url into any browser?
http://gems.rubyforge.org/gems/bmabey-fakefs-0.1.1.1.gem
-> http://production.cf.rubygems.org/gems/bmabey-fakefs-0.1.1.1.gem
Fine. Follow the next redirect as well, please:

marc i%curl -I http://production.cf.rubygems.org/gems/bmabey-fakefs-0.1.1.1.gem /home/marc nixos
HTTP/1.0 403 Forbidden
x-amz-request-id: 931D4C5FBECF8B78
x-amz-id-2: 10cd/tT0szcqveVz+f+uInM31pZaLG6T/wwI0SIK1i/SNtXQbYXuVIDzerqYGsZj
Content-Type: application/xml
Date: Fri, 15 Jan 2010 04:37:17 GMT
Server: AmazonS3
X-Cache: Error from cloudfront
X-Amz-Cf-Id: fc3f620e9e4e8aab9a72ee9d6aed8ee8b50c555b52119dfe1863dda7a76c795fa31da7b5e6d9b222,230ac8a9dcbf5ae73328942d7d8a086af9191c7b0cf2ab8e1d711c4d078f43ed628c2cd02e5bc1eb
Via: 1.0 a2289d8b15b881db1c42086062568883.cloudfront.net:11180 (CloudFront), 1.0 3aa04125cfbe212eb3783a1b1caebdb5.cloudfront.net:11180 (CloudFront)
Connection: close

So access is forbidden. Thus the link is broken.
Redirection does work fine for many other .gem packages.

Marc Weber