Rubygems: bad urls

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 W.

On 14.01.2010 09:56, Marc W. wrote:

So what’s happening here?

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

On Jan 14, 6:16 am, Phillip G. [email protected] wrote:

On 14.01.2010 09:56, Marc W. 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.

Excerpts from Luis L.'s message of Thu Jan 14 14:45:10 +0100 2010:

“Hosted” has nothing to do with “downloading”
HTTP/1.1 302 Found

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 W.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs