Hi John,

Thanks for pointing me in the right direction on this.

I've added the request for micro release binding and I've added the 
'gem' command to the list of changed interfaces. Using the Ruby 'ri' 
command in place of gemri has been possible since before the original 
Arc case and before the integration into Nevada so 'ri' hasn't changed 
in this update.  I've mentioned this in section 2.4.

Jyri is on vacation but has updated the Arc case on the sac system. I've 
include it here.

Thanks

Amanda


Ruby Gem Update
Amanda Waite <amanda.waite at sun.com>

07 January 2008

1. Summary and motivation

        1.1. Introduction

        This project will deprecate certain interfaces that were
        provided as discrete executables by Ruby Gems 0.9.4 and which
        were included in PSARC/2007/600. In RubyGems 1.3.1, the
        functionality provided by many of these executables is now
        implemented in the core RubyGems executable 'gem', other
        functionality now uses standard Ruby tools such as 'ri'.

        An update from RubyGems 0.9.4 to RubyGems 1.3.1 is an absolute
        requirement as Ruby on Rails versions > 2.1.0 require RubyGems
        1.1.1 or greater while Ruby on Rails 2.2.2 specifically
        requires RubyGems 1.3.1

        This case seeks micro release binding.

2. Technical Description

        2.1. Details

        This project will mark the deprecated interfaces as obsolete
        and will update all relevant documentation to reflect this
        change. The interfaces themselves will be updated to emit a
        warning to indicate that it's usage has been deprecated and
        detail how similar functionality can be achieved through the
        use of other commands. The changes will also be documented on
        publicly accessible web sites including blogs and project
        pages.

        These changes will follow the guidelines for obsoleting
        interfaces here:
        http://opensolaris.org/os/community/arc/policies/obsolete-eof/

        2.2. Ongoing updates

        Although RubyGems no longer includes these executables (the
        interfaces to be obsoleted) there is still a requirement to
        continue to provide updates to RubyGems in the affected
        packages.  As such, these updates will include scripts of the
        same name as the deprecated executables that wrap the same
        functionality as provided by the gem command and standard Ruby
        tools. These scripts will be removed with the expiry of the
        one year timer that starts after acceptance of this ARC
        case. Additional details of how the functionality of the
        deprecated executable is accessed in the update are available
        in Appendix 1.

        2.3 Updated Interfaces

        The 'gem' command has been updated to add support for some of the
        functionality that was provided by the deprecated executables.
     
        The Ruby 'ri' command has not changed in this update, the
        functionality originally provided by 'gemri' comes from command
        line options that are already available in Ruby 'ri'.

        2.4 Changes to Exported Interfaces

        NAME                          STABILITY                 NOTES

        /usr/ruby/[version]/bin
          gem                         Uncommitted               Executable

          gem_mirror                  Obsolete Uncommitted      Executable
          gem_server                  Obsolete Uncommitted      Executable
          gemlock                     Obsolete Uncommitted      Executable
          gemri                       Obsolete Uncommitted      Executable
          gemwhich                    Obsolete Uncommitted      Executable
          index_gem_repository.rb     Obsolete Uncommitted      Executable
          update_rubygems             Obsolete Uncommitted      Executable

        /usr/bin/
          gem_mirror                  Obsolete Volatile         Symbolic 
link
          gem_server                  Obsolete Volatile         Symbolic 
link
          gemlock                     Obsolete Volatile         Symbolic 
link
          gemri                       Obsolete Volatile         Symbolic 
link
          gemwhich                    Obsolete Volatile         Symbolic 
link
          index_gem_repository.rb     Obsolete Volatile         Symbolic 
link
          update_rubygems             Obsolete Volatile         Symbolic 
link

          gem_mirror18                Obsolete Volatile         Symbolic 
link
          gem_server18                Obsolete Volatile         Symbolic 
link
          gemlock18                   Obsolete Volatile         Symbolic 
link
          gemri18                     Obsolete Volatile         Symbolic 
link
          gemwhich18                  Obsolete Volatile         Symbolic 
link
          index_gem_repository.rb18   Obsolete Volatile         Symbolic 
link
          update_rubygems18           Obsolete Volatile         Symbolic 
link

        2.5 Changes to documentation

        The gem[1] man page will be updated to include information on
        how to access the new functionality provided by the 'gem'
        command that replaces that provided by the deprecated
        executables.

        2.6 Packaging and Delivery

        The changes described will be implemented in the update of the
        SUNWruby18[r|u] packages to include RubyGems 1.3.1. There
        should otherwise be no obvious changes to the packaging.


-------------------------------------------------------------------------------
Appendix 1

RubyGems 1.3.1 commands used to provide similar functionality as that
provided by the deprecated executables:

        gem_mirror                gem mirror -v
        gemwhich                  gem which -v
        gemri                     ri --gems --doc-dir
        index_gem_repository.rb   gem generate_index
        gem_server                gem server
        gem_lock                  gem lock
        update_rubygems           gem update --system


Reply via email to