rubygems-update 3.5.4 → 3.5.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4cb7b6f7687a1507b8536010f6eed4228f0e940ba642a684070d9e5b7676813b
4
- data.tar.gz: df18b884768e1c6ce0b9566cee7df79dba8f07b40bb7798b109e4c2834b6991b
3
+ metadata.gz: c73f20f52f61db2ba70e9fd03114617fbaf95d0d78b9cb296f5b10efeb762aa8
4
+ data.tar.gz: 0a30532cbba00ffba42ae8649f7a43fca6c688e8a3e2cb7c74818b1336ff2de5
5
5
  SHA512:
6
- metadata.gz: 660660053dd83e660146422b033644d7ecf5f8ba13fb38995d37248979ef8c259aad042b9b9f741b0a5cf405bea117e86e5e7ef30c7d1db76f0de3b1d9fe2e59
7
- data.tar.gz: b6036f05191c48ca663ea87e3e5f142f60da79f97d2adaba0796f30de65be4bdf039ccd122433a5ae5ba161f6df2e436cd2627c8a65107049b7ea0fc9bce5f1e
6
+ metadata.gz: 86a479e68ce7ba20464ac3a1af32d2f3032ae12fa5ec61b529b69296dacfc2d3746ab3e92382c04fe0363cd48d0a289cb3996cfea609b73314cdaf4c5cecf08b
7
+ data.tar.gz: 006f72296a1ee5695a5df7a12be4c61bf58b39ac1698b2047219217a160115b6a34f329169cdcc1019782f99fbbe66e20dd165d5941dc396338ade779b54b8d7
data/CHANGELOG.md CHANGED
@@ -1,4 +1,25 @@
1
- # 3.5.4 / 2024-01-03
1
+ # 3.5.5 / 2024-01-18
2
+
3
+ ## Enhancements:
4
+
5
+ * Installs bundler 2.5.5 as a default gem.
6
+
7
+ ## Bug fixes:
8
+
9
+ * Fix `require` activation conflicts when requiring default gems under
10
+ some situations. Pull request
11
+ [#7379](https://github.com/rubygems/rubygems/pull/7379) by
12
+ deivid-rodriguez
13
+ * Use cache_home instead of data_home in default_spec_cache_dir. Pull
14
+ request [#7331](https://github.com/rubygems/rubygems/pull/7331) by mrkn
15
+
16
+ ## Documentation:
17
+
18
+ * Use squiggly heredocs in `Gem::Specification#description` documentation,
19
+ so it doesn't add leading whitespace. Pull request
20
+ [#7373](https://github.com/rubygems/rubygems/pull/7373) by bravehager
21
+
22
+ # 3.5.4 / 2024-01-04
2
23
 
3
24
  ## Enhancements:
4
25
 
data/POLICIES.md CHANGED
@@ -79,11 +79,11 @@ changelog.
79
79
  If PRs don't have a proper label, they won't be backported to patch releases.
80
80
 
81
81
  If you want a PR to be backported to a patch level release, but don't want to
82
- include it in the changelog, you can use the special `rubygems: backport` and
83
- `bundler: backport` labels. For example, this is useful when backporting a PR
84
- generates conflicts that are solved by backporting another PR with no user
85
- visible changes. You can use these special labels to also backport the other PR
86
- and not get any conflicts.
82
+ include it in the changelog, you can use the special `rubygems: skip changelog`
83
+ and `bundler: skip changelog` labels. For example, this is useful when
84
+ backporting a PR generates conflicts that are solved by backporting another PR
85
+ with no user visible changes. You can use these special labels to also backport
86
+ the other PR and not get any conflicts.
87
87
 
88
88
  ### Steps for patch releases
89
89
 
data/bundler/CHANGELOG.md CHANGED
@@ -1,4 +1,15 @@
1
- # 2.5.4 (January 3, 2024)
1
+ # 2.5.5 (January 18, 2024)
2
+
3
+ ## Bug fixes:
4
+
5
+ - Fix development dependency not being added if introduced by two gemspecs [#7358](https://github.com/rubygems/rubygems/pull/7358)
6
+ - Fix ETag quoting regression in If-None-Match header of compact index request [#7352](https://github.com/rubygems/rubygems/pull/7352)
7
+
8
+ ## Documentation:
9
+
10
+ - Refer to underscores as underscores [#7364](https://github.com/rubygems/rubygems/pull/7364)
11
+
12
+ # 2.5.4 (January 4, 2024)
2
13
 
3
14
  ## Bug fixes:
4
15
 
@@ -4,8 +4,8 @@ module Bundler
4
4
  # Represents metadata from when the Bundler gem was built.
5
5
  module BuildMetadata
6
6
  # begin ivars
7
- @built_at = "2024-01-04".freeze
8
- @git_commit_sha = "7ffda9ba9b".freeze
7
+ @built_at = "2024-01-18".freeze
8
+ @git_commit_sha = "2efa8cec93".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -42,7 +42,7 @@ module Bundler
42
42
  else
43
43
  file.write(response.body)
44
44
  end
45
- CacheFile.write(etag_path, etag(response))
45
+ CacheFile.write(etag_path, etag_from_response(response))
46
46
  true
47
47
  end
48
48
  end
@@ -53,13 +53,13 @@ module Bundler
53
53
  response = @fetcher.call(remote_path, request_headers(etag))
54
54
  return true if response.is_a?(Gem::Net::HTTPNotModified)
55
55
  CacheFile.write(local_path, response.body, parse_digests(response))
56
- CacheFile.write(etag_path, etag(response))
56
+ CacheFile.write(etag_path, etag_from_response(response))
57
57
  end
58
58
 
59
59
  def request_headers(etag, range_start = nil)
60
60
  headers = {}
61
61
  headers["Range"] = "bytes=#{range_start}-" if range_start
62
- headers["If-None-Match"] = etag if etag
62
+ headers["If-None-Match"] = %("#{etag}") if etag
63
63
  headers
64
64
  end
65
65
 
@@ -77,7 +77,7 @@ module Bundler
77
77
  etag
78
78
  end
79
79
 
80
- def etag(response)
80
+ def etag_from_response(response)
81
81
  return unless response["ETag"]
82
82
  etag = response["ETag"].delete_prefix("W/")
83
83
  return if etag.delete_prefix!('"') && !etag.delete_suffix!('"')
@@ -102,9 +102,6 @@ module Bundler
102
102
 
103
103
  # if there's already a dependency with this name we try to prefer one
104
104
  if current = @dependencies.find {|d| d.name == dep.name }
105
- # Always prefer the dependency from the Gemfile
106
- @dependencies.delete(current) if current.gemspec_dev_dep?
107
-
108
105
  if current.requirement != dep.requirement
109
106
  current_requirement_open = current.requirements_list.include?(">= 0")
110
107
 
@@ -116,8 +113,6 @@ module Bundler
116
113
  Bundler.ui.warn "A gemspec development dependency (#{gemspec_dep.name}, #{gemspec_dep.requirement}) is being overridden by a Gemfile dependency (#{gemfile_dep.name}, #{gemfile_dep.requirement}).\n" \
117
114
  "This behaviour may change in the future. Please remove either of them, or make sure they both have the same requirement\n"
118
115
  end
119
-
120
- return if dep.gemspec_dev_dep?
121
116
  else
122
117
  update_prompt = ""
123
118
 
@@ -135,8 +130,13 @@ module Bundler
135
130
  "You specified: #{current.name} (#{current.requirement}) and #{dep.name} (#{dep.requirement})" \
136
131
  "#{update_prompt}"
137
132
  end
138
- elsif current.gemspec_dev_dep? || dep.gemspec_dev_dep?
139
- return if dep.gemspec_dev_dep?
133
+ end
134
+
135
+ # Always prefer the dependency from the Gemfile
136
+ if current.gemspec_dev_dep?
137
+ @dependencies.delete(current)
138
+ elsif dep.gemspec_dev_dep?
139
+ return
140
140
  elsif current.source != dep.source
141
141
  raise GemfileError, "You cannot specify the same gem twice coming from different sources.\n" \
142
142
  "You specified that #{dep.name} (#{dep.requirement}) should come from " \
@@ -302,9 +302,9 @@ Note that any configured credentials will be redacted by informative commands su
302
302
  .P
303
303
  Also note that to guarantee a sane mapping between valid environment variable names and valid host names, bundler makes the following transformations:
304
304
  .IP "\(bu" 4
305
- Any \fB\-\fR characters in a host name are mapped to a triple dash (\fB___\fR) in the corresponding environment variable\.
305
+ Any \fB\-\fR characters in a host name are mapped to a triple underscore (\fB___\fR) in the corresponding environment variable\.
306
306
  .IP "\(bu" 4
307
- Any \fB\.\fR characters in a host name are mapped to a double dash (\fB__\fR) in the corresponding environment variable\.
307
+ Any \fB\.\fR characters in a host name are mapped to a double underscore (\fB__\fR) in the corresponding environment variable\.
308
308
  .IP "" 0
309
309
  .P
310
310
  This means that if you have a gem server named \fBmy\.gem\-host\.com\fR, you'll need to use the \fBBUNDLE_MY__GEM___HOST__COM\fR variable to configure credentials for it through ENV\.
@@ -388,10 +388,10 @@ copy-pasting bundler output.
388
388
  Also note that to guarantee a sane mapping between valid environment variable
389
389
  names and valid host names, bundler makes the following transformations:
390
390
 
391
- * Any `-` characters in a host name are mapped to a triple dash (`___`) in the
391
+ * Any `-` characters in a host name are mapped to a triple underscore (`___`) in the
392
392
  corresponding environment variable.
393
393
 
394
- * Any `.` characters in a host name are mapped to a double dash (`__`) in the
394
+ * Any `.` characters in a host name are mapped to a double underscore (`__`) in the
395
395
  corresponding environment variable.
396
396
 
397
397
  This means that if you have a gem server named `my.gem-host.com`, you'll need to
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Bundler
4
- VERSION = "2.5.4".freeze
4
+ VERSION = "2.5.5".freeze
5
5
 
6
6
  def self.bundler_major_version
7
7
  @bundler_major_version ||= VERSION.split(".").first.to_i
@@ -39,7 +39,14 @@ module Kernel
39
39
  RUBYGEMS_ACTIVATION_MONITOR.synchronize do
40
40
  path = File.path(path)
41
41
 
42
- if spec = Gem.find_unresolved_default_spec(path)
42
+ # If +path+ belongs to a default gem, we activate it and then go straight
43
+ # to normal require
44
+
45
+ if spec = Gem.find_default_spec(path)
46
+ name = spec.name
47
+
48
+ next if Gem.loaded_specs[name]
49
+
43
50
  # Ensure -I beats a default gem
44
51
  resolved_path = begin
45
52
  rp = nil
@@ -57,8 +64,10 @@ module Kernel
57
64
  rp
58
65
  end
59
66
 
60
- Kernel.send(:gem, spec.name, Gem::Requirement.default_prerelease) unless
67
+ Kernel.send(:gem, name, Gem::Requirement.default_prerelease) unless
61
68
  resolved_path
69
+
70
+ next
62
71
  end
63
72
 
64
73
  # If there are no unresolved deps, then we can use just try
@@ -24,7 +24,7 @@ module Gem
24
24
  default_spec_cache_dir = File.join Gem.user_home, ".gem", "specs"
25
25
 
26
26
  unless File.exist?(default_spec_cache_dir)
27
- default_spec_cache_dir = File.join Gem.data_home, "gem", "specs"
27
+ default_spec_cache_dir = File.join Gem.cache_home, "gem", "specs"
28
28
  end
29
29
 
30
30
  default_spec_cache_dir
@@ -301,7 +301,7 @@ class Gem::Specification < Gem::BasicSpecification
301
301
  #
302
302
  # Usage:
303
303
  #
304
- # spec.description = <<-EOF
304
+ # spec.description = <<~EOF
305
305
  # Rake is a Make-like program implemented in Ruby. Tasks and
306
306
  # dependencies are specified in standard Ruby syntax.
307
307
  # EOF
data/lib/rubygems.rb CHANGED
@@ -9,7 +9,7 @@
9
9
  require "rbconfig"
10
10
 
11
11
  module Gem
12
- VERSION = "3.5.4"
12
+ VERSION = "3.5.5"
13
13
  end
14
14
 
15
15
  # Must be first since it unloads the prelude from 1.9.2
@@ -1216,6 +1216,13 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
1216
1216
  ##
1217
1217
  # Find a Gem::Specification of default gem from +path+
1218
1218
 
1219
+ def find_default_spec(path)
1220
+ @path_to_default_spec_map[path]
1221
+ end
1222
+
1223
+ ##
1224
+ # Find an unresolved Gem::Specification of default gem from +path+
1225
+
1219
1226
  def find_unresolved_default_spec(path)
1220
1227
  default_spec = @path_to_default_spec_map[path]
1221
1228
  return default_spec if default_spec && loaded_specs[default_spec.name] != default_spec
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "rubygems-update"
5
- s.version = "3.5.4"
5
+ s.version = "3.5.5"
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
 
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.5.4
4
+ version: 3.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -16,7 +16,7 @@ authors:
16
16
  autorequire:
17
17
  bindir: exe
18
18
  cert_chain: []
19
- date: 2024-01-04 00:00:00.000000000 Z
19
+ date: 2024-01-18 00:00:00.000000000 Z
20
20
  dependencies: []
21
21
  description: |-
22
22
  A package (also known as a library) contains a set of functionality
@@ -702,7 +702,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
702
702
  - !ruby/object:Gem::Version
703
703
  version: '0'
704
704
  requirements: []
705
- rubygems_version: 3.5.4
705
+ rubygems_version: 3.5.5
706
706
  signing_key:
707
707
  specification_version: 4
708
708
  summary: RubyGems is a package management framework for Ruby. This gem is downloaded