[ANN] RubyGems 1.3.2

= Announce: RubyGems Release 1.3.2

NOTE: RubyGems 1.1 and 1.2 have problems upgrading when there is no
rubygems-update installed. You will need to follow the second set of update
instructions if you see "Nothing to update".

Release 1.3.2 fixes some bugs and adds some features.

Select New Features:

* RubyGems now loads plugins from rubygems_plugin.rb in installed gems.
   This can be used to add commands (See Gem::CommandManager) or add
   install/uninstall hooks (See Gem::Installer and Gem::Uninstaller).
* Gem::Version now understands prerelease versions using letters. (eg.
   '1.2.1.b') Thanks to Josh Susser, Alex Vollmer and Phil Hagelberg.
* RubyGems now includes a Rake task for creating gems which replaces rake's
   Rake::GemPackageTask. See Gem::PackageTask.
* Gem::find_files now returns paths in $LOAD_PATH.
* Added Gem::promote_load_path for use with Gem::find_files
* Added Gem::bin_path to make finding executables easier. Patch #24114 by
   James Tucker.
* Various improvements to build arguments for installing gems.
* `gem contents` added --all and --no-prefix.
* Gem::Specification
   * #validate strips directories and errors on not-files.
   * #description no longer removes newlines.
   * #name must be a String.
   * FIXME and TODO are no longer allowed in various fields.
   * Added support for a license attribute. Feature #11041 (partial).
   * Removed Gem::Specification::list, too much process growth. Bug #23668 by
     Steve Purcell.
* `gem generate_index`
   * Can now generate an RSS feed.
   * Modern indicies can now be updated incrementally.
   * Legacy indicies can be updated separately from modern.

Select Bugs Fixed:

* Better gem activation error message. Patch #23082.
* Kernel methods are now private. Patch #20801 by James M. Lawrence.
* Fixed various usability issues with `gem check`.
* `gem update` now rescues InstallError and continues. Bug #19268 by Gabriel
   Wilkins.
* Allow 'https', 'file' as a valid schemes for --source. Patch #22485.
* `gem install`
   * Now removes existing path before installing. Bug #22837.
   * Uses Gem::bin_path in executable stubs to work around Kernel#load bug in
     1.9.
   * Correctly handle build args (after --) via the API. Bug #23210.
* --user-install
   * `gem install --no-user-install` now works. Patch #23573 by Alf Mikula.
   * `gem uninstall` can now uninstall from ~/.gem. Bug #23760 by Roger Pack.
* setup.rb
   * Clarify RubyGems RDoc installation location. Bug #22656 by Gian Marco
     Gherardi.
   * Allow setup to run from read-only location. Patch #21862 by Luis Herrera.
   * Fixed overwriting ruby executable when BASERUBY was not set. Bug #24958
     by Michael Soulier.
   * Ensure we're in a RubyGems dir when installing.
   * Deal with extraneous quotation mark when autogenerating .bat file on MS
     Windows. Bug #22712.

Deprecation Notices:

* Gem::manage_gems has been removed.
* Time::today will be removed in RubyGems 1.4.

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 and Daniel Berger 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: RubyGems 1.1 and 1.2 have problems upgrading when there is no
rubygems-update installed. You will need to follow the second set of update
instructions if you see "Nothing to update".

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!

-- The RubyGems team

Eric Hodel wrote:

= Announce: RubyGems Release 1.3.2

* Removed Gem::Specification::list, too much process growth. Bug
#23668 by Steve Purcell.

It appears that this change may have broken the Rubyscript2Exe
'compiler'. Compiling a one-liner (on Windows) after updating to 1.3.2
produces the following output:

···

-----
C:\Temp>rubyscript2exe c:\temp\mully.rb
Tracing mully ...
hello world
Gathering files...
C:/Temp/tar2rubyscript.d.3348.1/rubyscript2exe/require2lib.rb:60:in
`gatherlibs': undefined method `list' for Gem::Specification:Class
(NoMethodError)
        from
C:/Temp/tar2rubyscript.d.3348.1/rubyscript2exe/require2lib.rb:30
        from c:/temp/mully.rb:1
Couldn't execute this command (rc=256):
c:\ruby\bin\ruby -r 'rubygems/rubygems_version.rb' -r
'rubygems/defaults.rb' -r 'thread.so' -r 'thread.rb' -r 'etc.so' -r
'rbconfig.rb' -r 'rubygems/exceptions.rb' -r 'rubygems/requirement.rb'
-r 'rubygems/version.rb' -r 'rubygems/dependency.rb' -r
'rubygems/gem_path_searcher.rb' -r 'rubygems/user_interaction.rb' -r
'rubygems/platform.rb' -r 'rubygems/specification.rb' -r
'rubygems/source_index.rb' -r 'rubygems/builder.rb' -r 'stringio.so' -r
'yaml/error.rb' -r 'syck.so' -r 'yaml/ypath.rb' -r 'yaml/basenode.rb' -r
'yaml/syck.rb' -r 'yaml/tag.rb' -r 'yaml/stream.rb' -r
'yaml/constants.rb' -r 'rational.rb' -r 'date/format.rb' -r 'date.rb' -r
'yaml/rubytypes.rb' -r 'yaml/types.rb' -r 'yaml.rb'
-r 'Win32API.so' -r 'rubygems/config_file.rb' -r
'rubygems/custom_require.rb' -r 'fileutils.rb' -r 'rubygems.rb' -I
'C:/Temp/tar2rubyscript.d.3348.1/rubyscript2exe' -I
'C:/Temp/tar2rubyscript.d.3348.1' -I
'c:/ruby/lib/ruby/gems/1.8/gems/rubyscript2exe-0.5.3/bin' -I
'c:/ruby/lib/ruby/gems/1.8/gems/rubyscript2exe-0.5.3/lib' -I
'c:/ruby/lib/ruby/site_ruby/1.8' -I
'c:/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt' -I
'c:/ruby/lib/ruby/site_ruby' -I 'c:/ruby/lib/ruby/1.8' -I
'c:/ruby/lib/ruby/1.8/i386-mswin32' -I '.' -I 'C:/Temp' -I
'C:/Temp/tar2rubyscript.d.3348.1/rubyscript2exe' -I
'C:/Temp/tar2rubyscript.d.3348.1/rubyscript2exe/lib' -I
'C:/Temp/tar2rubyscript.d.3348.1/rubyscript2exe' -I
'C:/Temp/tar2rubyscript.d.3348.1/rubyscript2exe/lib' -r
'C:/Temp/tar2rubyscript.d.3348.1/rubyscript2exe/require2lib.rb'
'c:\temp\mully.rb'
Stopped.
-----

Any possibility of getting Gem::Specification::list restored? Or should
rubyscript2exe users stick with earlier rubygems versions for now?

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

<snip>

All awesome stuff. Eric rules.

I wanted to point out that MS Windows users should upgrade to 1.3.2
immediately. There were a couple of significant bug fixes. One that
wasn't explicitly mentioned was RF bug #23879. The
Gem.installation_path was using a hard-coded File::SEPARATOR. That
caused problems when any attempt to require a library after
require'ing the win32-file library because I redefined some File
methods. That should no longer happen.

More details here:

http://rubyforge.org/tracker/?func=detail&aid=23761&group_id=85&atid=411

Regards,

Dan

···

On Apr 15, 3:44 pm, Eric Hodel <drbr...@segment7.net> wrote:

= Announce: RubyGems Release1.3.2

NOTE: RubyGems 1.1 and 1.2 have problems upgrading when there is no
rubygems-update installed. You will need to follow the second set of
update
instructions if you see "Nothing to update".

Release1.3.2 fixes some bugs and adds some features.

Hi all,

Thanks for another release of RubyGems. Today I've been toying with the
new version syntax, e.g. 0.0.5.rc1. Are there any more docs for this?

I can now create 'prerelease' gems but I can't figure out how to find
them with 'gem list'. Is there or will there be a flag for this?

How does it work in practice?

Say I have a gem with version 0.0.4 installed from rubyforge. A
prerelease version, 0.0.5.rc1, is uploaded to rubyforge and I run
gem update. I expect it to skip prereleases per default and I should
only explicitly install prereleases. Once a prerelease is installed
and a higher release, i.e. 0.0.5 comes out I expect update to install
it. Correct?

Thanks in advance,

  - Emiel

···

On Apr 15, 2009, at 11:44 PM, Eric Hodel wrote:

= Announce: RubyGems Release 1.3.2

NOTE: RubyGems 1.1 and 1.2 have problems upgrading when there is no
rubygems-update installed. You will need to follow the second set of update
instructions if you see "Nothing to update".

Release 1.3.2 fixes some bugs and adds some features.

Select New Features:

* RubyGems now loads plugins from rubygems_plugin.rb in installed gems.
This can be used to add commands (See Gem::CommandManager) or add
install/uninstall hooks (See Gem::Installer and Gem::Uninstaller).
* Gem::Version now understands prerelease versions using letters. (eg.
'1.2.1.b') Thanks to Josh Susser, Alex Vollmer and Phil Hagelberg.

This method recorded every spec that was loaded even if no such gem was ever required. I suspect that what's really wanted is Gem.loaded_specs.

How does rubyscript2exe work? I can't find gatherlibs, Gem::Specification, anything:

$ gem unpack rubyscript2exe
Unpacked gem: '/Users/drbrain/tmp/rubyscript2exe-0.5.3'
$ ack gatherlibs rubyscript2exe-0.5.3/
$ ack Specification rubyscript2exe-0.5.3/
$ ack Gathering rubyscript2exe-0.5.3/
$

It seems to be constructed of magic feathers and fairy dust.

Oh, it seems to be that giant comment of base64 encoded data at the bottom, that's just mean.

Yeah, it should use Gem.loaded_specs:

$ grep -nA1 \.list require2lib.rb
60: Gem::Specification.list.each do |gem|
61- if gem.loaded?

···

On Apr 16, 2009, at 07:24, David Mullet wrote:

Eric Hodel wrote:

= Announce: RubyGems Release 1.3.2

* Removed Gem::Specification::list, too much process growth. Bug
#23668 by Steve Purcell.

It appears that this change may have broken the Rubyscript2Exe
'compiler'. Compiling a one-liner (on Windows) after updating to 1.3.2
produces the following output:

-----
C:\Temp>rubyscript2exe c:\temp\mully.rb
Tracing mully ...
hello world
Gathering files...
C:/Temp/tar2rubyscript.d.3348.1/rubyscript2exe/require2lib.rb:60:in
`gatherlibs': undefined method `list' for Gem::Specification:Class
(NoMethodError)

Any possibility of getting Gem::Specification::list restored? Or should
rubyscript2exe users stick with earlier rubygems versions for now?

= Announce: RubyGems Release 1.3.2

NOTE: RubyGems 1.1 and 1.2 have problems upgrading when there is no
rubygems-update installed. You will need to follow the second set of update
instructions if you see "Nothing to update".

Release 1.3.2 fixes some bugs and adds some features.

Select New Features:

* RubyGems now loads plugins from rubygems_plugin.rb in installed gems.
This can be used to add commands (See Gem::CommandManager) or add
install/uninstall hooks (See Gem::Installer and Gem::Uninstaller).
* Gem::Version now understands prerelease versions using letters. (eg.
'1.2.1.b') Thanks to Josh Susser, Alex Vollmer and Phil Hagelberg.

Hi all,

Thanks for another release of RubyGems. Today I've been toying with the
new version syntax, e.g. 0.0.5.rc1. Are there any more docs for this?

I can now create 'prerelease' gems but I can't figure out how to find
them with 'gem list'. Is there or will there be a flag for this?

This seems to be an omission on our part, please file a bug.

How does it work in practice?

Say I have a gem with version 0.0.4 installed from rubyforge. A
prerelease version, 0.0.5.rc1, is uploaded to rubyforge and I run
gem update. I expect it to skip prereleases per default and I should
only explicitly install prereleases.

`gem install` and `gem update` have a --prerelease flag now that will install prerelease gems. You must opt-in to prereleases.

Once a prerelease is installed
and a higher release, i.e. 0.0.5 comes out I expect update to install
it. Correct?

Correct.

···

On Apr 17, 2009, at 15:01, Emiel van de Laar wrote:

On Apr 15, 2009, at 11:44 PM, Eric Hodel wrote:

It extracts its own source code from an embedded tar file (in realstuff.rb).

For those interested, I have made my rubyscript2exe replacement,
"Ocra", available on github.com (http://github.com/larsch/ocra\).
Testers are welcome.

···

On Thu, Apr 16, 2009 at 8:14 PM, Eric Hodel <drbrain@segment7.net> wrote:

On Apr 16, 2009, at 07:24, David Mullet wrote:

How does rubyscript2exe work? I can't find gatherlibs, Gem::Specification,
anything:

$ gem unpack rubyscript2exe
Unpacked gem: '/Users/drbrain/tmp/rubyscript2exe-0.5.3'
$ ack gatherlibs rubyscript2exe-0.5.3/
$ ack Specification rubyscript2exe-0.5.3/
$ ack Gathering rubyscript2exe-0.5.3/
$

It seems to be constructed of magic feathers and fairy dust.

I tried to use the "ocra" tool and now my rubyscript with QtBinding is working as perfectly as windows executable.
Thank you very much for this nice script. It helped me a lot :slight_smile:

Lars Christensen schrieb:

···

On Thu, Apr 16, 2009 at 8:14 PM, Eric Hodel <drbrain@segment7.net> wrote:
  

On Apr 16, 2009, at 07:24, David Mullet wrote:
    How does rubyscript2exe work? I can't find gatherlibs, Gem::Specification,
anything:

$ gem unpack rubyscript2exe
Unpacked gem: '/Users/drbrain/tmp/rubyscript2exe-0.5.3'
$ ack gatherlibs rubyscript2exe-0.5.3/
$ ack Specification rubyscript2exe-0.5.3/
$ ack Gathering rubyscript2exe-0.5.3/
$

It seems to be constructed of magic feathers and fairy dust.
    
It extracts its own source code from an embedded tar file (in realstuff.rb).

For those interested, I have made my rubyscript2exe replacement,
"Ocra", available on github.com (http://github.com/larsch/ocra\).
Testers are welcome.

I met this kind of problem today, thank you very much for the solution..
The ocra works great.

Thanks.
Wesley Chen.

···

On Sun, Apr 19, 2009 at 12:05 AM, Markus Hoffmann <markushoff@gmx.de> wrote:

I tried to use the "ocra" tool and now my rubyscript with QtBinding is
working as perfectly as windows executable.
Thank you very much for this nice script. It helped me a lot :slight_smile:

Lars Christensen schrieb:

On Thu, Apr 16, 2009 at 8:14 PM, Eric Hodel <drbrain@segment7.net> wrote:

On Apr 16, 2009, at 07:24, David Mullet wrote:
   How does rubyscript2exe work? I can't find gatherlibs,
Gem::Specification,
anything:

$ gem unpack rubyscript2exe
Unpacked gem: '/Users/drbrain/tmp/rubyscript2exe-0.5.3'
$ ack gatherlibs rubyscript2exe-0.5.3/
$ ack Specification rubyscript2exe-0.5.3/
$ ack Gathering rubyscript2exe-0.5.3/
$

It seems to be constructed of magic feathers and fairy dust.

It extracts its own source code from an embedded tar file (in
realstuff.rb).

For those interested, I have made my rubyscript2exe replacement,
"Ocra", available on github.com (http://github.com/larsch/ocra\).
Testers are welcome.