rubygems-update 3.0.4 → 3.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/History.txt +53 -0
- data/Manifest.txt +3 -1
- data/Rakefile +7 -5
- data/bundler/lib/bundler/build_metadata.rb +1 -1
- data/lib/rubygems.rb +6 -12
- data/lib/rubygems/commands/environment_command.rb +0 -3
- data/lib/rubygems/commands/push_command.rb +2 -0
- data/lib/rubygems/commands/uninstall_command.rb +16 -6
- data/lib/rubygems/commands/which_command.rb +1 -3
- data/lib/rubygems/defaults.rb +1 -8
- data/lib/rubygems/dependency_installer.rb +1 -2
- data/lib/rubygems/exceptions.rb +0 -4
- data/lib/rubygems/gemcutter_utilities.rb +9 -5
- data/lib/rubygems/installer.rb +1 -1
- data/lib/rubygems/installer_test_case.rb +2 -2
- data/lib/rubygems/package/tar_header.rb +11 -2
- data/lib/rubygems/remote_fetcher.rb +15 -54
- data/lib/rubygems/request.rb +1 -1
- data/lib/rubygems/request_set/gem_dependency_api.rb +3 -5
- data/lib/rubygems/s3_uri_signer.rb +175 -0
- data/lib/rubygems/security_option.rb +0 -1
- data/lib/rubygems/specification.rb +0 -1
- data/lib/rubygems/stub_specification.rb +1 -2
- data/lib/rubygems/test_case.rb +8 -4
- data/lib/rubygems/util.rb +12 -0
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/test_gem.rb +6 -3
- data/test/rubygems/test_gem_commands_environment_command.rb +0 -11
- data/test/rubygems/test_gem_commands_push_command.rb +15 -0
- data/test/rubygems/test_gem_commands_uninstall_command.rb +80 -1
- data/test/rubygems/test_gem_indexer.rb +8 -8
- data/test/rubygems/test_gem_installer.rb +48 -17
- data/test/rubygems/test_gem_package_tar_header.rb +41 -0
- data/test/rubygems/test_gem_remote_fetcher.rb +133 -14
- data/test/rubygems/test_gem_request.rb +4 -4
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +20 -30
- data/test/rubygems/test_gem_util.rb +8 -0
- data/util/cops/deprecations.rb +52 -0
- data/util/create_certs.sh +27 -0
- metadata +5 -3
- data/lib/rubygems/compatibility.rb +0 -40
@@ -20,35 +20,28 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def with_engine_version(name, version)
|
23
|
-
engine
|
24
|
-
|
25
|
-
engine_version = Object.const_get engine_version_const
|
23
|
+
engine = RUBY_ENGINE
|
24
|
+
engine_version = RUBY_ENGINE_VERSION
|
26
25
|
|
27
|
-
Object.send :remove_const, :RUBY_ENGINE
|
28
|
-
Object.send :remove_const,
|
29
|
-
Object.const_defined? engine_version_const
|
26
|
+
Object.send :remove_const, :RUBY_ENGINE
|
27
|
+
Object.send :remove_const, :RUBY_ENGINE_VERSION
|
30
28
|
|
31
|
-
|
32
|
-
Object.const_set :
|
33
|
-
Object.const_set new_engine_version_const, version if version
|
29
|
+
Object.const_set :RUBY_ENGINE, name if name
|
30
|
+
Object.const_set :RUBY_ENGINE_VERSION, version if version
|
34
31
|
|
35
32
|
Gem.instance_variable_set :@ruby_version, Gem::Version.new(version)
|
36
33
|
|
37
|
-
|
34
|
+
begin
|
35
|
+
yield
|
36
|
+
ensure
|
37
|
+
Object.send :remove_const, :RUBY_ENGINE if name
|
38
|
+
Object.send :remove_const, :RUBY_ENGINE_VERSION if version
|
38
39
|
|
39
|
-
|
40
|
-
|
41
|
-
Object.send :remove_const, new_engine_version_const if version
|
42
|
-
|
43
|
-
Object.send :remove_const, engine_version_const if name == 'ruby' and
|
44
|
-
Object.const_defined? engine_version_const
|
45
|
-
|
46
|
-
Object.const_set :RUBY_ENGINE, engine if engine
|
47
|
-
Object.const_set engine_version_const, engine_version unless
|
48
|
-
Object.const_defined? engine_version_const
|
40
|
+
Object.const_set :RUBY_ENGINE, engine
|
41
|
+
Object.const_set :RUBY_ENGINE_VERSION, engine_version
|
49
42
|
|
50
|
-
|
51
|
-
|
43
|
+
Gem.send :remove_instance_variable, :@ruby_version
|
44
|
+
end
|
52
45
|
end
|
53
46
|
|
54
47
|
def test_gempspec_with_multiple_runtime_deps
|
@@ -837,23 +830,20 @@ end
|
|
837
830
|
|
838
831
|
def test_with_engine_version
|
839
832
|
version = RUBY_VERSION
|
840
|
-
engine
|
841
|
-
|
842
|
-
engine_version_const = "#{Gem.ruby_engine.upcase}_VERSION"
|
843
|
-
engine_version = Object.const_get engine_version_const
|
833
|
+
engine = Gem.ruby_engine
|
834
|
+
engine_version = RUBY_ENGINE_VERSION
|
844
835
|
|
845
836
|
with_engine_version 'other', '1.2.3' do
|
846
837
|
assert_equal 'other', Gem.ruby_engine
|
847
|
-
assert_equal '1.2.3',
|
838
|
+
assert_equal '1.2.3', RUBY_ENGINE_VERSION
|
848
839
|
|
849
|
-
assert_equal version, RUBY_VERSION
|
840
|
+
assert_equal version, RUBY_VERSION
|
850
841
|
end
|
851
842
|
|
852
843
|
assert_equal version, RUBY_VERSION
|
853
844
|
assert_equal engine, Gem.ruby_engine
|
854
845
|
|
855
|
-
assert_equal engine_version,
|
856
|
-
engine
|
846
|
+
assert_equal engine_version, RUBY_ENGINE_VERSION if engine
|
857
847
|
end
|
858
848
|
|
859
849
|
end
|
@@ -75,4 +75,12 @@ class TestGemUtil < Gem::TestCase
|
|
75
75
|
assert_equal expected_paths.to_set, files_with_relative_base.to_set
|
76
76
|
end
|
77
77
|
|
78
|
+
def test_correct_for_windows_path
|
79
|
+
path = "/C:/WINDOWS/Temp/gems"
|
80
|
+
assert_equal "C:/WINDOWS/Temp/gems", Gem::Util.correct_for_windows_path(path)
|
81
|
+
|
82
|
+
path = "/home/skillet"
|
83
|
+
assert_equal "/home/skillet", Gem::Util.correct_for_windows_path(path)
|
84
|
+
end
|
85
|
+
|
78
86
|
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RuboCop
|
4
|
+
module Cop
|
5
|
+
module Rubygems
|
6
|
+
# This cop enforces that no outdated deprecations are present on RubyGems
|
7
|
+
# code base.
|
8
|
+
#
|
9
|
+
# @example
|
10
|
+
#
|
11
|
+
# As of March, 2019
|
12
|
+
#
|
13
|
+
# # bad
|
14
|
+
# deprecate :safdfa, nil, 2018, 12
|
15
|
+
# deprecate :safdfa, nil, 2019, 03
|
16
|
+
#
|
17
|
+
# # good
|
18
|
+
# deprecate :safdfa, nil, 2019, 04
|
19
|
+
#
|
20
|
+
class Deprecations < Cop
|
21
|
+
|
22
|
+
MSG = "Remove `deprecate` calls with dates in the past, along with " \
|
23
|
+
"the methods they deprecate, or expand the deprecation horizons to " \
|
24
|
+
"a future date"
|
25
|
+
|
26
|
+
def on_send(node)
|
27
|
+
_receiver, method_name, *args = *node
|
28
|
+
return unless method_name == :deprecate
|
29
|
+
|
30
|
+
scheduled_year = args[2].children.last
|
31
|
+
scheduled_month = args[3].children.last
|
32
|
+
|
33
|
+
current_time = Time.now
|
34
|
+
|
35
|
+
current_year = current_time.year
|
36
|
+
current_month = current_time.month
|
37
|
+
|
38
|
+
if current_year >= scheduled_year || (current_year == scheduled_year && current_month >= scheduled_month)
|
39
|
+
add_offense(node)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
private
|
44
|
+
|
45
|
+
def message(node)
|
46
|
+
format(MSG, method: node.method_name)
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
# cp /etc/ssl/openssl.cnf . # copied from OpenSSL 1.1.1b source
|
4
|
+
|
5
|
+
rm -rf demoCA/ server/ client/
|
6
|
+
|
7
|
+
mkdir demoCA demoCA/private demoCA/newcerts
|
8
|
+
touch demoCA/index.txt
|
9
|
+
echo 00 > demoCA/serial
|
10
|
+
openssl genrsa -out demoCA/private/cakey.pem 2048
|
11
|
+
openssl req -new -key demoCA/private/cakey.pem -out demoCA/careq.pem -subj "/C=JP/ST=Tokyo/O=RubyGemsTest/CN=CA"
|
12
|
+
openssl ca -batch -config openssl.cnf -extensions v3_ca -out demoCA/cacert.pem -startdate 090101000000Z -enddate 491231235959Z -batch -keyfile demoCA/private/cakey.pem -selfsign -infiles demoCA/careq.pem
|
13
|
+
|
14
|
+
mkdir server
|
15
|
+
openssl genrsa -out server/server.key 2048
|
16
|
+
openssl req -new -key server/server.key -out server/csr.pem -subj "/C=JP/ST=Tokyo/O=RubyGemsTest/CN=localhost"
|
17
|
+
openssl ca -batch -config openssl.cnf -startdate 090101000000Z -enddate 491231235959Z -in server/csr.pem -keyfile demoCA/private/cakey.pem -cert demoCA/cacert.pem -out server/cert.pem
|
18
|
+
|
19
|
+
mkdir client
|
20
|
+
openssl genrsa -out client/client.key 2048
|
21
|
+
openssl req -config openssl.cnf -new -key client/client.key -out client/csr.pem -subj "/C=JP/ST=Tokyo/O=RubyGemsTest/CN=client"
|
22
|
+
openssl ca -batch -config openssl.cnf -startdate 090101000000Z -enddate 491231235959Z -in client/csr.pem -keyfile demoCA/private/cakey.pem -cert demoCA/cacert.pem -out client/cert.pem
|
23
|
+
|
24
|
+
cp demoCA/cacert.pem $(git rev-parse --show-toplevel)/test/rubygems/ca_cert.pem
|
25
|
+
cp server/cert.pem $(git rev-parse --show-toplevel)/test/rubygems/ssl_cert.pem
|
26
|
+
cp server/server.key $(git rev-parse --show-toplevel)/test/rubygems/ssl_key.pem
|
27
|
+
cat client/cert.pem client/client.key > $(git rev-parse --show-toplevel)/test/rubygems/client.pem
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubygems-update
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Weirich
|
@@ -16,7 +16,7 @@ authors:
|
|
16
16
|
autorequire:
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
|
-
date: 2019-
|
19
|
+
date: 2019-08-16 00:00:00.000000000 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: builder
|
@@ -449,7 +449,6 @@ files:
|
|
449
449
|
- lib/rubygems/commands/update_command.rb
|
450
450
|
- lib/rubygems/commands/which_command.rb
|
451
451
|
- lib/rubygems/commands/yank_command.rb
|
452
|
-
- lib/rubygems/compatibility.rb
|
453
452
|
- lib/rubygems/config_file.rb
|
454
453
|
- lib/rubygems/core_ext/kernel_gem.rb
|
455
454
|
- lib/rubygems/core_ext/kernel_require.rb
|
@@ -555,6 +554,7 @@ files:
|
|
555
554
|
- lib/rubygems/resolver/stats.rb
|
556
555
|
- lib/rubygems/resolver/vendor_set.rb
|
557
556
|
- lib/rubygems/resolver/vendor_specification.rb
|
557
|
+
- lib/rubygems/s3_uri_signer.rb
|
558
558
|
- lib/rubygems/safe_yaml.rb
|
559
559
|
- lib/rubygems/security.rb
|
560
560
|
- lib/rubygems/security/policies.rb
|
@@ -781,7 +781,9 @@ files:
|
|
781
781
|
- test/rubygems/wrong_key_cert_32.pem
|
782
782
|
- util/CL2notes
|
783
783
|
- util/ci
|
784
|
+
- util/cops/deprecations.rb
|
784
785
|
- util/create_certs.rb
|
786
|
+
- util/create_certs.sh
|
785
787
|
- util/create_encrypted_key.rb
|
786
788
|
- util/generate_spdx_license_list.rb
|
787
789
|
- util/patch_with_prs.rb
|
@@ -1,40 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
# :stopdoc:
|
3
|
-
|
4
|
-
#--
|
5
|
-
# This file contains all sorts of little compatibility hacks that we've
|
6
|
-
# had to introduce over the years. Quarantining them into one file helps
|
7
|
-
# us know when we can get rid of them.
|
8
|
-
#
|
9
|
-
# Ruby 1.9.x has introduced some things that are awkward, and we need to
|
10
|
-
# support them, so we define some constants to use later.
|
11
|
-
#++
|
12
|
-
|
13
|
-
module Gem
|
14
|
-
RubyGemsVersion = VERSION
|
15
|
-
|
16
|
-
# TODO remove at RubyGems 3
|
17
|
-
|
18
|
-
RbConfigPriorities = %w[
|
19
|
-
MAJOR
|
20
|
-
MINOR
|
21
|
-
TEENY
|
22
|
-
EXEEXT RUBY_SO_NAME arch bindir datadir libdir ruby_install_name
|
23
|
-
ruby_version rubylibprefix sitedir sitelibdir vendordir vendorlibdir
|
24
|
-
rubylibdir
|
25
|
-
].freeze
|
26
|
-
|
27
|
-
unless defined?(ConfigMap)
|
28
|
-
##
|
29
|
-
# Configuration settings from ::RbConfig
|
30
|
-
ConfigMap = Hash.new do |cm, key| # TODO remove at RubyGems 3
|
31
|
-
cm[key] = RbConfig::CONFIG[key.to_s]
|
32
|
-
end
|
33
|
-
else
|
34
|
-
RbConfigPriorities.each do |key|
|
35
|
-
ConfigMap[key.to_sym] = RbConfig::CONFIG[key]
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
RubyGemsPackageVersion = VERSION
|
40
|
-
end
|