ANN: RubyGems 0.9.0 Release

= Announce: RubyGems Release 0.9.0

Finally, the much anticipated RubyGems version 0.9.0 is now available.
This release includes a number of new features and bug fixes. The
number one change is that we can now download the gem index
incrementally. This will greatly speed up the gem command when only a
few gems are out of date.

Major Enhancments include:

  • The gem index is now downloaded incrementally, only updating entries
    that are out of date. If more than 50 entries are out of date, we
    revert back to a bulk download.
  • Several patches related to allowing RubyGems to work with
    authenticating proxies (from Danie Roux and Anatol P.). Just
    put the user and password in the proxy URL (e.g. -p
    http://user:[email protected]:8080) or use the
    HTTP_PROXY_USER and HTTP_PROXY_PASS environment variables.
  • The gem unpack command can now accept a file path rather than just a
    install gem name.
  • Both RI and RDOC documents are now generated by default.
  • A gemri command is included to read gem RI docs (only needed for
    Ruby 1.8.4 or earlier).

Minor enhancements include:

  • Verison 0.0.0 is now a valid gem version.
  • Better detection of missing SSL functionality.
  • SSL is not required if the security policy does not require
    signature checking.
  • Rake built extensions are now supported (Tilman S.).
  • Several autorequire bug fixes.
  • –traceback is now an alias for --backtrace (I can never remember
    which one it is).
  • SAFE=1 compatibility fixes.
  • .rbw is now a supported suffix for RubyGem’s custom require.
  • Several Ruby 1.9 compatibility fixes (Eric H.).

Bug Fixes:

  • Added dashes to gemspecs generated in Ruby 1.8.3. This solves some
    cross-Ruby version compatibility issues.
  • Fixed bug where the wrong executables could be uninstalled (Eric
    Hodel).
  • Fixed bug where gem unpack occasionally unpacked the wrong gem.
  • Fixed bug where a fatal error occured when permissions on .gemrc
    were too restrictive (reported by Luca Pireddu).
  • Fixed prefix handling for native expressions (patch by Aaron
    Patterson).
  • Fixed several Upgrade => Update typos.

== What is RubyGems?

RubyGems is a package management system for Ruby applications and
libraries. RubyGems one command download makes installing Ruby software
fun and enjoyable again. (Ok, not really.)

Many gems are available for download from the RubyForge site. Browse
the list of gems with a “gem list --remote” command and download what
you need with a simple “gem install ”. RubyGems takes care
of the details of installing, not only the gem you requested, but also
any gems needed by the software you selected.

== RubyGems Statistics

  • About 780 different gems are available from RubyForge
  • Over 350 thousand downloads of the RubyGems software
  • Over 4 million gem downloads

If you are interested in finding out when new gems are released, I
maintain an RSS feed at http://onestepback.org/gemwatch.rss.

== How can I get RubyGems?

If you have a recent version of RubyGems (0.8.5 or later), then all
you need to do is:

$ gem update --system (you might need to be admin/root)

(Note: You may have to run the command twice if you have any previosly
installed rubygems-update gems).

If you have an older version of RubyGems installed, then you can still
do it in two steps:

$ gem install rubygems-update (again, might need to be admin/root)
$ update_rubygems (… here too)

If you don’t have any gems install, there is still the pre-gem
approach to getting software … doing it manually:

  1. DOWNLOAD FROM: http://rubyforge.org/frs/?group_id=126
  2. UNPACK INTO A DIRECTORY AND CD THERE
  3. INSTALL WITH: ruby setup.rb all (you may need admin/root privilege)

== What’s Next

The next big thing on the plate is to integrate the local/remote gem
logic and make the whole thing more consistent.

== Thanks

Major contributors to this release include:

  • Danie Roux, Anatol P., Eric H., Luca Pireddu, and Tilman
    Sauerbeck.

Keep those gems coming!

– Jim & Chad (for the RubyGems team)

Am 28.06.2006 um 19:10 schrieb Jim W.:

= Announce: RubyGems Release 0.9.0

  • The gem index is now downloaded incrementally, only updating entries
    that are out of date. If more than 50 entries are out of date, we
    revert back to a bulk download.

Hi,

how can I force gem to update the index? Somehow my gem installation
seems to be a bit confused when running whith super user privileges:

[mbp:~] th% gem -v
0.9.0
[mbp:~] th% gem up
Updating installed gems…
Attempting remote update of actionmailer
Install required dependency actionpack? [Yn]
ERROR: While executing gem … (Errno::EACCES)
Permission denied - /opt/local/lib/ruby/gems/1.8/cache/
actionpack-1.12.2.gem
[mbp:~] th% sudo gem up
Updating installed gems…
Gems: [] updated
[mbp:~] th%

Timo

On Jun 29, 2006, at 12:16, Timo H. wrote:

Hi,

how can I force gem to update the index? Somehow my gem
installation seems to be a bit confused when running whith super
user privileges:

Looks like most issues disappear if one deletes the file

source_cache

located in the directory

gem env gempath

– fxn

how can I force gem to update the index? Somehow my gem
installation seems to be a bit confused when running whith super
user privileges:
Looks like most issues disappear if one deletes the file
source_cache
located in the directory
gem env gempath

Thanks, that helped!

Looks like there are several source_index files. One in

~/.gem/source_index

and one in

`gem env gempath`/source_index

which one is used when? The latter one only for the super user?

Thanks again,

Timo

how can I force gem to update the index? Somehow my gem
installation seems to be a bit confused when running whith super
user privileges:
Looks like most issues disappear if one deletes the file
source_cache
located in the directory
gem env gempath
Thanks, that helped!

Ok, 1 fixed, 1 new:

[mbp:~] th% sudo gem install rmagick
ERROR: While executing gem … (OpenURI::HTTPError)
300 Multiple Choices

What’s wrong here?

Timo

I have deleted the source_cache from gem env gempath and than I
redone: gem update --system (this time the last lines look like
everything went well:

Successfully built RubyGem
Name: sources
Version: 0.0.1
File: sources-0.0.1.gem
RubyGems system software updated

./alex

.w( the_mindstorm )p.

Trying to uprade from 0.8.11, Ruby 1.8.4 on WinXP, I can read in the
last lines:

Successfully built RubyGem
Name: sources
Version: 0.0.1
File: sources-0.0.1.gem
hook
C:/ruby/ruby_1.8.4/lib/ruby/gems/1.8/gems/rubygems-update-0.9.0/./post-install.rb
failed:
undefined method `post_install_message’ for
#Gem::Specification:0x2ffd550

Is this something wrong?

./alex

On Thu, 2006-06-29 at 19:55 +0900, Timo H. wrote:

Ok, 1 fixed, 1 new:

[mbp:~] th% sudo gem install rmagick
ERROR: While executing gem … (OpenURI::HTTPError)
300 Multiple Choices

What’s wrong here?

Hm, for some reason the gem had not sync’d out… I’ve sync’d it
manually and it should be out there now. I’ll look at that a bit to see
what went wrong.

Yours,

Tom

On Jun 28, 2006, at 1:10 PM, Jim W. wrote:

= Announce: RubyGems Release 0.9.0

Finally, the much anticipated RubyGems version 0.9.0 is now available.
This release includes a number of new features and bug fixes. The
number one change is that we can now download the gem index
incrementally. This will greatly speed up the gem command when only a
few gems are out of date.

Thanks!

gemri is brillant.

Logan C. wrote:

Thanks!

gemri is brillant.

Gemri is a temporary fix. My understanding is that upcoming versions of
Ruby will have the capability baked into the basic ri command.

– Jim W.

On Jun 29, 2006, at 10:10 AM, Jim W. wrote:

Logan C. wrote:

Thanks!

gemri is brillant.

Gemri is a temporary fix. My understanding is that upcoming
versions of
Ruby will have the capability baked into the basic ri command.

Ruby 1.8.5p2 will allow easy view of ri for a particular gem.


Eric H. - [email protected] - http://blog.segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com

I added better RubyGems 0.8.11 support to RubyScript2Exe, this
week.

RubyGems 0.9.0 doesn’t work with RubyScript2Exe…

I hate conditionally requiring libraries!.. ;]

gegroet,
Erik V. - http://www.erikveen.dds.nl/

On 6/28/06, Jim W. [email protected] wrote:

= Announce: RubyGems Release 0.9.0

[snip]

Thanks Jim.

I updated this relevant wiki page:
http://wiki.rubygarden.org/Ruby/page/show/RiRDocAndGems

—John

On Jun 30, 2006, at 12:51 AM, Erik V. wrote:

I added better RubyGems 0.8.11 support to RubyScript2Exe, this
week.

RubyGems 0.9.0 doesn’t work with RubyScript2Exe…

Why?


Eric H. - [email protected] - http://blog.segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com

I’m getting an error on step 2 (update_gems). I’m on WinXP, Ruby

c:\dev> gem install rubygems-update
Attempting local installation of ‘rubygems-update’
Local gem file not found: rubygems-update*.gem
Attempting remote installation of ‘rubygems-update’
Updating Gem source index for: http://gems.rubyforge.org
Successfully installed rubygems-update-0.9.0

c:\dev> update_rubygems
Error: Cannot find RubyGems Update Path!

RubyGems has already been updated.
The rubygems-update gem may now be uninstalled.
E.g. gem uninstall rubygems-update

c:\dev>gem -v
0.8.11

Any workaround?

Thanks!
Jeff

Jeff C. wrote:

I’m getting an error on step 2 (update_gems). I’m on WinXP, Ruby
[…]
Any workaround?

What happens with

gem update --system

?

– Jim W.

Jim W. wrote:

What happens with

gem update --system

I think that worked… got lots of output, only the ending of which made
me wonder a bit:

hook c:/Program
Files/ruby/lib/ruby/gems/1.8/gems/rubygems-update-0.9.0/./post-install.rb
failed:
undefined method `post_install_message’ for
#Gem::Specification:0x320fc68
Try ‘ruby setup.rb --help’ for detailed usage.
RubyGems system software updated

But now the version number has been updated:

c:\dev>gem -v
0.9.0

So I’m thinking everything’s now ok?

Jeff C. wrote:

So I’m thinking everything’s now ok?

Tried to install the latest mongrel:

c:\dev>gem install mongrel
ERROR: While executing gem … (Gem::GemNotFoundException)
Could not find mongrel (> 0) in the repository

However, this did work:

c:\dev>gem install mongrel
–source=http://mongrel.rubyforge.org/releases/

Any idea why the simple “gem install” didn’t work?

Thanks again,
Jeff

Jeff C. wrote:

Jeff C. wrote:

So I’m thinking everything’s now ok?

Tried to install the latest mongrel:

c:\dev>gem install mongrel
ERROR: While executing gem … (Gem::GemNotFoundException)
Could not find mongrel (> 0) in the repository

However, this did work:

c:\dev>gem install mongrel
–source=http://mongrel.rubyforge.org/releases/

Any idea why the simple “gem install” didn’t work?

There was a gem on rubyforge that somehow corrupted the gem index on
that site. A lot of people seemed to have downloaded the corrupted
index and it has been causing problems. The easiest way to deal with it
is to just delete your gem cache file.

Use the gem env command to find the default gem repository directory and
remove the source_cache file there.

$ gem env gemdir
PATH_TO_DEFAULT_GEM_REPOSITORY
$ rm PATH_TO_DEFAULT_GEM_REPOSITORY/souce_cache
$ rm $HOME/.gem/source_cache

The .gem cache will only exist if the default repository is not writable
from your user account. Delete both if they exist.


– Jim W.

(Back in town…)

I added better RubyGems 0.8.11 support to RubyScript2Exe,
this week.

RubyGems 0.9.0 doesn’t work with RubyScript2Exe…

Why?

It’s complaining about a missing fileutils:

…/lib/rubygems/custom_require.rb:21:in `require__':
No such file to load – fileutils (LoadError)

I did some more testing with more gems on different platforms.
The conclusion is twofold: a) The problem occurred with
RubyGems 0.8.11 as well (in combination with RubyScript2Exe
0.4.4) and b) it doesn’t occur with all gems (e.g. sqlite-ruby
is a problem, actionmailer isn’t).

Requiring fileutils by hand is a (temporary) solution:

require “rubygems”
require “fileutils” # <<< ADD THIS
require_gem “sqlite-ruby”

A better solution would be to require fileutils from within
RubyScript2Exe if it knows that rubygems is required, but
fileutils isn’t. However, that doesn’t feel good… “Which
library next?”

Which libraries are required conditionally by RubyGems?

My proposition: Do not conditionally require libraries. Not
only because RubyScript2Exe won’t find these libs, but because
it’s usually not necessary to do so. (I know, there are
exceptions: It’s either mysql or sqlite, not both at the same
time. But at least require them at startup time, please.) I,
personally, want my applications to behave properly once they
are started: I don’t want my users to see any avoidable
“missing library” message.

Statement: “All libraries should be loaded at startup time.”

Regarding Rails, as an example: It’s not necessary to require
ruby-sqlite when the application only uses mysql. But why are
these libraries required when the application tries to access
the database and not at startup time? I don’t know.

gegroet,
Erik V. - http://www.erikveen.dds.nl/

PS: This particular problem is a RubyScript2Exe problem and
not a RubyGems problem. It’s all my fault…