mirror of
https://github.com/ruby/ruby.git
synced 2025-08-23 13:04:13 +02:00
* ChangeLog:
* lib/rubygems/basic_specification.rb (class Gem): * lib/rubygems/commands/contents_command.rb (prefix or only the files that are requir): * lib/rubygems/commands/install_command.rb (to write the specification by hand): * lib/rubygems/commands/setup_command.rb (class Gem): * lib/rubygems/commands/setup_command.rb (TEXT): * lib/rubygems/compatibility.rb (module Gem): * lib/rubygems/defaults.rb (module Gem): * lib/rubygems/deprecate.rb (module Gem): * lib/rubygems/installer.rb (class Gem): * lib/rubygems/platform.rb (class Gem): * lib/rubygems/rdoc.rb (class Gem): * lib/rubygems/request_set/lockfile.rb (class Gem): * lib/rubygems/resolver/installer_set.rb (class Gem): * lib/rubygems/resolver.rb (class Gem): * lib/rubygems/specification.rb (class Gem): * lib/rubygems/test_case.rb (class Gem): * lib/rubygems/test_case.rb (Also): * lib/rubygems/uninstaller.rb (class Gem): * lib/rubygems.rb (module Gem): * test/rubygems/test_gem.rb (class TestGem): * test/rubygems/test_gem_commands_contents_command.rb (lib): * test/rubygems/test_gem_commands_environment_command.rb (class TestGemCommandsEnvironmentCommand): * test/rubygems/test_gem_commands_install_command.rb (ERROR): * test/rubygems/test_gem_commands_update_command.rb (class TestGemCommandsUpdateCommand): * test/rubygems/test_gem_dependency_installer.rb (class TestGemDependencyInstaller): * test/rubygems/test_gem_installer.rb (load Gem): * test/rubygems/test_gem_installer.rb (gem): * test/rubygems/test_gem_request_set_lockfile.rb (GEM): * test/rubygems/test_gem_request_set_lockfile.rb (DEPENDENCIES): * test/rubygems/test_gem_specification.rb (dependencies): * test/rubygems/test_gem_specification.rb (duplicate dependency on b): * test/rubygems/test_gem_uninstaller.rb (class TestGemUninstaller): git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
738b8872ef
commit
d5e810dbd2
28 changed files with 253 additions and 162 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue