Project

General

Profile

Feature #5481

Gemifying Ruby standard library

Added by nahi (Hiroshi Nakamura) about 9 years ago. Updated 6 months ago.

Status:
Assigned
Priority:
Normal
Target version:
-
[ruby-core:40316]

Description

=begin

Up-to-date summary of this proposal is at ((URL:https://bugs.ruby-lang.org/projects/ruby/wiki/StdlibGem))

== 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


Files

5481.pdf (78.2 KB) 5481.pdf nahi (Hiroshi Nakamura), 07/01/2012 12:24 AM

Related issues

Related to Ruby master - Feature #9612: Gemify OpenSSLClosedrhenium (Kazuki Yamaguchi)Actions
Related to Ruby master - Bug #10610: "make install" fails without zlibClosed12/17/2014Actions
Related to Ruby master - Feature #11025: Gemify RakeCloseddrbrain (Eric Hodel)04/02/2015Actions
Related to Ruby master - Feature #11057: Gemify JSONRejectedActions
Related to Ruby master - Feature #12160: Extract XMLRPC library to bundled gemClosedActions
Related to Ruby master - Feature #8526: gemify tkClosednaruse (Yui NARUSE)Actions
Related to Ruby master - Misc #13072: Current state of date standard libraryOpenActions
Related to Ruby master - Feature #13173: Gemify webrickClosednormalperson (Eric Wong)Actions
Related to Ruby master - Feature #13177: Gemify csvClosedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby master - Feature #13182: Gemify cmathClosedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby master - Feature #13183: Gemify dateClosedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby master - Feature #13197: Gemify fileutilsClosedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby master - Feature #13201: Gemify dbmClosedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby master - Feature #13199: Gemify strscanClosedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby master - Feature #13186: Gemify zlibClosedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby master - Feature #11083: Gemify net-telnetClosedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby master - Feature #8539: Unbundle ext/tkClosedActions
Related to Ruby master - Bug #6123: Properly gemify BigDecimalRejected03/07/2012Actions
Related to Ruby master - Feature #2635: Unbundle rdocRejectedmatz (Yukihiro Matsumoto)01/23/2010Actions
Related to Ruby master - Feature #13213: Gemify scanfClosedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby master - Feature #13248: Gemify gdbmClosedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby master - Feature #13261: Gemify sdbmClosedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby master - Feature #9456: Include bin/racc with rubyClosedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby master - Misc #13771: Digest, Ruby OpenSSL, OpenSSL v1.1.0Closedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby master - Feature #16170: Remove the unmaintained libraries from Ruby 2.7Closedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby master - Feature #15657: Make webrick to bundled gemsAssignedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby master - Misc #16778: Should we stop vendoring default gems code?Rejectedhsbt (Hiroshi SHIBATA)Actions

Also available in: Atom PDF