RubyGems 1.2.0

= Announce: RubyGems Release 1.2.0

Release 1.2.0 adds new features and fixes some bugs.

New features:

  • RubyGems no longer performs bulk updates and instead only fetches
    the gemspec
    files it needs. Alternate sources will need to upgrade to RubyGems
    1.2 to
    allow RubyGems to take advantage of the new metadata updater. If a
    pre 1.2
    remote source is in the sources list, RubyGems will revert to the
    bulk update
    code for compatibility.
  • RubyGems now has runtime and development dependency types. Use
    #add_development_dependency and #add_runtime_dependency. All
    typeless
    dependencies are considered to be runtime dependencies.
  • RubyGems will now require rubygems/defaults/operating_system.rb and
    rubygems/defaults/#{RBX_ENGINE}.rb if they exist. This allows
    packagers and
    ruby implementers to add custom behavior to RubyGems via these
    files. (If
    the RubyGems API is insufficient, please suggest improvements via the
    RubyGems list.)
  • /etc/gemrc (and windows equivalent) for global settings
  • setup.rb now handles --vendor and --destdir for packagers
  • gem stale command that lists gems by last access time

Bugs Fixed:

  • File modes from gems are now honored, patch #19737
  • Marshal Gem::Specification objects from the future can now be loaded.
  • A trailing / is now added to remote sources when missing, bug #20134
  • Gems with legacy platforms will now be correctly uninstalled, patch
    #19877
  • gem install --no-wrappers followed by gem install --wrappers no
    longer
    overwrites executables
  • gem pristine now forces reinstallation of gems, bug #20387
  • RubyGems gracefully handles ^C while loading .gemspec files from
    disk, bug
    #20523
  • Paths are expanded in more places, bug #19317, bug #19896
  • Gem::DependencyInstaller resets installed gems every install, bug
    #19444
  • Gem.default_path is now honored if GEM_PATH is not set, patch #19502

Other Changes Include:

  • setup.rb
    • stub files created by RubyGems 0.7.x and older are no longer
      removed. When
      upgrading from these ancient versions, upgrade to 1.1.x first to
      clean up
      stubs.
    • RDoc is no longer required until necessary, patch #20414
  • gem server
    • Now completely matches the output of gem generate_index and
      has correct content types
    • Refreshes from source directories for every hit. The server will
      no longer
      need to be restarted after installing gems.
  • gem query --details and friends now display author, homepage,
    rubyforge url
    and installed location
  • gem install without -i no longer reinstalls dependencies if they
    are in
    GEM_PATH but not in GEM_HOME
  • Gem::RemoteFetcher now performs persistent connections for HEAD
    requests,
    bug #7973

For a full list of changes to RubyGems and the contributor for each
change, see
the ChangeLog file.

Special thanks to Chad Wooley for backwards compatibility testing and
Luis
Lavena for continuing windows support.

== How can I get RubyGems?

NOTE: If you have installed RubyGems using a package system you may
want to
install a new RubyGems through the same packaging system.

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 (you may need admin/root privilege)

== To File Bugs

The RubyGems bug tracker can be found on RubyForge at:
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.

== Thanks

Keep those gems coming!

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

From: Eric H. [mailto:[email protected]]

= Announce: RubyGems Release 1.2.0

thank you very much for the update. it’s now a lot faster and all my
gems installed/uninstalled fine. all gems truelly updated.

Peña, Botp wrote:

From: Eric H. [mailto:[email protected]]

= Announce: RubyGems Release 1.2.0

thank you very much for the update. it’s now a lot faster and all my
gems installed/uninstalled fine. all gems truelly updated.

I second that thank you! I was worried because gem kept updating the
cache on every single command. Updating to 1.2.0 solved that.

-Ripta

On Sun, Jun 22, 2008 at 5:30 AM, Eric H. [email protected]
wrote:

remote source is in the sources list, RubyGems will revert to the bulk
update
code for compatibility.

Yahoo! I have been waiting for this!
The slower the internet access, the more appreciation you’ll get.

Les

Great…thanks for the update!
For a future release, I wish the install command would not reinstall
a gem already present in the system, or could give a warning that the
gem is already installed.

thanks,
saji

remote source is in the sources list, RubyGems will revert to the bulk


Go outside! The graphics are amazing!


Saji N. Hameed

APEC Climate Center +82 51 668 7470
National Pension Corporation Busan Building 12F
Yeonsan 2-dong, Yeonje-gu, BUSAN 611705 [email protected]
KOREA

Cool !
Thanks for the update !

Sandro

On Mon, Jun 23, 2008 at 6:17 AM, Leslie V.
[email protected]

  • RubyGems no longer performs bulk updates and instead only fetches
    the gemspec
    files it needs. Alternate sources will need to upgrade to RubyGems
    1.2 to
    allow RubyGems to take advantage of the new metadata updater. If a
    pre 1.2
    remote source is in the sources list, RubyGems will revert to the
    bulk update
    code for compatibility.

Nice new features! Sweetness.

Some notes:
~ sudo gem update --system
Updating RubyGems
Bulk updating Gem source index for: http://gems.rubyforge.org/
Nothing to update
~ gem -v
1.1.1

  1. I seem to be unable to upgrade. Hopefully this will be fixed soon by
    some propagating gems.
  2. It always does ‘mass’ bulk update each time I run this command,
    despite the fact that my gem cache is up to date.

I look forward to installing it eventually, though :slight_smile:
-R

On Jun 21, 2008, at 9:30 PM, Eric H. wrote:

= Announce: RubyGems Release 1.2.0

Release 1.2.0 adds new features and fixes some bugs.

yes, we really all do love eric.

keep up the fantastic work man!

a @ http://codeforpeople.com/

On Jun 23, 2008, at 01:59 AM, Saji N. Hameed wrote:

For a future release, I wish the install command would not reinstall
a gem already present in the system, or could give a warning that the
gem is already installed.

Why do you care?

On Sat, Jun 21, 2008 at 8:30 PM, Eric H. [email protected]
wrote:

= Announce: RubyGems Release 1.2.0

Release 1.2.0 adds new features and fixes some bugs.

New features:

  • RubyGems now has runtime and development dependency types. Use
    #add_development_dependency and #add_runtime_dependency. All typeless
    dependencies are considered to be runtime dependencies.

FYI, You can include development dependencies during an install or
update with --development.

Also, a small API addition for folks doing conditional gem loading by
manually checking the source index or rescuing LoadError:

Gem.available?(gem, *specs)

~ j.

Why do you care?

So that if you run
gem install RedCloth mongrel hpricot

it doesn’t waste time reinstalling ones whose latest version matches the
existing one on the system.

So that we can be lazy and skip the ‘gem list’ phase of installing gems
:slight_smile:
-R

On Jun 23, 2008, at 11:34 AM, Eric H. wrote:

Why do you care?

because it’s been modified locally.

a @ http://codeforpeople.com/

On Jun 23, 2008, at 11:34 AM, Eric H. wrote:

Why do you care?

also, because the environment may not be the same installing something
you know apriori has deps (LD_LIBRARY_PATH et al) compared to having
gems automatically install a dep which is already there. for example
i have two mysql installs - i need to be sure a gem install compiles
against a particular one in some cases. if gems auto installs deps
including previously installed ones it can easily surprise me be
recompiling against the wrong installation (including all deps) if i’m
unprepared.

a @ http://codeforpeople.com/

Eric H. [email protected] wrote:

Release 1.2.0 adds new features and fixes some bugs.

I’m sorry to say i was unable to upgrade :
~%> sudo gem update --system
Updating RubyGems
Bulk updating Gem source index for: http://gems.rubyforge.org/
Updating rubygems-update
ERROR: While executing gem … (Gem::GemNotFoundException)
could not find rubygems-update locally or in a repository

OS : MacOS X 10.4.11
~%> ruby --version
ruby 1.8.6 (2007-09-24 patchlevel 111) [powerpc-darwin8.11.0]
~%> gem --version
1.1.0

On Jun 23, 2008, at 10:52 AM, ara.t.howard wrote:

if gems auto installs deps including previously installed ones it
can easily surprise me be recompiling against the wrong installation
(including all deps) if i’m unprepared.

RubyGems does not reinstall dependencies that already exist, so you
don’t need to worry about this part.

Une Bévue [email protected] wrote:

I’m sorry to say i was unable to upgrade :

and more :

~%> sudo gem install amalgalite
Password:
Bulk updating Gem source index for: http://gems.rubyforge.org/
ERROR: could not find amalgalite locally or in a repository

On Mon, Jun 23, 2008 at 2:53 PM, Une Bévue
[email protected] wrote:

Une Bévue [email protected] wrote:

I’m sorry to say i was unable to upgrade :

I’m also having difficulties, it would appear that I can’t successfully
access http://gems.rubyforge.org. I can’t find the remote rails gem:

Macintosh:activerecord rick$ gem list --both rails

*** LOCAL GEMS ***

rails (2.0.2, 1.2.5, 1.2.3)

*** REMOTE GEMS ***

Bulk updating Gem source index for: http://gems.rubyforge.org/

Macintosh:activerecord rick$

If I look at that url with firefox, I get a text page with links to get
a
yaml index, look at the gems online, and download ruby gems. If I click
on
the second one, I seem to get randomly redirected to different shadow
servers most of which result in a forbidden error. A sampling:

http://gemmirror.xaop.net/gems/ gives
Forbiddin
http://gems.rubyforge.vm.bytemark.co.uk/gems/ gets through
http://gems.rubyforge.mmmultiworks.com/gems/ gives Forbidden
http://rubyforge-gems.ruby-forum.com/gems/ gives Forbidden
http://rubyforge.rubyuser.de/gems/ gets through

Here’s what happens when I try a system update:

Macintosh:activerecord rick$ sudo gem update --system
Password:
Updating RubyGems
Bulk updating Gem source index for: http://gems.rubyforge.org/
Updating rubygems-update
ERROR: While executing gem … (Gem::GemNotFoundException)
could not find rubygems-update locally or in a repository

Here’s my current gem setup

Macintosh:activerecord rick$ gem env
RubyGems Environment:

  • RUBYGEMS VERSION: 1.1.0 (1.1.0)
  • RUBY VERSION: 1.8.6 (2007-09-23 patchlevel 110) [i686-darwin8.11.1]
  • INSTALLATION DIRECTORY: /opt/local/lib/ruby/gems/1.8
  • RUBY EXECUTABLE: /opt/local/bin/ruby
  • RUBYGEMS PLATFORMS:
    • ruby
    • x86-darwin-8
  • GEM PATHS:
    • /opt/local/lib/ruby/gems/1.8
  • GEM CONFIGURATION:
    • :update_sources => true
    • :verbose => true
    • :benchmark => false
    • :backtrace => false
    • :bulk_threshold => 1000
  • REMOTE SOURCES:


Rick DeNatale

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

On Jun 23, 2008, at 12:19 PM, Eric H. wrote:

RubyGems does not reinstall dependencies that already exist, so you
don’t need to worry about this part.

oh yeah i see that - i guess i just tend to install deps by hand so
this is perhaps partly my fault.

cheers.

a @ http://codeforpeople.com/

-R
Exactly! It wastes time …

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


Saji N. Hameed

APEC Climate Center +82 51 668 7470
National Pension Corporation Busan Building 12F
Yeonsan 2-dong, Yeonje-gu, BUSAN 611705 [email protected]
KOREA

Just to add a success story… I’m on Mac OS X 10.5.3. I had no
problems updating via

$ sudo gem update --system

earlier this morning.

Here’s some system info:

$ gem env
RubyGems Environment:

  • RUBYGEMS VERSION: 1.2.0
  • RUBY VERSION: 1.8.6 (2007-09-24 patchlevel 111)
    [universal-darwin9.0]
  • INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8
  • RUBY EXECUTABLE:
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
  • EXECUTABLE DIRECTORY: /usr/bin
  • RUBYGEMS PLATFORMS:
    • ruby
    • universal-darwin-9
  • GEM PATHS:
    • /Library/Ruby/Gems/1.8

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8

Updates from the merb source were choking with an error that it wasn’t
at 1.2+, but I just removed the source, since I’m not doing much w/
merb right now.

Regards,
Craig