From: Eric Hodel Date: 2011-11-02T06:24:23+09:00 Subject: [ruby-core:40653] [ruby-trunk - Feature #5481] Gemifying Ruby standard library Issue #5481 has been updated by Eric Hodel. =begin If net/http, fileutils, optparse, psych or zlib are released as gems uninstalling them breaks RubyGems and you will not be able to reinstall them without reinstalling ruby. Removing such gems should be possible, I don't think it should be easy and I don't think RubyGems should go to extra effort to prevent it either. Placing the gems in a separate path is sufficient as ((%gem uninstall%)) will only remove gems in ((|GEM_HOME|)) unless you use ((%-i%)). =end ---------------------------------------- Feature #5481: Gemifying Ruby standard library http://redmine.ruby-lang.org/issues/5481 Author: Hiroshi Nakamura Status: Open Priority: Normal Assignee: Category: lib Target version: 3.0 =begin Up-to-date summary of this proposal is at (()) == Motivation * ruby's release cycle is slow for some standard libraries; * ex. security fix for WEBrick, xmlrpc and Zlib. * ex. API iteration for net/http, OpenSSL, json, psych, RDoc, minitest and rake. * There's already the feature called 'default gems' in ruby and some stdlibs are already using it: * rake, rdoc, minitest, json, io-console, bigdecimal * And some gems are already doing out-of-band releases. * When releasing we should give independence equally to all stdlibs, but in a consistent and controllable way. == Proposal * Allow out-of-band stdlib releases. * We are not proposing changes to ruby's release management, the release manager would decide when they release ruby and stdlib. * Allow more stdlibs to be installed as a 'default gem' * Register these gems on RubyGems.org * Introduce a new mechanism: controlling supported ruby version so that we can avoid installing unexpected version of stdlib gems. For example, a WEBrick gem for ruby 2.0.1 (released from ruby_2_0_1 branch) should not be installed for ruby 2.0.0 (released from ruby_2_0_0 branch) unless we know it works for both 2.0.0 and 2.0.1. Note: * Moving stdlibs repository location is not a target of this proposal. The implementation details of stdlib gems should hide this from ruby committers. * ruby_1_9_3 is not a target of this proposal. The change should be introduced from 2.0.0 release. ...Some more details of the proposal and discussion topics are going to follow as comments. =end -- http://redmine.ruby-lang.org