rubygems-update 3.4.19 → 3.4.20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +36 -0
- data/bundler/CHANGELOG.md +29 -0
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/info.rb +1 -1
- data/bundler/lib/bundler/cli/update.rb +1 -0
- data/bundler/lib/bundler/fetcher/base.rb +2 -2
- data/bundler/lib/bundler/fetcher/compact_index.rb +1 -5
- data/bundler/lib/bundler/fetcher/dependency.rb +1 -1
- data/bundler/lib/bundler/fetcher.rb +31 -30
- data/bundler/lib/bundler/index.rb +62 -31
- data/bundler/lib/bundler/installer/standalone.rb +8 -1
- data/bundler/lib/bundler/lockfile_parser.rb +3 -15
- data/bundler/lib/bundler/man/gemfile.5 +11 -0
- data/bundler/lib/bundler/man/gemfile.5.ronn +5 -0
- data/bundler/lib/bundler/plugin.rb +1 -1
- data/bundler/lib/bundler/resolver.rb +18 -3
- data/bundler/lib/bundler/retry.rb +1 -1
- data/bundler/lib/bundler/ruby_dsl.rb +23 -2
- data/bundler/lib/bundler/self_manager.rb +2 -0
- data/bundler/lib/bundler/settings.rb +37 -13
- data/bundler/lib/bundler/source/git/git_proxy.rb +14 -2
- data/bundler/lib/bundler/source/rubygems.rb +22 -25
- data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +1 -1
- data/bundler/lib/bundler/version.rb +1 -1
- data/lib/rubygems/available_set.rb +1 -1
- data/lib/rubygems/basic_specification.rb +2 -2
- data/lib/rubygems/command.rb +16 -19
- data/lib/rubygems/commands/cert_command.rb +1 -1
- data/lib/rubygems/commands/dependency_command.rb +3 -4
- data/lib/rubygems/commands/owner_command.rb +8 -10
- data/lib/rubygems/commands/uninstall_command.rb +6 -7
- data/lib/rubygems/commands/unpack_command.rb +4 -6
- data/lib/rubygems/config_file.rb +1 -1
- data/lib/rubygems/core_ext/kernel_gem.rb +1 -1
- data/lib/rubygems/core_ext/kernel_warn.rb +4 -5
- data/lib/rubygems/dependency_installer.rb +8 -12
- data/lib/rubygems/deprecate.rb +2 -2
- data/lib/rubygems/gemcutter_utilities.rb +2 -2
- data/lib/rubygems/installer.rb +9 -11
- data/lib/rubygems/name_tuple.rb +1 -1
- data/lib/rubygems/package/tar_reader/entry.rb +18 -20
- data/lib/rubygems/package/tar_reader.rb +0 -5
- data/lib/rubygems/package.rb +10 -4
- data/lib/rubygems/query_utils.rb +1 -1
- data/lib/rubygems/request_set/gem_dependency_api.rb +1 -1
- data/lib/rubygems/resolver/activation_request.rb +2 -4
- data/lib/rubygems/resolver/installed_specification.rb +1 -1
- data/lib/rubygems/resolver/local_specification.rb +1 -1
- data/lib/rubygems/s3_uri_signer.rb +1 -1
- data/lib/rubygems/security/trust_dir.rb +4 -6
- data/lib/rubygems/security.rb +1 -1
- data/lib/rubygems/source/local.rb +34 -37
- data/lib/rubygems/source.rb +2 -2
- data/lib/rubygems/source_list.rb +2 -2
- data/lib/rubygems/spec_fetcher.rb +29 -33
- data/lib/rubygems/specification.rb +34 -26
- data/lib/rubygems/specification_policy.rb +33 -32
- data/lib/rubygems/stub_specification.rb +13 -10
- data/lib/rubygems/uninstaller.rb +1 -1
- data/lib/rubygems/user_interaction.rb +2 -2
- data/lib/rubygems/util/licenses.rb +115 -0
- data/lib/rubygems/validator.rb +5 -7
- data/lib/rubygems.rb +5 -7
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/helper.rb +17 -19
- data/test/rubygems/test_gem.rb +4 -4
- data/test/rubygems/test_gem_commands_build_command.rb +2 -1
- data/test/rubygems/test_gem_commands_stale_command.rb +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.lock +28 -12
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.toml +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +16 -14
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
- data/test/rubygems/test_gem_indexer.rb +1 -1
- data/test/rubygems/test_gem_package.rb +117 -2
- data/test/rubygems/test_gem_package_tar_header.rb +7 -7
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +53 -1
- data/test/rubygems/test_gem_package_tar_writer.rb +13 -13
- data/test/rubygems/test_gem_remote_fetcher.rb +21 -25
- data/test/rubygems/test_gem_requirement.rb +1 -1
- data/test/rubygems/test_gem_specification.rb +42 -6
- data/test/rubygems/test_gem_update_suggestion.rb +14 -20
- data/test/rubygems/test_require.rb +4 -6
- data/test/rubygems/utilities.rb +2 -2
- metadata +3 -3
@@ -127,7 +127,7 @@ class Gem::SpecificationPolicy
|
|
127
127
|
|
128
128
|
metadata.each do |key, value|
|
129
129
|
entry = "metadata['#{key}']"
|
130
|
-
|
130
|
+
unless key.is_a?(String)
|
131
131
|
error "metadata keys must be a String"
|
132
132
|
end
|
133
133
|
|
@@ -135,7 +135,7 @@ class Gem::SpecificationPolicy
|
|
135
135
|
error "metadata key is too large (#{key.size} > 128)"
|
136
136
|
end
|
137
137
|
|
138
|
-
|
138
|
+
unless value.is_a?(String)
|
139
139
|
error "#{entry} value must be a String"
|
140
140
|
end
|
141
141
|
|
@@ -143,10 +143,9 @@ class Gem::SpecificationPolicy
|
|
143
143
|
error "#{entry} value is too large (#{value.size} > 1024)"
|
144
144
|
end
|
145
145
|
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
end
|
146
|
+
next unless METADATA_LINK_KEYS.include? key
|
147
|
+
if value !~ VALID_URI_PATTERN
|
148
|
+
error "#{entry} has invalid link: #{value.inspect}"
|
150
149
|
end
|
151
150
|
end
|
152
151
|
end
|
@@ -198,28 +197,27 @@ duplicate dependency on #{dep}, (#{prev.requirement}) use:
|
|
198
197
|
!version.prerelease? && (op == ">" || op == ">=")
|
199
198
|
end
|
200
199
|
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
segments = dep_version.segments
|
200
|
+
next unless open_ended
|
201
|
+
op, dep_version = dep.requirement.requirements.first
|
205
202
|
|
206
|
-
|
203
|
+
segments = dep_version.segments
|
207
204
|
|
208
|
-
|
209
|
-
" use a bounded requirement, such as '~> x.y'"
|
210
|
-
else
|
211
|
-
bugfix = if op == ">"
|
212
|
-
", '> #{dep_version}'"
|
213
|
-
elsif op == ">=" && base != segments
|
214
|
-
", '>= #{dep_version}'"
|
215
|
-
end
|
205
|
+
base = segments.first 2
|
216
206
|
|
217
|
-
|
218
|
-
|
207
|
+
recommendation = if (op == ">" || op == ">=") && segments == [0]
|
208
|
+
" use a bounded requirement, such as '~> x.y'"
|
209
|
+
else
|
210
|
+
bugfix = if op == ">"
|
211
|
+
", '> #{dep_version}'"
|
212
|
+
elsif op == ">=" && base != segments
|
213
|
+
", '>= #{dep_version}'"
|
219
214
|
end
|
220
215
|
|
221
|
-
|
216
|
+
" if #{dep.name} is semantically versioned, use:\n" \
|
217
|
+
" add_#{dep.type}_dependency '#{dep.name}', '~> #{base.join '.'}'#{bugfix}"
|
222
218
|
end
|
219
|
+
|
220
|
+
warning_messages << ["open-ended dependency on #{dep} is not recommended", recommendation].join("\n") + "\n"
|
223
221
|
end
|
224
222
|
if warning_messages.any?
|
225
223
|
warning_messages.each {|warning_message| warning warning_message }
|
@@ -345,7 +343,7 @@ duplicate dependency on #{dep}, (#{prev.requirement}) use:
|
|
345
343
|
String
|
346
344
|
end
|
347
345
|
|
348
|
-
unless Array === val && val.all? {|x| x.
|
346
|
+
unless Array === val && val.all? {|x| x.is_a?(klass) || (field == :licenses && x.nil?) }
|
349
347
|
error "#{field} must be an Array of #{klass}"
|
350
348
|
end
|
351
349
|
end
|
@@ -360,6 +358,8 @@ duplicate dependency on #{dep}, (#{prev.requirement}) use:
|
|
360
358
|
licenses = @specification.licenses
|
361
359
|
|
362
360
|
licenses.each do |license|
|
361
|
+
next if license.nil?
|
362
|
+
|
363
363
|
if license.length > 64
|
364
364
|
error "each license must be 64 characters or less"
|
365
365
|
end
|
@@ -370,20 +370,21 @@ duplicate dependency on #{dep}, (#{prev.requirement}) use:
|
|
370
370
|
licenses = @specification.licenses
|
371
371
|
|
372
372
|
licenses.each do |license|
|
373
|
-
if
|
374
|
-
|
375
|
-
|
373
|
+
next if Gem::Licenses.match?(license) || license.nil?
|
374
|
+
suggestions = Gem::Licenses.suggestions(license)
|
375
|
+
message = <<-WARNING
|
376
376
|
license value '#{license}' is invalid. Use a license identifier from
|
377
|
-
http://spdx.org/licenses or '#{Gem::Licenses::NONSTANDARD}' for a nonstandard license
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
377
|
+
http://spdx.org/licenses or '#{Gem::Licenses::NONSTANDARD}' for a nonstandard license,
|
378
|
+
or set it to nil if you don't want to specify a license.
|
379
|
+
WARNING
|
380
|
+
message += "Did you mean #{suggestions.map {|s| "'#{s}'" }.join(', ')}?\n" unless suggestions.nil?
|
381
|
+
warning(message)
|
382
382
|
end
|
383
383
|
|
384
384
|
warning <<-WARNING if licenses.empty?
|
385
385
|
licenses is empty, but is recommended. Use a license identifier from
|
386
|
-
http://spdx.org/licenses or '#{Gem::Licenses::NONSTANDARD}' for a nonstandard license
|
386
|
+
http://spdx.org/licenses or '#{Gem::Licenses::NONSTANDARD}' for a nonstandard license,
|
387
|
+
or set it to nil if you don't want to specify a license.
|
387
388
|
WARNING
|
388
389
|
end
|
389
390
|
|
@@ -35,7 +35,7 @@ class Gem::StubSpecification < Gem::BasicSpecification
|
|
35
35
|
|
36
36
|
def initialize(data, extensions)
|
37
37
|
parts = data[PREFIX.length..-1].split(" ", 4)
|
38
|
-
@name = parts[0]
|
38
|
+
@name = -parts[0]
|
39
39
|
@version = if Gem::Version.correct?(parts[1])
|
40
40
|
Gem::Version.new(parts[1])
|
41
41
|
else
|
@@ -112,20 +112,23 @@ class Gem::StubSpecification < Gem::BasicSpecification
|
|
112
112
|
saved_lineno = $.
|
113
113
|
|
114
114
|
Gem.open_file loaded_from, OPEN_MODE do |file|
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
115
|
+
file.readline # discard encoding line
|
116
|
+
stubline = file.readline
|
117
|
+
if stubline.start_with?(PREFIX)
|
118
|
+
extline = file.readline
|
119
|
+
|
120
|
+
extensions =
|
121
|
+
if extline.delete_prefix!(PREFIX)
|
122
|
+
extline.chomp!
|
123
|
+
extline.split "\0"
|
121
124
|
else
|
122
125
|
StubLine::NO_EXTENSIONS
|
123
126
|
end
|
124
127
|
|
125
|
-
|
126
|
-
|
127
|
-
rescue EOFError
|
128
|
+
stubline.chomp! # readline(chomp: true) allocates 3x as much as .readline.chomp!
|
129
|
+
@data = StubLine.new stubline, extensions
|
128
130
|
end
|
131
|
+
rescue EOFError
|
129
132
|
end
|
130
133
|
ensure
|
131
134
|
$. = saved_lineno
|
data/lib/rubygems/uninstaller.rb
CHANGED
@@ -135,7 +135,7 @@ class Gem::Uninstaller
|
|
135
135
|
|
136
136
|
if index == list.size
|
137
137
|
remove_all list
|
138
|
-
elsif index >= 0 && index < list.size
|
138
|
+
elsif index && index >= 0 && index < list.size
|
139
139
|
uninstall_gem list[index]
|
140
140
|
else
|
141
141
|
say "Error: must enter a number [1-#{list.size + 1}]"
|
@@ -286,7 +286,7 @@ class Gem::StreamUI
|
|
286
286
|
# Ask a question. Returns an answer if connected to a tty, nil otherwise.
|
287
287
|
|
288
288
|
def ask(question)
|
289
|
-
return nil
|
289
|
+
return nil unless tty?
|
290
290
|
|
291
291
|
@outs.print(question + " ")
|
292
292
|
@outs.flush
|
@@ -300,7 +300,7 @@ class Gem::StreamUI
|
|
300
300
|
# Ask for a password. Does not echo response to terminal.
|
301
301
|
|
302
302
|
def ask_for_password(question)
|
303
|
-
return nil
|
303
|
+
return nil unless tty?
|
304
304
|
|
305
305
|
@outs.print(question, " ")
|
306
306
|
@outs.flush
|
@@ -1,5 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
# This is generated by generate_spdx_license_list.rb, any edits to this
|
4
|
+
# file will be discarded.
|
5
|
+
|
3
6
|
require_relative "../text"
|
4
7
|
|
5
8
|
class Gem::Licenses
|
@@ -36,7 +39,10 @@ class Gem::Licenses
|
|
36
39
|
APSL-1.1
|
37
40
|
APSL-1.2
|
38
41
|
APSL-2.0
|
42
|
+
ASWF-Digital-Assets-1.0
|
43
|
+
ASWF-Digital-Assets-1.1
|
39
44
|
Abstyles
|
45
|
+
AdaCore-doc
|
40
46
|
Adobe-2006
|
41
47
|
Adobe-Glyph
|
42
48
|
Afmparse
|
@@ -44,6 +50,8 @@ class Gem::Licenses
|
|
44
50
|
Apache-1.0
|
45
51
|
Apache-1.1
|
46
52
|
Apache-2.0
|
53
|
+
App-s2p
|
54
|
+
Arphic-1999
|
47
55
|
Artistic-1.0
|
48
56
|
Artistic-1.0-Perl
|
49
57
|
Artistic-1.0-cl8
|
@@ -67,17 +75,26 @@ class Gem::Licenses
|
|
67
75
|
BSD-4-Clause
|
68
76
|
BSD-4-Clause-Shortened
|
69
77
|
BSD-4-Clause-UC
|
78
|
+
BSD-4.3RENO
|
79
|
+
BSD-4.3TAHOE
|
80
|
+
BSD-Advertising-Acknowledgement
|
81
|
+
BSD-Attribution-HPND-disclaimer
|
70
82
|
BSD-Protection
|
71
83
|
BSD-Source-Code
|
72
84
|
BSL-1.0
|
73
85
|
BUSL-1.1
|
86
|
+
Baekmuk
|
74
87
|
Bahyph
|
75
88
|
Barr
|
76
89
|
Beerware
|
77
90
|
BitTorrent-1.0
|
78
91
|
BitTorrent-1.1
|
92
|
+
Bitstream-Charter
|
93
|
+
Bitstream-Vera
|
79
94
|
BlueOak-1.0.0
|
95
|
+
Boehm-GC
|
80
96
|
Borceux
|
97
|
+
Brian-Gladman-3-Clause
|
81
98
|
C-UDA-1.0
|
82
99
|
CAL-1.0
|
83
100
|
CAL-1.0-Combined-Work-Exception
|
@@ -85,30 +102,42 @@ class Gem::Licenses
|
|
85
102
|
CC-BY-1.0
|
86
103
|
CC-BY-2.0
|
87
104
|
CC-BY-2.5
|
105
|
+
CC-BY-2.5-AU
|
88
106
|
CC-BY-3.0
|
89
107
|
CC-BY-3.0-AT
|
108
|
+
CC-BY-3.0-DE
|
109
|
+
CC-BY-3.0-IGO
|
110
|
+
CC-BY-3.0-NL
|
90
111
|
CC-BY-3.0-US
|
91
112
|
CC-BY-4.0
|
92
113
|
CC-BY-NC-1.0
|
93
114
|
CC-BY-NC-2.0
|
94
115
|
CC-BY-NC-2.5
|
95
116
|
CC-BY-NC-3.0
|
117
|
+
CC-BY-NC-3.0-DE
|
96
118
|
CC-BY-NC-4.0
|
97
119
|
CC-BY-NC-ND-1.0
|
98
120
|
CC-BY-NC-ND-2.0
|
99
121
|
CC-BY-NC-ND-2.5
|
100
122
|
CC-BY-NC-ND-3.0
|
123
|
+
CC-BY-NC-ND-3.0-DE
|
101
124
|
CC-BY-NC-ND-3.0-IGO
|
102
125
|
CC-BY-NC-ND-4.0
|
103
126
|
CC-BY-NC-SA-1.0
|
104
127
|
CC-BY-NC-SA-2.0
|
128
|
+
CC-BY-NC-SA-2.0-DE
|
129
|
+
CC-BY-NC-SA-2.0-FR
|
130
|
+
CC-BY-NC-SA-2.0-UK
|
105
131
|
CC-BY-NC-SA-2.5
|
106
132
|
CC-BY-NC-SA-3.0
|
133
|
+
CC-BY-NC-SA-3.0-DE
|
134
|
+
CC-BY-NC-SA-3.0-IGO
|
107
135
|
CC-BY-NC-SA-4.0
|
108
136
|
CC-BY-ND-1.0
|
109
137
|
CC-BY-ND-2.0
|
110
138
|
CC-BY-ND-2.5
|
111
139
|
CC-BY-ND-3.0
|
140
|
+
CC-BY-ND-3.0-DE
|
112
141
|
CC-BY-ND-4.0
|
113
142
|
CC-BY-SA-1.0
|
114
143
|
CC-BY-SA-2.0
|
@@ -117,6 +146,8 @@ class Gem::Licenses
|
|
117
146
|
CC-BY-SA-2.5
|
118
147
|
CC-BY-SA-3.0
|
119
148
|
CC-BY-SA-3.0-AT
|
149
|
+
CC-BY-SA-3.0-DE
|
150
|
+
CC-BY-SA-3.0-IGO
|
120
151
|
CC-BY-SA-4.0
|
121
152
|
CC-PDDC
|
122
153
|
CC0-1.0
|
@@ -124,6 +155,7 @@ class Gem::Licenses
|
|
124
155
|
CDDL-1.1
|
125
156
|
CDL-1.0
|
126
157
|
CDLA-Permissive-1.0
|
158
|
+
CDLA-Permissive-2.0
|
127
159
|
CDLA-Sharing-1.0
|
128
160
|
CECILL-1.0
|
129
161
|
CECILL-1.1
|
@@ -136,20 +168,27 @@ class Gem::Licenses
|
|
136
168
|
CERN-OHL-P-2.0
|
137
169
|
CERN-OHL-S-2.0
|
138
170
|
CERN-OHL-W-2.0
|
171
|
+
CFITSIO
|
172
|
+
CMU-Mach
|
139
173
|
CNRI-Jython
|
140
174
|
CNRI-Python
|
141
175
|
CNRI-Python-GPL-Compatible
|
176
|
+
COIL-1.0
|
142
177
|
CPAL-1.0
|
143
178
|
CPL-1.0
|
144
179
|
CPOL-1.02
|
145
180
|
CUA-OPL-1.0
|
146
181
|
Caldera
|
147
182
|
ClArtistic
|
183
|
+
Clips
|
184
|
+
Community-Spec-1.0
|
148
185
|
Condor-1.1
|
186
|
+
Cornell-Lossless-JPEG
|
149
187
|
Crossword
|
150
188
|
CrystalStacker
|
151
189
|
Cube
|
152
190
|
D-FSL-1.0
|
191
|
+
DL-DE-BY-2.0
|
153
192
|
DOC
|
154
193
|
DRL-1.0
|
155
194
|
DSDP
|
@@ -165,12 +204,15 @@ class Gem::Licenses
|
|
165
204
|
EUPL-1.0
|
166
205
|
EUPL-1.1
|
167
206
|
EUPL-1.2
|
207
|
+
Elastic-2.0
|
168
208
|
Entessa
|
169
209
|
ErlPL-1.1
|
170
210
|
Eurosym
|
211
|
+
FDK-AAC
|
171
212
|
FSFAP
|
172
213
|
FSFUL
|
173
214
|
FSFULLR
|
215
|
+
FSFULLRWD
|
174
216
|
FTL
|
175
217
|
Fair
|
176
218
|
Frameworx-1.0
|
@@ -222,26 +264,38 @@ class Gem::Licenses
|
|
222
264
|
Giftware
|
223
265
|
Glide
|
224
266
|
Glulxe
|
267
|
+
Graphics-Gems
|
268
|
+
HP-1986
|
225
269
|
HPND
|
270
|
+
HPND-Markus-Kuhn
|
271
|
+
HPND-export-US
|
226
272
|
HPND-sell-variant
|
273
|
+
HPND-sell-variant-MIT-disclaimer
|
227
274
|
HTMLTIDY
|
228
275
|
HaskellReport
|
229
276
|
Hippocratic-2.1
|
230
277
|
IBM-pibs
|
231
278
|
ICU
|
279
|
+
IEC-Code-Components-EULA
|
232
280
|
IJG
|
281
|
+
IJG-short
|
233
282
|
IPA
|
234
283
|
IPL-1.0
|
235
284
|
ISC
|
236
285
|
ImageMagick
|
237
286
|
Imlib2
|
238
287
|
Info-ZIP
|
288
|
+
Inner-Net-2.0
|
239
289
|
Intel
|
240
290
|
Intel-ACPI
|
241
291
|
Interbase-1.0
|
292
|
+
JPL-image
|
242
293
|
JPNIC
|
243
294
|
JSON
|
295
|
+
Jam
|
244
296
|
JasPer-2.0
|
297
|
+
Kazlib
|
298
|
+
Knuth-CTAN
|
245
299
|
LAL-1.2
|
246
300
|
LAL-1.3
|
247
301
|
LGPL-2.0
|
@@ -257,6 +311,7 @@ class Gem::Licenses
|
|
257
311
|
LGPL-3.0-only
|
258
312
|
LGPL-3.0-or-later
|
259
313
|
LGPLLR
|
314
|
+
LOOP
|
260
315
|
LPL-1.0
|
261
316
|
LPL-1.02
|
262
317
|
LPPL-1.0
|
@@ -264,17 +319,26 @@ class Gem::Licenses
|
|
264
319
|
LPPL-1.2
|
265
320
|
LPPL-1.3a
|
266
321
|
LPPL-1.3c
|
322
|
+
LZMA-SDK-9.11-to-9.20
|
323
|
+
LZMA-SDK-9.22
|
267
324
|
Latex2e
|
325
|
+
Latex2e-translated-notice
|
268
326
|
Leptonica
|
269
327
|
LiLiQ-P-1.1
|
270
328
|
LiLiQ-R-1.1
|
271
329
|
LiLiQ-Rplus-1.1
|
272
330
|
Libpng
|
273
331
|
Linux-OpenIB
|
332
|
+
Linux-man-pages-1-para
|
333
|
+
Linux-man-pages-copyleft
|
334
|
+
Linux-man-pages-copyleft-2-para
|
335
|
+
Linux-man-pages-copyleft-var
|
274
336
|
MIT
|
275
337
|
MIT-0
|
276
338
|
MIT-CMU
|
339
|
+
MIT-Festival
|
277
340
|
MIT-Modern-Variant
|
341
|
+
MIT-Wu
|
278
342
|
MIT-advertising
|
279
343
|
MIT-enna
|
280
344
|
MIT-feh
|
@@ -284,10 +348,13 @@ class Gem::Licenses
|
|
284
348
|
MPL-1.1
|
285
349
|
MPL-2.0
|
286
350
|
MPL-2.0-no-copyleft-exception
|
351
|
+
MS-LPL
|
287
352
|
MS-PL
|
288
353
|
MS-RL
|
289
354
|
MTLL
|
290
355
|
MakeIndex
|
356
|
+
Martin-Birgmeier
|
357
|
+
Minpack
|
291
358
|
MirOS
|
292
359
|
Motosoto
|
293
360
|
MulanPSL-1.0
|
@@ -300,9 +367,12 @@ class Gem::Licenses
|
|
300
367
|
NCGL-UK-2.0
|
301
368
|
NCSA
|
302
369
|
NGPL
|
370
|
+
NICTA-1.0
|
303
371
|
NIST-PD
|
304
372
|
NIST-PD-fallback
|
373
|
+
NIST-Software
|
305
374
|
NLOD-1.0
|
375
|
+
NLOD-2.0
|
306
376
|
NLPL
|
307
377
|
NOSL
|
308
378
|
NPL-1.0
|
@@ -323,6 +393,7 @@ class Gem::Licenses
|
|
323
393
|
OCLC-2.0
|
324
394
|
ODC-By-1.0
|
325
395
|
ODbL-1.0
|
396
|
+
OFFIS
|
326
397
|
OFL-1.0
|
327
398
|
OFL-1.0-RFN
|
328
399
|
OFL-1.0-no-RFN
|
@@ -352,14 +423,18 @@ class Gem::Licenses
|
|
352
423
|
OLDAP-2.6
|
353
424
|
OLDAP-2.7
|
354
425
|
OLDAP-2.8
|
426
|
+
OLFL-1.3
|
355
427
|
OML
|
356
428
|
OPL-1.0
|
429
|
+
OPL-UK-3.0
|
430
|
+
OPUBL-1.0
|
357
431
|
OSET-PL-2.1
|
358
432
|
OSL-1.0
|
359
433
|
OSL-1.1
|
360
434
|
OSL-2.0
|
361
435
|
OSL-2.1
|
362
436
|
OSL-3.0
|
437
|
+
OpenPBS-2.3
|
363
438
|
OpenSSL
|
364
439
|
PDDL-1.0
|
365
440
|
PHP-3.0
|
@@ -372,7 +447,9 @@ class Gem::Licenses
|
|
372
447
|
PolyForm-Small-Business-1.0.0
|
373
448
|
PostgreSQL
|
374
449
|
Python-2.0
|
450
|
+
Python-2.0.1
|
375
451
|
QPL-1.0
|
452
|
+
QPL-1.0-INRIA-2004
|
376
453
|
Qhull
|
377
454
|
RHeCos-1.1
|
378
455
|
RPL-1.1
|
@@ -387,6 +464,7 @@ class Gem::Licenses
|
|
387
464
|
SGI-B-1.0
|
388
465
|
SGI-B-1.1
|
389
466
|
SGI-B-2.0
|
467
|
+
SGP4
|
390
468
|
SHL-0.5
|
391
469
|
SHL-0.51
|
392
470
|
SISSL
|
@@ -400,6 +478,7 @@ class Gem::Licenses
|
|
400
478
|
SSPL-1.0
|
401
479
|
SWL
|
402
480
|
Saxpath
|
481
|
+
SchemeReport
|
403
482
|
Sendmail
|
404
483
|
Sendmail-8.23
|
405
484
|
SimPL-2.0
|
@@ -409,19 +488,27 @@ class Gem::Licenses
|
|
409
488
|
Spencer-99
|
410
489
|
StandardML-NJ
|
411
490
|
SugarCRM-1.1.3
|
491
|
+
SunPro
|
492
|
+
Symlinks
|
412
493
|
TAPR-OHL-1.0
|
413
494
|
TCL
|
414
495
|
TCP-wrappers
|
415
496
|
TMate
|
416
497
|
TORQUE-1.1
|
417
498
|
TOSL
|
499
|
+
TPDL
|
500
|
+
TPL-1.0
|
501
|
+
TTWL
|
418
502
|
TU-Berlin-1.0
|
419
503
|
TU-Berlin-2.0
|
504
|
+
TermReadKey
|
505
|
+
UCAR
|
420
506
|
UCL-1.0
|
421
507
|
UPL-1.0
|
422
508
|
Unicode-DFS-2015
|
423
509
|
Unicode-DFS-2016
|
424
510
|
Unicode-TOU
|
511
|
+
UnixCrypt
|
425
512
|
Unlicense
|
426
513
|
VOSTROM
|
427
514
|
VSL-1.0
|
@@ -431,11 +518,15 @@ class Gem::Licenses
|
|
431
518
|
W3C-20150513
|
432
519
|
WTFPL
|
433
520
|
Watcom-1.0
|
521
|
+
Widget-Workshop
|
434
522
|
Wsuipa
|
435
523
|
X11
|
524
|
+
X11-distribute-modifications-variant
|
436
525
|
XFree86-1.1
|
437
526
|
XSkat
|
527
|
+
Xdebug-1.03
|
438
528
|
Xerox
|
529
|
+
Xfig
|
439
530
|
Xnet
|
440
531
|
YPL-1.0
|
441
532
|
YPL-1.1
|
@@ -450,10 +541,12 @@ class Gem::Licenses
|
|
450
541
|
blessing
|
451
542
|
bzip2-1.0.5
|
452
543
|
bzip2-1.0.6
|
544
|
+
checkmk
|
453
545
|
copyleft-next-0.3.0
|
454
546
|
copyleft-next-0.3.1
|
455
547
|
curl
|
456
548
|
diffmark
|
549
|
+
dtoa
|
457
550
|
dvipdfm
|
458
551
|
eCos-2.0
|
459
552
|
eGenix
|
@@ -464,11 +557,18 @@ class Gem::Licenses
|
|
464
557
|
libpng-2.0
|
465
558
|
libselinux-1.0
|
466
559
|
libtiff
|
560
|
+
libutil-David-Nugent
|
561
|
+
metamail
|
562
|
+
mpi-permissive
|
467
563
|
mpich2
|
564
|
+
mplus
|
468
565
|
psfrag
|
469
566
|
psutils
|
567
|
+
snprintf
|
568
|
+
w3m
|
470
569
|
wxWindows
|
471
570
|
xinetd
|
571
|
+
xlock
|
472
572
|
xpp
|
473
573
|
zlib-acknowledgement
|
474
574
|
].freeze
|
@@ -476,8 +576,11 @@ class Gem::Licenses
|
|
476
576
|
# exception identifiers
|
477
577
|
EXCEPTION_IDENTIFIERS = %w[
|
478
578
|
389-exception
|
579
|
+
Asterisk-exception
|
479
580
|
Autoconf-exception-2.0
|
480
581
|
Autoconf-exception-3.0
|
582
|
+
Autoconf-exception-generic
|
583
|
+
Autoconf-exception-macro
|
481
584
|
Bison-exception-2.2
|
482
585
|
Bootloader-exception
|
483
586
|
CLISP-exception-2.0
|
@@ -488,10 +591,16 @@ class Gem::Licenses
|
|
488
591
|
Font-exception-2.0
|
489
592
|
GCC-exception-2.0
|
490
593
|
GCC-exception-3.1
|
594
|
+
GNAT-exception
|
595
|
+
GPL-3.0-interface-exception
|
491
596
|
GPL-3.0-linking-exception
|
492
597
|
GPL-3.0-linking-source-exception
|
493
598
|
GPL-CC-1.0
|
599
|
+
GStreamer-exception-2005
|
600
|
+
GStreamer-exception-2008
|
601
|
+
KiCad-libraries-exception
|
494
602
|
LGPL-3.0-linking-exception
|
603
|
+
LLGPL
|
495
604
|
LLVM-exception
|
496
605
|
LZMA-exception
|
497
606
|
Libtool-exception
|
@@ -501,21 +610,27 @@ class Gem::Licenses
|
|
501
610
|
OCaml-LGPL-linking-exception
|
502
611
|
OpenJDK-assembly-exception-1.0
|
503
612
|
PS-or-PDF-font-exception-20170817
|
613
|
+
QPL-1.0-INRIA-2004-exception
|
504
614
|
Qt-GPL-exception-1.0
|
505
615
|
Qt-LGPL-exception-1.1
|
506
616
|
Qwt-exception-1.0
|
507
617
|
SHL-2.0
|
508
618
|
SHL-2.1
|
619
|
+
SWI-exception
|
509
620
|
Swift-exception
|
510
621
|
Universal-FOSS-exception-1.0
|
511
622
|
WxWindows-exception-3.1
|
623
|
+
cryptsetup-OpenSSL-exception
|
512
624
|
eCos-exception-2.0
|
513
625
|
freertos-exception-2.0
|
514
626
|
gnu-javamail-exception
|
515
627
|
i2p-gpl-java-exception
|
628
|
+
libpri-OpenH323-exception
|
516
629
|
mif-exception
|
517
630
|
openvpn-openssl-exception
|
518
631
|
u-boot-exception-2.0
|
632
|
+
vsftpd-openssl-exception
|
633
|
+
x11vnc-openssl-exception
|
519
634
|
].freeze
|
520
635
|
|
521
636
|
REGEXP = %r{
|
data/lib/rubygems/validator.rb
CHANGED
@@ -108,15 +108,13 @@ class Gem::Validator
|
|
108
108
|
end
|
109
109
|
|
110
110
|
good.each do |entry, data|
|
111
|
-
|
112
|
-
next unless data # HACK `gem check -a mkrf`
|
111
|
+
next unless data # HACK `gem check -a mkrf`
|
113
112
|
|
114
|
-
|
113
|
+
source = File.join gem_directory, entry["path"]
|
115
114
|
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
end
|
115
|
+
File.open source, Gem.binary_mode do |f|
|
116
|
+
unless f.read == data
|
117
|
+
errors[gem_name][entry["path"]] = "Modified from original"
|
120
118
|
end
|
121
119
|
end
|
122
120
|
end
|
data/lib/rubygems.rb
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
require "rbconfig"
|
10
10
|
|
11
11
|
module Gem
|
12
|
-
VERSION = "3.4.
|
12
|
+
VERSION = "3.4.20"
|
13
13
|
end
|
14
14
|
|
15
15
|
# Must be first since it unloads the prelude from 1.9.2
|
@@ -1102,13 +1102,11 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
1102
1102
|
require "bundler"
|
1103
1103
|
begin
|
1104
1104
|
Gem::DefaultUserInteraction.use_ui(ui) do
|
1105
|
-
|
1106
|
-
Bundler.
|
1107
|
-
@gemdeps = Bundler.setup
|
1108
|
-
end
|
1109
|
-
ensure
|
1110
|
-
Gem::DefaultUserInteraction.ui.close
|
1105
|
+
Bundler.ui.silence do
|
1106
|
+
@gemdeps = Bundler.setup
|
1111
1107
|
end
|
1108
|
+
ensure
|
1109
|
+
Gem::DefaultUserInteraction.ui.close
|
1112
1110
|
end
|
1113
1111
|
rescue Bundler::BundlerError => e
|
1114
1112
|
warn e.message
|
data/rubygems-update.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "rubygems-update"
|
5
|
-
s.version = "3.4.
|
5
|
+
s.version = "3.4.20"
|
6
6
|
s.authors = ["Jim Weirich", "Chad Fowler", "Eric Hodel", "Luis Lavena", "Aaron Patterson", "Samuel Giddins", "André Arko", "Evan Phoenix", "Hiroshi SHIBATA"]
|
7
7
|
s.email = ["", "", "drbrain@segment7.net", "luislavena@gmail.com", "aaron@tenderlovemaking.com", "segiddins@segiddins.me", "andre@arko.net", "evan@phx.io", "hsbt@ruby-lang.org"]
|
8
8
|
|