rubygems: bad urls

M

Marc Weber

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
 
L

Luis Lavena

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

Marc Weber

Excerpts from Luis Lavena's message of Thu Jan 14 14:45:10 +0100 2010:
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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,982
Messages
2,570,190
Members
46,736
Latest member
zacharyharris

Latest Threads

Top