Published gem not showing up in gems.github.com
Reported by Glenn Rempe | April 25th, 2008 @ 05:10 PM
Hi.
First, thanks for the awesome new gems.github.com feature.
I just added a gemspec for my amazon-ec2 gem and its not showing up in the build or available for install.
My gemspec:
http://github.com/grempe/amazon-...
I created the gemspec with your recommended 'rake debug_gem'.
Are their issues with the gemspec or the gem? Or is it just taking a long time for the build to kick off.
Thanks.
Comments and changes to this ticket
-
Glenn Rempe April 25th, 2008 @ 05:47 PM
An update: The gem is now showing up and building.
Here is the change to my gemspec that show the changes I made to simplify it.
http://github.com/grempe/amazon-...
Note however that the original gemspec was generated by the 'rake debug_gem' command.
Suggestion : You should be more forgiving of the contents of this file to make things easier for publishers (e.g. just stripping out commands or config that you cannot parse for safety or other reasons.)
Thanks.
-
Kevin Ballard April 25th, 2008 @ 06:01 PM
Are you sure you simply didn't wait long enough? It takes a few minutes before it shows up on gems.github.com
-
defunkt April 25th, 2008 @ 06:28 PM
- → Assigned user changed from defunkt to PJ Hyett
-
Adam S April 26th, 2008 @ 01:49 PM
I can confirm that gems are not updating. Simply type:
gem list -r --source http://gems.github.com/
There are plenty of gems which don't show up.
-
Kevin Ballard April 26th, 2008 @ 03:46 PM
I get a list of gems back when I type that, and it includes my own gem. What gems aren't showing up in that list?
-
Glenn Rempe April 26th, 2008 @ 06:26 PM
The problem is that the publishing of a gem, and its potential failure to build, is a blind process. When you push code with a gemspec there is no way to know if it worked unless you sit there and try to see if it published by attempting to install it remotely. Over and over again.
And after N*minutes it either worked, or you conclude it did not and you try some other change to the gemspec to see if that works.
Also it seems to me that if you check the 'rubygem' checkbox in the admin setting for a project that this does not in itself kick off a build. It seems that once you check it, you need to push a new gemspec AFTER its been checked in order for the push to trigger the build. IMHO you should trigger a build immediately when that button is checked (and conversely, perhaps you should delete all published gems for that project if the button is unchecked).
All of this leads to thoughts that there needs to be some kind of interface to manage the gems associated with a project where you can see build status or errors, and choose to manually kick off a build, or unpublish ceertain gems. A little gem dashboard for each project if you will.
I filed some feature request tickets along these lines.
Cheers.
-
Glenn Rempe April 26th, 2008 @ 06:31 PM
regarding comment by @Adam S.
The GitGub folks should be able to do a query.
A = select count(*) from repo where rubygem is checked
B = count number of projects that have gems in the gems.github.com/yaml index (not versions but whole projects)
problem = true if A > B
-
Adam S April 27th, 2008 @ 12:19 AM
Here is what i get:
*** REMOTE GEMS ***
Updating metadata for 33 gems from http://gems.github.com/
.................................
complete
benschwarz-muxtape (0.0.1)
defunkt-ambition (0.5.4, 0.5.3)
evilchelu-braid (0.3.5)
grempe-amazon-ec2 (0.2.12, 0.2.11, 0.2.10, 0.2.9)
grempe-grempe-amazon-ec2 (0.2.12)
grempe-merb_permalink_fu (0.0.2)
jxl-muq (0.0.1)
kballard-osx-plist (1.0)
matta-sdruby-raffle (0.0.2, 0.0.1)
mbleigh-mash (0.0.4)
mbleigh-ruby-github (0.0.3)
mgreenly-mygemdocs (0.1)
mislav-will_paginate (2.2.3)
mojombo-grit (0.8.1, 0.8.0)
pjhyett-capistrano (2.3.0, 2.2.9, 2.2.7, 2.2.6)
pjhyett-chronic (0.1.6)
pjhyett-grit (0.8.2, 0.8.1)
PotatoSalad-rak (0.9)
urubatan-mydry_generator (0.2.2, 0.2.1)
wycats-merb-core (0.9.2)
xgamerx-cap-recipes (0.0.2, 0.0.1)
I got interested because I don't understand how you publish versions so went looking for pjhyett-capistrano... i couldn't find it and instead found jamis-capistrano... which isn't on the list... if you are publishing gems by 'author' there should be at least 2 different capistrano version from the git tree...
Ps How does github do versioning?? ie is it the latest commit for that version number (which would make sense - but which also means you have to gemspec every commit since the beginning of time ;)
-
PJ Hyett April 28th, 2008 @ 08:15 AM
- → State changed from new to open
The main problem is that two people running the same command:
$ sudo gem install matta-googlecharts --source=http://gems.github.com/will install the gem for one and return the "could not find" error for the other.
I can't really address any of the other issues you guys are having with the system until this is sorted out.
What I do know is that any gems that are listed via:
$ gem list -r --source=http://gems.github.com/will install properly, so if they are not for you, you're running into this bug.
If your gem doesn't show up when you run gem list, that means it hasn't built properly, and you should try and build it locally to confirm that it does.
In the near future, I'd like to have the build system send the owner a private message when the build fails so they're aware of it, but as I said before, I need to figure out why the install isn't reliable first.
Adam S: The gems are versioned by the gem version you set in your gemspec. So, if you push out a change to your gemspec without changing the version, the previous gem will be overwritten.
Thanks to everyone that's shown interest in the system, hopefully we'll get this stuff sorted out quickly.
-

Jeremy Friesen April 29th, 2008 @ 03:09 AM
This is an interim fix, but can be helpful. I prepended the following line to my gemspec file:
$SAFE = 3
Then I ran `gem build project.gemspec` and let it fail. I fixed the problems until I encountered the following:
"ERROR: While executing gem ... (SecurityError)
Insecure operation - gem_original_require"
I was going to try figuring this out, but then I noticed, my gem got added to the list (jeremyf-harvixture), so I stopped.
-
Cristi Balan April 30th, 2008 @ 06:05 PM
I have my gems in ~/.gems and I removed the latest_source_cache and source_cache files before running the command.
I'm getting no gems listed at all:
[chelu@cuddles braid (master)]$ gem list -r --source http://gems.github.com/
*** REMOTE GEMS ***
Updating metadata for 59 gems from http://gems.github.com/
...........................................................
complete
And cannot install the gem:
[chelu@cuddles braid (master)]$ gem install evilchelu-braid
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.github.com/
ERROR: could not find evilchelu-braid locally or in a repository
However, after running the above commands, if i look with a text editor inside *~/.gems/latest_source_cache*, I can see my gem in there so, it seems it was built properly and it's just a matter of local configuration... or something :).
Have no clue what this might be tho :/
-
Mike Perham May 21st, 2008 @ 01:47 AM
FYI, we have a fiveruns-starling gem which I cannot see or install when using RubyGems 1.1.0 on OSX. I can see and install it when using RubyGems 1.0.1 on Linux. This might be an issue with the latest RubyGems.
-

mhennemeyer May 29th, 2008 @ 11:02 AM
One (dumb) thing to notice is that you have to
close the URL given to the source option with a slash.
This will work:
sudo gem install mhennemeyer-output_catcher --source=http://gems.github.com/
And this will NOT work as expected:
sudo gem install mhennemeyer-output_catcher --source=http://gems.github.com
-
PJ Hyett June 9th, 2008 @ 07:47 PM
- → State changed from open to resolved
We've added a feedback loop to the gem building process that will send a private message to the repo owner when the build fails.
Hopefully this will solve most of the problems people are having with their gem not showing up.
There are still a couple of unresolved issues with the gem system, but this should take care of most.
Please Login or create a free account to add a new comment.
You can update this ticket by sending an email to from your email client. (help)
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
