Fixed installing platform gems
Restored concurrent requires
Fixed installing gems with extensions with --install-dir
Fixed `gem fetch -v` to install the latest version
Fixed installing gems with "./" in their files entries
* test/rubygems/test_gem_package.rb: Tests for the above.
* NEWS: Updated for RubyGems 2.1.3
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
building the gem.
* test/rubygems/test_gem_ext_ext_conf_builder.rb: Test for the above.
* lib/rubygems/psych_tree.rb (module Gem): Add backward compatibility
for r41148
* test/rubygems/test_gem_package.rb: Add backward compatibility for
double-slash elimination.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
DESTDIR via command line to override what's in MAKEFLAGS. This
fixes an installation problem under a package building
environment where DESTDIR is specified in the (parent) command
line. [Fixes GH-327]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
use Gem::NoAliasYAMLTree.create instead of Gem::NoAliasYAMLTree.new
to suppress deprecated warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
files when installing RubyGems.
* test/rubygems/test_gem_commands_setup_command.rb: Test for the
above.
* lib/rubygems/ext/ext_conf_builder.rb: Use full path to siteconf.rb
in case the extconf.rb changes directories (like memcached does).
* lib/rubygems/package.rb: Remove double slash from path.
* test/rubygems/test_gem_package.rb: Test for the above.
* test/rubygems/test_gem_package_old.rb: ditto.
* lib/rubygems/source.rb: Revert automatic HTTPS upgrade
* lib/rubygems/spec_fetcher.rb: ditto.
* test/rubygems/test_gem_remote_fetcher.rb: ditto.
* test/rubygems/test_gem_source.rb: ditto.
* test/rubygems/test_gem_spec_fetcher.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):
it is impossible to predict which file will be installed to where,
by the arguments, so use intermediate destination directory always.
[Bug #7698]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
showing details. [ruby-trunk - Bug #8019] RubyGems bug #487
* lib/rubygems/remote_fetcher.rb: ditto.
* lib/rubygems/security/policy.rb: ditto.
* test/rubygems/test_gem_commands_query_command.rb: Test for the
above.
* lib/rubygems/security.rb: Make OpenSSL optional for RubyGems.
* lib/rubygems/commands/cert_command.rb: ditto.
* lib/rubygems/config_file.rb: Display file with YAML error, not
~/.gemrc
* lib/rubygems/remote_fetcher.rb: Only create gem subdirectories when
installing gems.
* lib/rubygems/dependency_resolver.rb: ditto.
* lib/rubygems/test_utilities.rb: ditto.
* test/rubygems/test_gem_commands_fetch_command.rb: Test for the
above.
* lib/rubygems/spec_fetcher.rb: Only try to upgrade
http://rubygems.org to HTTPS
* test/rubygems/test_gem_spec_fetcher.rb: Test for the above.
* lib/rubygems.rb: Update win_platform? check for JRuby compatibility.
* test/rubygems/test_gem_installer.rb: Update for Ruby 1.9.2
compatibility
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):
clear DESTDIR so RUBYARCHDIR and RUBYLIBDIR are not be overrdden.
[Bug #7698]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):
fix for unusal cases again. install to a temporary directory once
and move instaled files to the destination directory, if it is same
as the current directory. [Bug #7698]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems/ext/ext_conf_builder.rb
(Gem::Ext::ExtConfBuilder.hack_for_obsolete_sytle_gems): remove
circular dependencies for old style gems which locate extconf.rb on
the toplevel. [ruby-core:53059] [ruby-trunk - Bug #7698]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):
use RUBYOPT instead of -r option, and revert some tests. [Bug #7698]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):
revert use of temporary directory for build, to work some buggy
extconf.rb which cannot build outside the source directory.
[ruby-core:53056] [Bug #7698]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems/dependency_installer.rb: Pick latest prerelease gem to
install. Fixes RubyGems bug #468.
* test/rubygems/test_gem_dependency_installer.rb: Test for the above.
* lib/rubygems/dependency_installer.rb: Don't display "Done installing
documentation" if documentation will not be installed.
* lib/rubygems/rdoc.rb: ditto
* lib/rubygems/dependency_list.rb: Use Array#concat for Ruby 1.x
performance.
* lib/rubygems/installer.rb: Use formatted program name when comparing
executables. RubyGems pull request #471
* test/rubygems/test_gem_installer.rb: Test for the above.
* lib/rubygems/package.rb: Use more explicit feature check to work
around JRuby bug #552
* lib/rubygems/ssl_certs/GeoTrust_Global_CA.pem: Added GeoTrust root
certificate.
* test/rubygems/test_gem_source_list.rb: Use "example" instead of real
hostname
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
install destination before building extension. Patch by Kenta Murata.
[ruby-trunk - Bug #7897]
* test/rubygems/test_gem_installer.rb: Test for the above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
options are processed. [ruby-trunk - Bug #7779]
* test/rubygems/test_gem_commands_update_command.rb: Test for the
above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems/package.rb: Include checksums.yaml.gz signatures for
verification.
* test/rubygems/test_gem_package.rb: Test for the above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
verifying unsigned gems (instead of crashing).
* test/rubygems/test_gem_security_policy.rb: Tests for the above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
user_interaction.rb
* lib/rubygems/dependency_installer.rb: Minor refactor for clarity.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1.8. This commit is only so trunk and rubygems master have the same
code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
gems when a security policy is active.
* test/rubygems/test_gem_package_old.rb: Test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
they end in '.gem'. Fixes github rubygems issue #407.
* test/rubygems/test_gem_dependency_installer.rb: Test for the above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/rubygems/test_gem_package.rb: Test for the above.
* lib/rubygems/security/policy.rb: Ensure digests are present when
verifying a gem and match the number of signatures bidirectionally.
* test/rubygems/test_gem_security_policy.rb: Test for the above.
* lib/rubygems.rb: Documentation improvements (by zzak)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems/LICENSE.txt: Include license file
* lib/rubygems.rb: Move Gem module documentation so rdoc can parse it
and link to LICENSE.txt
* lib/rubygems/*: Hide useless documentation from Gem module rdoc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Windows writes 0600 file as 0644 permissions making the check
useless.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
`gem push --host`
* lib/rubygems/gemcutter_utilities.rb: ditto.
* test/rubygems/test_gem_commands_push_command.rb: Test for the above.
* test/rubygems/test_gem_gemcutter_utilities.rb: ditto.
* lib/rubygems/config_file.rb: Abort if the `gem push` credentials
file has insecure permissions.
* test/rubygems/test_gem_config_file.rb: Test for the above.
* lib/rubygems/ext/builder.rb: Do not look for Gemfile, Isolate, etc.
while building gem extensions.
* lib/rubygems/package.rb: Unset spec and files list if a gem's
signatures cannot be verified.
* test/rubygems/test_gem_package.rb: Test for the above.
* lib/rubygems/specification.rb: Reduce use of eval.
* lib/rubygems/test_case.rb: ditto.
* test/rubygems/test_gem_specification.rb: Test setting
specification_version for legacy gems. Dup Gem.ruby before
untainting in case it's frozen.
* lib/rubygems.rb: Reduce use of eval. Only read files when looking
for Gemfile, Isolate, etc.
* test/rubygems/test_gem.rb: Test for the above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems/config_file.rb: Hide RbConfig use from RDoc
* lib/rubygems/test_case.rb: Added note to use realpath when 1.8
support is dropped.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
.time dependency from *.rb install target. It causes needless
*.rb install. [Bug #7698] [ruby-core:51437]
Reported by Tadashi Saito. Thanks!!!
* test/rubygems/test_gem_installer.rb
(TestGemInstaller#test_install_extension_and_script): Add a test
for the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
for $SAFE=1
* lib/rubygems/specification.rb: Keep previously loaded specs as
active. This prevents double loading when refreshing the gem list.
* test/rubygems/test_gem.rb: Test for above
* lib/rubygems.rb: Bump version to 2.0.0.rc.2
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
using multiple passes. Fixes RubyGems bug #422. Refactored for
maintainability.
* test/rubygems/test_gem_commands_cleanup_command.rb: Test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
maintainability.
* test/rubygems/test_gem_commands_query_command.rb: Note default gems
in gem list details.
* lib/rubygems/uninstaller.rb: Detect all gems for uninstallation.
This allows duplicate installs of default gems to be removed.
* lib/rubygems/specification.rb: Allow use of ::each_spec.
* lib/rubygems/test_case.rb: Added install_default_gems.
* test/rubygems/test_gem_commands_uninstall_command.rb: Moved test
down to the uninstaller tests.
* test/rubygems/test_gem_uninstaller.rb: Test for uninstallation of
default gems and duplicate default gems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
with multiple version specifiers.
* test/rubygems/test_gem_ext_cmake_builder.rb: Only look for specific
lines in cmake output. Should fix [ruby-trunk - Bug #7579]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
RubyGems 1.8.x
* test/rubygems/test_gem_package.rb: Test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
cleaning up.
* test/rubygems/test_gem_commands_cleanup_command.rb: Test for above.
* lib/rubygems/commands/query_command.rb: Fixed listing remote gems.
* lib/rubygems/dependency_installer.rb: Ignore non-files when looking
for local gems.
* test/rubygems/test_gem_dependency_installer.rb: Test for above.
* lib/rubygems/uninstaller.rb: The user must confirm uninstalling gems
that have dependencies.
* test/rubygems/test_gem_uninstaller.rb: Test for above.
* lib/rubygems.rb (module Gem): Updated version.
* test/rubygems/*.pem: Updated to run in FIPS mode.
* test/rubygems/test_gem_security.rb: ditto.
* test/rubygems/test_gem_security_signer.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Fixes issue with bundler.
* test/rubygems/test_gem_package.rb: Test for above.
* lib/rubygems/remote_fetcher.rb: Only update the cache when we have
permission. [ruby-trunk - Bug #7509]
* lib/rubygems/source.rb (class Gem): ditto
* test/rubygems/test_gem_remote_fetcher.rb: Test for above.
* lib/rubygems/test_utilities.rb: ditto
* lib/rubygems/specification.rb: Derive base_dir properly for default
gems. [ruby-trunk - Bug #7496]
* test/rubygems/test_gem_specification.rb: Test for above.
* lib/rubygems.rb: Untaint Dir.pwd when searching for gemdeps files
for operation under $SAFE=1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
multiple gems. [ruby-trunk - #7481] by Kouhei Sutou
* test/rubygems/test_gem_commands_cleanup_command.rb: Test for above.
* lib/rubygems.rb: Autoload Gem::Source to prevent test failures
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
who assumes that the pathname of a gem never contains ':' ?
yes, on Unixen pathnames can contain ':', and on Windows they almost
certainly contain ':'. see [ruby-core:50388].
* lib/rubygems/requirement.rb (Gem::Requirement::PATTERN_RAW): extract
the regexp to match the version specifier from PATTERN to use in
above method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(Gem::Specification.validate_permissions): don't check executablity
of the source on Windows. they will be wrapped to .bat files when
installing. see [ruby-core:50388].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
of RubyGems. (not by rbinstall.rb).
* test/rubygems/test_gem_commands_setup_command.rb: Test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
for bundler.
* test/rubygems/test_gem_spec_fetcher.rb: Test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
outside rubygems or ruby tests as the files are not available (or
necessary).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_generate_bin_bindir_with_user_install_warning(TestGemInstaller)
fails on Windows with msys bash. It makes comparing paths
case-insensitive.
pick from upstream to fix a failure of test-all [ruby-core:47711]
c474edb2f3
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
fixes:
RubyGems now disallows redirection from HTTPS to HTTP.
RubyGems now verifies SSL connections.
See https://github.com/rubygems/rubygems/blob/1.8/History.txt for
changes since 1.8.22.
* test/rubygems: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
were ported to the rubygems git repository.
See https://github.com/rubygems/rubygems/blob/1.8/History.txt for
changes since 1.8.11.
* test/rubygems: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
were ported to the rubygems git repository.
See https://github.com/rubygems/rubygems/blob/1.8/History.txt for
changes since 1.8.11.
* test/rubygems: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
use File.identical? to chech the identicality of the files.
this fixed an error of a test on Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
creating ruby-format gemspecs. Fixes Gem.dir not being at the front
of Gem.path to fix uninstall and cleanup commands. Fixes gem
uninstall stopping on the first missing gem.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Added missing require for `gem uninstall --format-executable`.
The correct name of the executable being uninstalled is now displayed
with --format-executable.
Fixed `gem unpack uninstalled_gem` default version picker.
RubyGems no longer claims a nonexistent gem can be uninstalled.
`gem which` no longer claims directories are requirable files.
`gem cleanup` continues cleaning up gems if one can't be uninstalled
due to permissions. Issue #82.
Gem repository directories are no longer created world-writable.
Patch by Sakuro OZAWA. [Ruby 1.9 - Bug #4930]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
[#4962]
* lib/rubygems/specification.rb: Delay initialization of rubygems
until require is called.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Windows has been fixed at r29969.
* test/rubygems/test_gem_stream_ui.rb: now can run tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems/test_case.rb: set Gem::TestCase's @@project_dir only
when it is not defined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
binary mode to get rid of failures caused by mismatch between
default internal encoding and encoding comments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This solves the gem loading issue by never touching $LOAD_PATH
in gem_prelude and instead loading all of rubygems more quickly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
no reason that bin directory should be included in $LOAD_PATH.
it is for executable files, but not libraries. [ruby-core:25936]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(Gem::InstallUpdateOptions#add_install_update_options): deprecate
--test option which has not worked. [ruby-core:21714]
* test/rubygems/test_gem_command_manager.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
It caused many failures on test-all and following is SEGV.
./ruby -e 'require %!#{"foo/" * 10000}foo!'
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
get rid of creating same regexps many times.
* lib/rubygems/custom_require.rb (Kernel#require): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e