* lib/rubygems: RubyGems 2.2.2 which contains the following bug fixes:

http://rubygems.rubyforge.org/rubygems-update/History_txt.html#label-2.2.2+%2F+2014-02-05
  https://bugs.ruby-lang.org/issues/9489


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@44858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
naruse 2014-02-06 02:59:36 +00:00
parent 39cb784095
commit 9b9d3bac4d
64 changed files with 934 additions and 299 deletions

View file

@ -94,11 +94,11 @@ prefix or only the files that are requireable.
spec.files.sort.map do |file|
case file
when /\A#{spec.bindir}\//
[Gem::ConfigMap[:bindir], $POSTMATCH]
[RbConfig::CONFIG['bindir'], $POSTMATCH]
when /\.so\z/
[Gem::ConfigMap[:archdir], file]
[RbConfig::CONFIG['archdir'], file]
else
[Gem::ConfigMap[:rubylibdir], file]
[RbConfig::CONFIG['rubylibdir'], file]
end
end
end

View file

@ -62,7 +62,7 @@ Marshal::MINOR_VERSION constants. It is used to ensure compatibility.
end
def execute
# This is always true becasue it's the only way now.
# This is always true because it's the only way now.
options[:build_modern] = true
if not File.exist?(options[:directory]) or

View file

@ -228,7 +228,18 @@ to write the specification by hand. For example:
def install_gem_without_dependencies name, req # :nodoc:
gem = nil
if remote? then
if local? then
if name =~ /\.gem$/ and File.file? name then
source = Gem::Source::SpecificFile.new name
spec = source.spec
else
source = Gem::Source::Local.new
spec = source.find_gem name, req
end
gem = source.download spec if spec
end
if remote? and not gem then
dependency = Gem::Dependency.new name, req
dependency.prerelease = options[:prerelease]
@ -236,13 +247,6 @@ to write the specification by hand. For example:
gem = fetcher.download_to_cache dependency
end
if local? and not gem then
source = Gem::Source::Local.new
spec = source.find_gem name, req
gem = source.download spec
end
inst = Gem::Installer.new gem, options
inst.install

View file

@ -13,7 +13,7 @@ class Gem::Commands::SetupCommand < Gem::Command
super 'setup', 'Install RubyGems',
:format_executable => true, :document => %w[ri],
:site_or_vendor => :sitelibdir,
:site_or_vendor => 'sitelibdir',
:destdir => '', :prefix => '', :previous_version => ''
add_option '--previous-version=VERSION',
@ -36,7 +36,7 @@ class Gem::Commands::SetupCommand < Gem::Command
add_option '--[no-]vendor',
'Install into vendorlibdir not sitelibdir' do |vendor, options|
options[:site_or_vendor] = vendor ? :vendorlibdir : :sitelibdir
options[:site_or_vendor] = vendor ? 'vendorlibdir' : 'sitelibdir'
end
add_option '--[no-]format-executable',
@ -343,19 +343,19 @@ TEXT
site_or_vendor = options[:site_or_vendor]
if prefix.empty? then
lib_dir = Gem::ConfigMap[site_or_vendor]
bin_dir = Gem::ConfigMap[:bindir]
lib_dir = RbConfig::CONFIG[site_or_vendor]
bin_dir = RbConfig::CONFIG['bindir']
else
# Apple installed RubyGems into libdir, and RubyGems <= 1.1.0 gets
# confused about installation location, so switch back to
# sitelibdir/vendorlibdir.
if defined?(APPLE_GEM_HOME) and
# just in case Apple and RubyGems don't get this patched up proper.
(prefix == Gem::ConfigMap[:libdir] or
(prefix == RbConfig::CONFIG['libdir'] or
# this one is important
prefix == File.join(Gem::ConfigMap[:libdir], 'ruby')) then
lib_dir = Gem::ConfigMap[site_or_vendor]
bin_dir = Gem::ConfigMap[:bindir]
prefix == File.join(RbConfig::CONFIG['libdir'], 'ruby')) then
lib_dir = RbConfig::CONFIG[site_or_vendor]
bin_dir = RbConfig::CONFIG['bindir']
else
lib_dir = File.join prefix, 'lib'
bin_dir = File.join prefix, 'bin'