[ANN] RubyGems 0.9.5

RubyGems 0.9.5 adds several new features and fixes several bugs.

To upgrade to the latest RubyGems:

   gem update --system

To upgrade to the latest RubyGems by hand:

* Download RubyGems from http://rubyforge.org/frs/?group_id=126&release_id=16500
* `gem install rubygems-update-0.9.5.gem`
* `update_rubygems`

To install RubyGems from scratch:

* Download RubyGems source .tgz or .zip file from
   http://rubyforge.org/frs/?group_id=126&release_id=16500
* Unpack the source .tgz or .zip
* `ruby setup.rb`

To install RubyGems on Ruby 1.9 update your ruby trunk checkout and reinstall.

To file bugs:

   http://rubyforge.org/tracker/?func=add&group_id=126&atid=575

When filing a bug, `gem env` output will be helpful in diagnosing the issue.

If you find a bug where RubyGems crashes, please provide debug output. You can do that with `gem --debug the_command`. For example:

   $ gem --debug unknown_command
   Exception `RuntimeError' at [...]/rubygems/command_manager.rb:114 - Unknown command unknown_command
   ERROR: While executing gem ... (RuntimeError)
       Unknown command unknown_command
           [...]/rubygems/command_manager.rb:114:in `find_command'
           [...]/rubygems/command_manager.rb:103:in `process_args'
           [...]/rubygems/command_manager.rb:74:in `run'
           [...]/rubygems/gem_runner.rb:39:in `run'
           /usr/local/bin/gem:22

=== Changes

Select new features include:

* Automatic installation of platform gems
* New bandwidth and memory friendlier index file format
* "Offline" mode (--no-update-sources)
* Bulk update threshold can be specified (-B, --bulk-threshold)
* New `gem fetch` command
* `gem` now has "really verbose" output when you specify -v
* Ruby 1.9 compatible

Other changes include:

* Time::today is deprecated and will be removed at a future date
* `gem install --include-dependencies` (-y) is now deprecated since it is the
   default, use --ignore-dependencies to turn off automatic dependency
   installation
* `gem.bat` and bin stubs on mswin platforms are improved and compatible with
   the One-Click Installer
* Multi-version diamond dependencies only are installed once
* Bulk index updates take less memory
* -V now enables verbose instead of -v to avoid collision with --version's -v
* `gem install -i` makes sure all depenencies are installed
* `gem update --system` reinstalls into the prefix it was originally installe in
* `gem update --system` respects --no-rdoc and --no-ri flags
* HTTP basic authentication support for proxies
* Gem::Specification#platforms should no longer be a String, use
   Gem::Platfor::CURRENT when building binary gems instead
* `gem env` has more diagnostic information
* require 'rubygems' loads less code
* sources.gem is gone, RubyGems now uses built-in defaults
* `gem install --source` will no longer add --source by default, use
   `gem souces --add` to make it a permanent extra source
* `gem query` (list) no longer prints details by default
* Exact gem names are matched in various places
* mkrf extensions are now supported
* A gem can depend on a specific RubyGems version
* `gem_server` is now `gem server`
* `gemlock` is now `gem lock`
* `gem_mirror` is now `gem mirror`
* `gemwhich` is now `gem which`
* `gemri` is no longer included with RubyGems
* `index_gem_repository.rb` is now `gem generate_index`
* `gem` performs more validation of parameters
* Removed gem* commands are now replaced with stubs that warn
* Custom rdoc styles are now supported
* Gem indexer no longer removes quick index during index creation
* Kernel#require only rescues a LoadError for the file being required now
* `gem dependencies` can now display some information for remote gems

=== Special Thanks

* Daniel Berger for win32 support and testing
* Luis Lavena for win32 support and testing
* Tom Copeland for help testing and releasing the new indexer
* Wilson Bilkovich for the new Marshal index format
* To the rest of the RubyGems bug reporters and patch contributors

The full set of changes including contributors is included in the ChangeLog.

=== Platforms

RubyGems now automatically handles platform gems. This means that `gem install` will no longer prompt for gem selection. RubyGems uses Ruby's built-in configuration to match the running ruby's platform to choose the correct gem to install. The automatically chosen platform may be overridden with the --platform option.

The dependency, fetch, install, outdated, specification, uninstall and update commands all respond to --platform.

For more information, see `gem help platforms`

=== Thanks

Keep those gems coming!

-- Jim & Chad & Eric (for the RubyGems team)

···

--
Poor workers blame their tools. Good workers build better tools. The
best workers get their tools to do the work for them. -- Syndicate Wars

I got caught by some "tired at the end of the day" stupidity...

I was using the Ubuntu (apt-get installed) package of RubyGems. Go
figure if you do a 'gem update --system' in this situation it makes a
mess of things.

I choose to try gems out this way because every time I've installed Gems
from source to some prefix other than /usr/lib it's managed to find
some way to not work or be otherwise inconvenient.

RubyGems has really become the one thing about Ruby I dislike.

···

--
Posted via http://www.ruby-forum.com/.

Eric Hodel wrote:

RubyGems 0.9.5 adds several new features and fixes several bugs.

RubyGems 0.9.5 looks great but I cannot installed the ruby-debug-ide
gem.

I just create an issue on the RubyForge tracker :

[#15759] rubygems 0.9.5 cannot install ruby-debug-ide

Cheers.

Chauk-Mean.

···

--
Posted via http://www.ruby-forum.com/\.

Just a quick note to mention that Mac OS X 10.5 is now fully supported
by this release. Updating to it should not break Leopard's Ruby
configuration.

Laurent

···

On Nov 20, 2007 1:35 AM, Eric Hodel <drbrain@segment7.net> wrote:

RubyGems 0.9.5 adds several new features and fixes several bugs.
[...]

Congratulations! I know this is a major step for the Gems team as they
merge their codebase with 1.9... cool beans.

···

On Mon, 19 Nov 2007 19:35:27 -0500, Eric Hodel wrote:

RubyGems 0.9.5 adds several new features and fixes several bugs.

--
Jay Levitt |
Boston, MA | My character doesn't like it when they
Faster: jay at jay dot fm | cry or shout or hit.
http://www.jay.fm | - Kristoffer

Chauk-Mean P. wrote:

Eric Hodel wrote:

RubyGems 0.9.5 adds several new features and fixes several bugs.

RubyGems 0.9.5 looks great but I cannot installed the ruby-debug-ide
gem.

I just create an issue on the RubyForge tracker :

[#15759] rubygems 0.9.5 cannot install ruby-debug-ide

I forgot to mention that I only use local installation of gems that I
already have downloaded (offline installation).

I tried forcing a local installation of ruby-debug-ide-0.1.9.gem and
this works :
gem install -l ruby-debug-ide

It's a bit strange as I have been able to install ruby-debug-base
(ruby-debug-base-0.9.3-mswin32.gem) without the local flag (-l).

Cheers.

Chauk-Mean.

···

--
Posted via http://www.ruby-forum.com/\.

My way of looking a this is the brain-dead packaging of Ruby on debian
is the one thing about Ubuntu (and Debian based distros) that *I*
dislike.

The problems you've experienced, I think, come from trying to mix
debian packaged ruby with source installed gems.

When I first started using Ruby on Ubuntu I ran into problems like
this. At Andy Hunt's suggestion I installed both Ruby and rubygems
from source and haven't looked back.

···

On Nov 20, 2007 12:53 AM, Michael Greenly <mgreenly@gmail.com> wrote:

I got caught by some "tired at the end of the day" stupidity...

I was using the Ubuntu (apt-get installed) package of RubyGems. Go
figure if you do a 'gem update --system' in this situation it makes a
mess of things.

I choose to try gems out this way because every time I've installed Gems
from source to some prefix other than /usr/lib it's managed to find
some way to not work or be otherwise inconvenient.

RubyGems has really become the one thing about Ruby I dislike.

--
Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/

I just ran into a new RubyGems 0.9.5 issue this morning as well:

$ sudo gem install rmagick
Password:
Bulk updating Gem source index for: http://gems.rubyforge.org
Building native extensions. This could take a while...
Successfully installed rmagick-1.15.10
1 gem installed
Firefly:~/Documents/weddingbook james$ ruby -rubygems -e 'require "RMagick"'
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require': no such file to load -- RMagick.so (LoadError)
         from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
         from /usr/local/lib/ruby/site_ruby/1.8/RMagick.rb:11 from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
         from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
         from -e:1

I'll go file a bug.

James Edward Gray II

···

On Nov 20, 2007, at 4:33 AM, Chauk-Mean P. wrote:

Eric Hodel wrote:

RubyGems 0.9.5 adds several new features and fixes several bugs.

RubyGems 0.9.5 looks great but I cannot installed the ruby-debug-ide
gem.

I just create an issue on the RubyForge tracker :

[#15759] rubygems 0.9.5 cannot install ruby-debug-ide

I got caught by some "tired at the end of the day" stupidity...

I was using the Ubuntu (apt-get installed) package of RubyGems. Go
figure if you do a 'gem update --system' in this situation it makes a
mess of things.

That doesn't surprise me. I don't use the Ubuntu or Debian versions of
Ruby; they're too broken by nonsensical policies to use.

I choose to try gems out this way because every time I've installed Gems
from source to some prefix other than /usr/lib it's managed to find
some way to not work or be otherwise inconvenient.

It's not /usr/lib. I have RubyGems installed in /usr/local/lib,
because I have *Ruby* in /usr/local. If you're not going to put
RubyGems in the same place as Ruby, you're going to have to go to a
little extra effort.

RubyGems has really become the one thing about Ruby I dislike.

It's probably because you're not using it the easy way.

-austin

···

On 11/20/07, Michael Greenly <mgreenly@gmail.com> wrote:
--
Austin Ziegler * halostatue@gmail.com * http://www.halostatue.ca/
               * austin@halostatue.ca * You are in a maze of twisty little passages, all alike. // halo • statue
               * austin@zieglers.ca

Rather than using features provided by RubyGems (GEM_PATH), Debian (and I guess also Ubuntu since it also uses apt) instead chose to hack RubyGems.

If this causes breakage, I'm sorry, but it is impossible for the RubyGems team to support a hacked RubyGems.

···

On Nov 19, 2007, at 21:53 , Michael Greenly wrote:

I got caught by some "tired at the end of the day" stupidity...

I was using the Ubuntu (apt-get installed) package of RubyGems. Go
figure if you do a 'gem update --system' in this situation it makes a
mess of things.

I choose to try gems out this way because every time I've installed Gems
from source to some prefix other than /usr/lib it's managed to find
some way to not work or be otherwise inconvenient.

RubyGems has really become the one thing about Ruby I dislike.

--
Poor workers blame their tools. Good workers build better tools. The
best workers get their tools to do the work for them. -- Syndicate Wars

Thanks.

···

On Nov 20, 2007, at 02:33 , Chauk-Mean P. wrote:

Eric Hodel wrote:

RubyGems 0.9.5 adds several new features and fixes several bugs.

RubyGems 0.9.5 looks great but I cannot installed the ruby-debug-ide
gem.

I just create an issue on the RubyForge tracker :

[#15759] rubygems 0.9.5 cannot install ruby-debug-ide

--
Poor workers blame their tools. Good workers build better tools. The
best workers get their tools to do the work for them. -- Syndicate Wars

Rick Denatale wrote:

RubyGems has really become the one thing about Ruby I dislike.

My way of looking a this is the brain-dead packaging of Ruby on debian
is the one thing about Ubuntu (and Debian based distros) that *I*
dislike.

The problems you've experienced, I think, come from trying to mix
debian packaged ruby with source installed gems.

When I first started using Ruby on Ubuntu I ran into problems like
this. At Andy Hunt's suggestion I installed both Ruby and rubygems
from source and haven't looked back.

--
Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/

Hardly... in all package managed systems /usr/lib belongs to the package
manager. No other application should ever be mucking around in there.
This is not something unique to Debian based systems. It's just that
Debian users tend to be more more vocal about these policies.

The system package currently in Ubuntu for RubyGems just about gets it
right. They most likely should of disabled the 'system' update feature
so that it wasn't possible to do what I did.

On the other hand if the upstream RubyGems would actually allow for the
concept that it may live in /usr/lib but not be allowed to manipulate
anything there it would make life a lot easier.

Now that (according to the release notes) it correctly updates when
installed to different prefixes I guess I'll try source a source install
to /usr/local again.

···

On Nov 20, 2007 12:53 AM, Michael Greenly <mgreenly@gmail.com> wrote:

--
Posted via http://www.ruby-forum.com/\.

Chauk-Mean P. wrote:

Chauk-Mean P. wrote:

Eric Hodel wrote:

RubyGems 0.9.5 adds several new features and fixes several bugs.

RubyGems 0.9.5 looks great but I cannot installed the ruby-debug-ide
gem.

I just create an issue on the RubyForge tracker :

[#15759] rubygems 0.9.5 cannot install ruby-debug-ide

I tried forcing a local installation of ruby-debug-ide-0.1.9.gem and
this works :
gem install -l ruby-debug-ide

It's a bit strange as I have been able to install ruby-debug-base
(ruby-debug-base-0.9.3-mswin32.gem) without the local flag (-l).

I think that I have understood what's happening :
- rubygems 0.9.5 includes dependencies during installation by default
now
- when I first install ruby-debug-base locally (without -l), it works as
this gem has no dependency on other gems
- then when I tried to install ruby-debug-ide locally (again without
-l), it fails as it seems that rubygems tries to install the required
dependency (ruby-debug-base) remotely and not locally.

Forcing the local installation with -l solves my problem.

This raises two issues :
1- rubygems seems to not take care of gems that are already installed
(during the dependency checking)
2- rubygems should try to install dependency gems locally before
remotely.

Cheers.

Chauk-Mean.

···

--
Posted via http://www.ruby-forum.com/\.

Michael Greenly wrote:

Hardly... in all package managed systems /usr/lib belongs to the package manager. No other application should ever be mucking around in there. This is not something unique to Debian based systems. It's just that Debian users tend to be more more vocal about these policies.

Let me emphasize what you just said. /usr/lib belongs to the package manager on all distros! There's a *reason* the Ruby source and most other upstream sources install to ("--prefix" in "configure") */usr/local* rather than */usr* by default. So ... your options are

1. Work with the packages as supplied by your distro.
2. *Don't* install the packages supplied by your distro -- use upstream source and put things in /usr/local.
3. Complain and whine to busy people who will blow you off. :slight_smile:

Rick Denatale wrote:

RubyGems has really become the one thing about Ruby I dislike.

My way of looking a this is the brain-dead packaging of Ruby on debian
is the one thing about Ubuntu (and Debian based distros) that *I*
dislike.

The problems you've experienced, I think, come from trying to mix
debian packaged ruby with source installed gems.

When I first started using Ruby on Ubuntu I ran into problems like
this. At Andy Hunt's suggestion I installed both Ruby and rubygems
from source and haven't looked back.

Hardly... in all package managed systems /usr/lib belongs to the package
manager. No other application should ever be mucking around in there.
This is not something unique to Debian based systems. It's just that
Debian users tend to be more more vocal about these policies.

Maybe for Linux distributions. RubyGems works on more than just Linux.

On the other hand if the upstream RubyGems would actually allow for the
concept that it may live in /usr/lib but not be allowed to manipulate
anything there it would make life a lot easier.

RubyGems allows this via the GEM_PATH and GEM_HOME environment variables.

It is not the fault of RubyGems if Debian, instead of using the provided features, partially disables them with hard-coded paths to get what they want.

···

On Nov 20, 2007, at 06:29 , Michael Greenly wrote:

On Nov 20, 2007 12:53 AM, Michael Greenly <mgreenly@gmail.com> wrote:

--
Poor workers blame their tools. Good workers build better tools. The
best workers get their tools to do the work for them. -- Syndicate Wars

Chauk-Mean P. wrote:

Chauk-Mean P. wrote:

Eric Hodel wrote:

RubyGems 0.9.5 adds several new features and fixes several bugs.

RubyGems 0.9.5 looks great but I cannot installed the ruby-debug-ide
gem.

I just create an issue on the RubyForge tracker :

[#15759] rubygems 0.9.5 cannot install ruby-debug-ide

I tried forcing a local installation of ruby-debug-ide-0.1.9.gem and
this works :
gem install -l ruby-debug-ide

It's a bit strange as I have been able to install ruby-debug-base
(ruby-debug-base-0.9.3-mswin32.gem) without the local flag (-l).

I think that I have understood what's happening :
- rubygems 0.9.5 includes dependencies during installation by default
now
- when I first install ruby-debug-base locally (without -l), it works as
this gem has no dependency on other gems
- then when I tried to install ruby-debug-ide locally (again without
-l), it fails as it seems that rubygems tries to install the required
dependency (ruby-debug-base) remotely and not locally.

Forcing the local installation with -l solves my problem.

This raises two issues :
1- rubygems seems to not take care of gems that are already installed
(during the dependency checking)

It does for me:

$ gem fetch ruby-debug-base
missing 9371 gems
Bulk updating Gem source index for: http://gems.rubyforge.org
Downloaded ruby-debug-base-0.9.3.gem
[ 15:15 drbrain@kaa:~/tmp ]
$ gem install -l ruby-debug-base -i gems
Installing gem ruby-debug-base-0.9.3
Using local gem /Users/drbrain/tmp/gems/cache/ruby-debug-base-0.9.3.gem
Building native extensions. This could take a while...
Successfully installed ruby-debug-base-0.9.3
1 gem installed
Installing ri documentation for ruby-debug-base-0.9.3...
Installing RDoc documentation for ruby-debug-base-0.9.3...
[ 15:16 drbrain@kaa:~/tmp ]
$ gem install ruby-debug-ide -i gems
Installing gem ruby-debug-ide-0.1.9
Downloading gem ruby-debug-ide-0.1.9.gem
Successfully installed ruby-debug-ide-0.1.9
1 gem installed

If you can reproduce your issue, please file a bug.

2- rubygems should try to install dependency gems locally before
remotely.

Yes, I think this is the core of #15759, so I updated the title.

···

On Nov 20, 2007, at 07:14 , Chauk-Mean P. wrote:

--
Poor workers blame their tools. Good workers build better tools. The
best workers get their tools to do the work for them. -- Syndicate Wars

Please file a bug in the debian bug tracking system
(submit@bugs.debian.org) requesting that this feature be disabled.

--Ken

···

On Tue, 20 Nov 2007 09:29:31 -0500, Michael Greenly wrote:

Rick Denatale wrote:

On Nov 20, 2007 12:53 AM, Michael Greenly <mgreenly@gmail.com> wrote:

RubyGems has really become the one thing about Ruby I dislike.

My way of looking a this is the brain-dead packaging of Ruby on debian
is the one thing about Ubuntu (and Debian based distros) that *I*
dislike.

The problems you've experienced, I think, come from trying to mix
debian packaged ruby with source installed gems.

When I first started using Ruby on Ubuntu I ran into problems like
this. At Andy Hunt's suggestion I installed both Ruby and rubygems
from source and haven't looked back.

--
Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/

Hardly... in all package managed systems /usr/lib belongs to the package
manager. No other application should ever be mucking around in there.
This is not something unique to Debian based systems. It's just that
Debian users tend to be more more vocal about these policies.

The system package currently in Ubuntu for RubyGems just about gets it
right. They most likely should of disabled the 'system' update feature
so that it wasn't possible to do what I did.

--
Ken (Chanoch) Bloom. PhD candidate. Linguistic Cognition Laboratory.
Department of Computer Science. Illinois Institute of Technology.
http://www.iit.edu/~kbloom1/

I have filed a bug in Debian regarding this. See http://
bugs.debian.org/452547

--Ken

···

On Tue, 20 Nov 2007 09:29:31 -0500, Michael Greenly wrote:

Rick Denatale wrote:

On Nov 20, 2007 12:53 AM, Michael Greenly <mgreenly@gmail.com> wrote:

RubyGems has really become the one thing about Ruby I dislike.

My way of looking a this is the brain-dead packaging of Ruby on debian
is the one thing about Ubuntu (and Debian based distros) that *I*
dislike.

The problems you've experienced, I think, come from trying to mix
debian packaged ruby with source installed gems.

When I first started using Ruby on Ubuntu I ran into problems like
this. At Andy Hunt's suggestion I installed both Ruby and rubygems
from source and haven't looked back.

--
Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/

Hardly... in all package managed systems /usr/lib belongs to the package
manager. No other application should ever be mucking around in there.
This is not something unique to Debian based systems. It's just that
Debian users tend to be more more vocal about these policies.

The system package currently in Ubuntu for RubyGems just about gets it
right. They most likely should of disabled the 'system' update feature
so that it wasn't possible to do what I did.

--
Ken (Chanoch) Bloom. PhD candidate. Linguistic Cognition Laboratory.
Department of Computer Science. Illinois Institute of Technology.
http://www.iit.edu/~kbloom1/

Michael Greenly wrote:
> Hardly... in all package managed systems /usr/lib belongs to the package
> manager. No other application should ever be mucking around in there.
> This is not something unique to Debian based systems. It's just that
> Debian users tend to be more more vocal about these policies.

Let me emphasize what you just said. /usr/lib belongs to the package
manager on all distros! There's a *reason* the Ruby source and most
other upstream sources install to ("--prefix" in "configure")
*/usr/local* rather than */usr* by default. So ... your options are

1. Work with the packages as supplied by your distro.
2. *Don't* install the packages supplied by your distro -- use upstream
source and put things in /usr/local.

Which is what I did on ubuntu, I just wasn't explicit about where I
installed in my post.

3. Complain and whine to busy people who will blow you off. :slight_smile:

<G>

···

On Nov 20, 2007 10:30 AM, M. Edward (Ed) Borasky <znmeb@cesmail.net> wrote:

--
Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/

4. Complain to your distro manager to be more sensible when it comes
to Ruby. Look closely at what Apple did for good suggestions.

-austin

···

On 11/20/07, M. Edward (Ed) Borasky <znmeb@cesmail.net> wrote:

Michael Greenly wrote:
> Hardly... in all package managed systems /usr/lib belongs to the package
> manager. No other application should ever be mucking around in there.
> This is not something unique to Debian based systems. It's just that
> Debian users tend to be more more vocal about these policies.

Let me emphasize what you just said. /usr/lib belongs to the package
manager on all distros! There's a *reason* the Ruby source and most
other upstream sources install to ("--prefix" in "configure")
*/usr/local* rather than */usr* by default. So ... your options are

1. Work with the packages as supplied by your distro.
2. *Don't* install the packages supplied by your distro -- use upstream
source and put things in /usr/local.
3. Complain and whine to busy people who will blow you off. :slight_smile:

--
Austin Ziegler * halostatue@gmail.com * http://www.halostatue.ca/
               * austin@halostatue.ca * You are in a maze of twisty little passages, all alike. // halo • statue
               * austin@zieglers.ca