[ANN] RubyGems 0.8.3 Released!

J

Jim Weirich

= Announce: RubyGems Release 0.8.3

Wow, over 8000 download of either the RubyGems package or the
RubyGems-update gem! And over 150 different packages available as a
gem. Things have really moved foreward.

I am pleased to announce that a new point release of RubyGems is now
available on RubyForge. This release is mostly a bug fix and code
cleanup release. But the good news is that there are several really
annoying issues that have been addressed in 0.8.3.

But first ...

== 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 <name-of-gem>". RubyGems takes
care of the details of installing, not only the gem you requested, but
also any gems needed by the software you selected.

So now you are asking ...

== How can I get all this great stuff?

Well, here's how ...

To download and install:

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)

... or, if you have an existing RubyGem installation ....

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

I bet you are wondering...

== So What's Changed in this Release?

No real earth shattering news here, but there were a number of really
annoying issues involving other libraries that RubyGems depends upon.
0.8.3 contains some workarounds for these issues. In particular:

* Added workaround for the null byte in Dir string issue. (see
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/121702).
(Thanks to Mauricio Fernández for the quick response on this one).

* Added workaround for old version of Zlib on windows that caused
Ruwiki to fail to install. (see
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/121770)

* Added workaround for large YAML file issues. (We dynamically cut
down the size of the source index YAML file and seem to have worked
around immediate issues.

There has been some minor usability enhancements and changes ...

* A user specific source index cache can be used when the site-wide
cache is unwritable (i.e. because you are running as a non-admin).
This *greatly* speeds up gem commands run in non-admin mode when the
site-wide cache is out of date.

* The gem command now used an HTTP HEAD command to detect if the
server's source index needs to be downloaed.

* gem check gemname --test will run unit tests on installed gems that
have unit tests.

* Multiple gem names are allowed on the gem install command line.
This means you can do:

gem install rake rails needle postgres-pr pimki

(Ok, you get the idea)

* Multiple authors my be specified in a Gem spec.

* Switched to using setup.rb (rather than a custom install script) for
the installation of RubyGems itself. If you have installed RubyGems
before, double check the installation instructions and make sure you
use setup.rb instead of install.rb.

* Ryan Davis has provided a patch so you can use an env variable
(GEM_SKIP), to tell loadpath_manager not to load gems of those
names. This was useful for him while testing libs that he had in
development.

And finally there have been a number of internal changes, enhancements
and just general cleanup. A lot of work has been done in the remote
installer area (some of which you can see in the caching changes noted
above) in preparation for unifying the local and remote logic so that
there is less difference in installing local gems and remote gems. In
particular, we want to be able to satisfy dependencies from locally
available gem files. We are not there yet, but we are working on it.

== Some Random Information about RubyGems

Home Page:: http://rubygems.rubyforge.org
Downloads:: http://rubyforge.org/project/showfiles.php?group_id=126
User Guide:: http://rubygems.rubyforge.org/wiki/wiki.pl?UserGuide

== Summary

Thanks to everyone for the great feedback we have been getting.
Please continue to let us know what you think and what you want. Many
minor changes in this release were initiated/requested by folks other
than the core gems team. That's great.

And most of all, keep making and releasing those gems!

-- Jim (for the RubyGems team)
 
R

Robert Feldt

One question about updated RubyGems:

Did you fix the problem with C extensions that should not be installed
at the top-level (ie. it says
create_makefile("somepath/extensionname") instead of simply
create_makefile("extensionname"))?

Best,

Robert Feldt
 
S

Stefan Lang

Am Mittwoch, 8. Dezember 2004 04:27 schrieb Jim Weirich:
... or, if you have an existing RubyGem installation ....

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

Did just that. But now certain operations work only as root.
Normal user:
$ gem search --remote abc

*** REMOTE GEMS ***
/usr/lib/ruby/site_ruby/1.8/rubygems.rb:139:in `activate': (Gem::LoadError)
Could not find RubyGem sources (> 0.0.0)
from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:42:in `require_gem'
from /usr/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb:380:in
`sources'
from /usr/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb:390:in
`source_index_hash'
from /usr/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb:370:in
`search'
from /usr/lib/ruby/site_ruby/1.8/rubygems/gem_commands.rb:376:in
`execute'
from /usr/lib/ruby/site_ruby/1.8/rubygems/gem_commands.rb:490:in
`execute'
from /usr/lib/ruby/site_ruby/1.8/rubygems/command.rb:49:in `invoke'
from /usr/lib/ruby/site_ruby/1.8/rubygems/cmd_manager.rb:90:in
`process_args'
from /usr/lib/ruby/site_ruby/1.8/rubygems/cmd_manager.rb:63:in `run'
from /usr/lib/ruby/site_ruby/1.8/rubygems/gem_runner.rb:9:in `run'
from /usr/bin/gem:11

Works with --local instead of --remote. Works also as root.
 
J

Jim Weirich

Stefan Lang said:
Works with --local instead of --remote. Works also as root.

Ug. I won't get a check this until this evening, but I'm guessing that
the sources gem wasn't installed with the correct privileges. You should
find the sources gem at `gem env gemdir`/gems/sources-0.0.1 (notice the
back tics).

Make sure that directory (and its contents) is readable by a non-root
user. If this is the problem, let me know and I will double check the
installation scripts for problems. And if its not the problem, I still
want to hear so I can followup. If you wish, you can email me directly at
(e-mail address removed).
 
N

Nicholas Van Weerdenburg

Thanks for the update and the awesome package. RubyGems has made me
far more inclined to try to new libraries in Ruby. And it saves me
hours each month- especially considering I work on serveral machines.

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

This is great, but I sometimes forget the command to run.

Is it possible to output a short doc after install for gems that
require an additional step?

In a similar vein,

gem gemdoc rubygems-update # display gem related doc for this gem
at a future time.
=> Run "update_rubygems" to run this this gem and update RubyGems.

Also, one other question-
Is there a best-practice regarding installing gem rdoc into the system
rdoc? Is there an automatic way to do it? I quite like doing "ri
blahbla" from the command line.

Thanks,
Nick
 
S

Stefan Lang

Am Mittwoch, 8. Dezember 2004 19:30 schrieb Jim Weirich:
Stefan Lang said:

Ug. I won't get a check this until this evening, but I'm guessing that
the sources gem wasn't installed with the correct privileges. You should
find the sources gem at `gem env gemdir`/gems/sources-0.0.1 (notice the
back tics).

Make sure that directory (and its contents) is readable by a non-root
user. If this is the problem, let me know and I will double check the
installation scripts for problems. And if its not the problem, I still
want to hear so I can followup. If you wish, you can email me directly at
(e-mail address removed).

Ups:
Normal User:
$ echo `gem env gemdir`/gems/sources-0.0.1
/usr/local/lib/ruby/gems/1.8/gems/sources-0.0.1
^^^^
=> file or directory doesn't exist

Root:
$ echo `gem env gemdir`/gems/sources-0.0.1
/usr/lib/ruby/gems/1.8/gems/sources-0.0.1
=> exists

Where can I change the "gemdir"?

Perhaps this is because I have my current Ruby installation in "/usr",
but the library of an older Ruby installation still "rests" in
"/usr/local/lib".

Thanks for your help,
Stefan
 
J

Jim Weirich

Nicholas Van Weerdenburg said:
Thanks for the update and the awesome package. RubyGems has made me
far more inclined to try to new libraries in Ruby. And it saves me
hours each month- especially considering I work on serveral machines.

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

This is great, but I sometimes forget the command to run.

Is it possible to output a short doc after install for gems that
require an additional step?

This whole post install thing is a bit of a hot topic (sheesh, what isn't
these days). It would certainly be useful to run some gem-specific post
install instructions. The issue is that install often has to run as
admin/root. You might (just maybe) trust rubygems code to run during the
install, but running arbitrary code specified in a gem is a bit more
risky. Post install scripts would be a perfect place for a hacker to do
nasty things.

On the other hand, I bet most people grab a tarball and type make install
as root and never double check the Makefile for potential problems.

I'm not saying that rubygems won't do this in the future, merely that the
problem is deep enough and critical enough to spend some time thinking
thru the alternatives and make sure we understand issues.

Displaying a message isn't nearly the risk of running commands, but I
think I would like some clear idea on direction on the above issuse before
continuing.
Also, one other question-
Is there a best-practice regarding installing gem rdoc into the system
rdoc? Is there an automatic way to do it? I quite like doing "ri
blahbla" from the command line.

Gaaa ... you're asking the guy who regularly screws up his own ri
installation. Seriously, this is something that has been discussed, but
not explored yet.
 
L

Lothar Scholz

Hello Jim,

JW> = Announce: RubyGems Release 0.8.3

JW> Wow, over 8000 download of either the RubyGems package or the
JW> RubyGems-update gem! And over 150 different packages available as a
JW> gem. Things have really moved foreward.

Is it possible to get a better server for the gem archive ?
Sometimes it is very slow.
 

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,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top