rubygems-update 3.6.2 → 3.6.3

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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/bundler/CHANGELOG.md +22 -0
  4. data/bundler/README.md +1 -1
  5. data/bundler/lib/bundler/build_metadata.rb +2 -2
  6. data/bundler/lib/bundler/cli/outdated.rb +6 -4
  7. data/bundler/lib/bundler/definition.rb +2 -2
  8. data/bundler/lib/bundler/dependency.rb +1 -1
  9. data/bundler/lib/bundler/feature_flag.rb +2 -6
  10. data/bundler/lib/bundler/installer.rb +15 -1
  11. data/bundler/lib/bundler/man/bundle-add.1 +3 -3
  12. data/bundler/lib/bundler/man/bundle-binstubs.1 +3 -3
  13. data/bundler/lib/bundler/man/bundle-cache.1 +3 -3
  14. data/bundler/lib/bundler/man/bundle-check.1 +3 -3
  15. data/bundler/lib/bundler/man/bundle-clean.1 +3 -3
  16. data/bundler/lib/bundler/man/bundle-config.1 +3 -3
  17. data/bundler/lib/bundler/man/bundle-console.1 +3 -3
  18. data/bundler/lib/bundler/man/bundle-doctor.1 +3 -3
  19. data/bundler/lib/bundler/man/bundle-env.1 +3 -3
  20. data/bundler/lib/bundler/man/bundle-exec.1 +3 -3
  21. data/bundler/lib/bundler/man/bundle-fund.1 +3 -3
  22. data/bundler/lib/bundler/man/bundle-gem.1 +3 -3
  23. data/bundler/lib/bundler/man/bundle-help.1 +3 -3
  24. data/bundler/lib/bundler/man/bundle-info.1 +3 -3
  25. data/bundler/lib/bundler/man/bundle-init.1 +3 -3
  26. data/bundler/lib/bundler/man/bundle-inject.1 +3 -3
  27. data/bundler/lib/bundler/man/bundle-install.1 +3 -3
  28. data/bundler/lib/bundler/man/bundle-issue.1 +3 -3
  29. data/bundler/lib/bundler/man/bundle-licenses.1 +3 -3
  30. data/bundler/lib/bundler/man/bundle-list.1 +3 -3
  31. data/bundler/lib/bundler/man/bundle-lock.1 +3 -3
  32. data/bundler/lib/bundler/man/bundle-open.1 +3 -3
  33. data/bundler/lib/bundler/man/bundle-outdated.1 +3 -3
  34. data/bundler/lib/bundler/man/bundle-platform.1 +3 -3
  35. data/bundler/lib/bundler/man/bundle-plugin.1 +3 -3
  36. data/bundler/lib/bundler/man/bundle-pristine.1 +3 -3
  37. data/bundler/lib/bundler/man/bundle-remove.1 +3 -3
  38. data/bundler/lib/bundler/man/bundle-show.1 +3 -3
  39. data/bundler/lib/bundler/man/bundle-update.1 +3 -3
  40. data/bundler/lib/bundler/man/bundle-version.1 +3 -3
  41. data/bundler/lib/bundler/man/bundle-viz.1 +3 -3
  42. data/bundler/lib/bundler/man/bundle.1 +3 -3
  43. data/bundler/lib/bundler/man/gemfile.5 +3 -3
  44. data/bundler/lib/bundler/plugin/index.rb +4 -0
  45. data/bundler/lib/bundler/resolver/base.rb +2 -1
  46. data/bundler/lib/bundler/resolver/package.rb +1 -1
  47. data/bundler/lib/bundler/resolver.rb +2 -1
  48. data/bundler/lib/bundler/ruby_dsl.rb +12 -3
  49. data/bundler/lib/bundler/rubygems_integration.rb +0 -12
  50. data/bundler/lib/bundler/source/git.rb +1 -0
  51. data/bundler/lib/bundler/spec_set.rb +16 -2
  52. data/bundler/lib/bundler/version.rb +1 -1
  53. data/bundler/lib/bundler.rb +10 -30
  54. data/doc/rubygems/POLICIES.md +1 -1
  55. data/lib/rubygems/commands/environment_command.rb +5 -0
  56. data/lib/rubygems/specification.rb +1 -1
  57. data/lib/rubygems/util/licenses.rb +19 -0
  58. data/lib/rubygems.rb +9 -2
  59. data/rubygems-update.gemspec +1 -1
  60. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c7fc38a36a930a52e9fb812ac5bc206c9f58540bff63db2bee276d514d08ce5f
4
- data.tar.gz: 8056fefbaf65da55c57da58c72c9f7bb6e59e5813e9963c3cbcb8239c7387206
3
+ metadata.gz: 05b48c959a72f6c09600fc229b86f0587fe2e308d407ebbe7a3d2444d77ce4b6
4
+ data.tar.gz: ec85019892569d684769e03bedd955c668fec081214e8514427ae1d20d2e3cac
5
5
  SHA512:
6
- metadata.gz: 3c929cdfcbf4282ac045f1906f57d4d289de04834ce74eaec64664148aa2c2ef1813c9ce225432d88e31989c1d1e1d0456a4485babc9608dd2446b44c97eb837
7
- data.tar.gz: 6945a43c3cda7831f926755d25ae0711a5cbe709b7de819f41b30ce6db3f4dca667106bb7b627a02146a2460d62359b5ba7d876e31e9213fad5440b3dcebb2fd
6
+ metadata.gz: cc9a21273636b54d13930fa08afa013f4d4797856ffb54834e8db61361d2338e0566d6c66523574fb3be687f023b324eb1743d3e207edeb9683e2a2726676788
7
+ data.tar.gz: ca935beea58e18ebf286292958f9abcf9ce2872f4792d30ee132505980e4edd128a9cfde5c52534ba4b42537906f018adfec0ead0be34b6ccc10ba8e1c1adf25
data/CHANGELOG.md CHANGED
@@ -1,3 +1,19 @@
1
+ # 3.6.3 / 2025-01-16
2
+
3
+ ## Enhancements:
4
+
5
+ * Add credentials file path to `gem env`. Pull request
6
+ [#8375](https://github.com/rubygems/rubygems/pull/8375) by duckinator
7
+ * Update SPDX license list as of 2024-12-30. Pull request
8
+ [#8387](https://github.com/rubygems/rubygems/pull/8387) by
9
+ github-actions[bot]
10
+ * Installs bundler 2.6.3 as a default gem.
11
+
12
+ ## Bug fixes:
13
+
14
+ * Fix `@licenses` array unmarshalling. Pull request
15
+ [#8411](https://github.com/rubygems/rubygems/pull/8411) by rykov
16
+
1
17
  # 3.6.2 / 2024-12-23
2
18
 
3
19
  ## Security:
data/bundler/CHANGELOG.md CHANGED
@@ -1,3 +1,25 @@
1
+ # 2.6.3 (January 16, 2025)
2
+
3
+ ## Enhancements:
4
+
5
+ - Don't fallback to evaluating YAML gemspecs as Ruby code [#8404](https://github.com/rubygems/rubygems/pull/8404)
6
+ - Print message when blocking on file locks [#8299](https://github.com/rubygems/rubygems/pull/8299)
7
+ - Add support for mise version manager file [#8356](https://github.com/rubygems/rubygems/pull/8356)
8
+ - Add Ruby 3.5 to Gemfile DSL platform values [#8365](https://github.com/rubygems/rubygems/pull/8365)
9
+
10
+ ## Bug fixes:
11
+
12
+ - Revert RubyGems plugins getting loaded on `Bundler.require` [#8410](https://github.com/rubygems/rubygems/pull/8410)
13
+ - Fix platform specific gems sometimes being removed from the lockfile [#8401](https://github.com/rubygems/rubygems/pull/8401)
14
+ - Serialize gemspec when caching git source [#8403](https://github.com/rubygems/rubygems/pull/8403)
15
+ - Fix crash on read-only filesystems in Ruby 3.4 [#8372](https://github.com/rubygems/rubygems/pull/8372)
16
+ - Fix `bundle outdated <GEM>` failing if not all gems are installed [#8361](https://github.com/rubygems/rubygems/pull/8361)
17
+ - Fix `bundle install` crash on Windows [#8362](https://github.com/rubygems/rubygems/pull/8362)
18
+
19
+ ## Documentation:
20
+
21
+ - Fix broken links in the documents [#8389](https://github.com/rubygems/rubygems/pull/8389)
22
+
1
23
  # 2.6.2 (December 23, 2024)
2
24
 
3
25
  ## Bug fixes:
data/bundler/README.md CHANGED
@@ -29,7 +29,7 @@ See [bundler.io](https://bundler.io) for the full documentation.
29
29
 
30
30
  ### Troubleshooting
31
31
 
32
- For help with common problems, see [TROUBLESHOOTING](doc/TROUBLESHOOTING.md).
32
+ For help with common problems, see [TROUBLESHOOTING](../doc/bundler/TROUBLESHOOTING.md).
33
33
 
34
34
  Still stuck? Try [filing an issue](https://github.com/rubygems/rubygems/issues/new?labels=Bundler&template=bundler-related-issue.md).
35
35
 
@@ -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-12-23".freeze
8
- @git_commit_sha = "90ebd47c740".freeze
7
+ @built_at = "2025-01-16".freeze
8
+ @git_commit_sha = "3c7c4ff2d8f".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -26,13 +26,15 @@ module Bundler
26
26
  def run
27
27
  check_for_deployment_mode!
28
28
 
29
- gems.each do |gem_name|
30
- Bundler::CLI::Common.select_spec(gem_name)
31
- end
32
-
33
29
  Bundler.definition.validate_runtime!
34
30
  current_specs = Bundler.ui.silence { Bundler.definition.resolve }
35
31
 
32
+ gems.each do |gem_name|
33
+ if current_specs[gem_name].empty?
34
+ raise GemNotFound, "Could not find gem '#{gem_name}'."
35
+ end
36
+ end
37
+
36
38
  current_dependencies = Bundler.ui.silence do
37
39
  Bundler.load.dependencies.map {|dep| [dep.name, dep] }.to_h
38
40
  end
@@ -742,7 +742,7 @@ module Bundler
742
742
 
743
743
  @platforms = result.add_extra_platforms!(platforms) if should_add_extra_platforms?
744
744
 
745
- SpecSet.new(result.for(dependencies, @platforms))
745
+ SpecSet.new(result.for(dependencies, @platforms | [Gem::Platform::RUBY]))
746
746
  end
747
747
 
748
748
  def precompute_source_requirements_for_indirect_dependencies?
@@ -1108,7 +1108,7 @@ module Bundler
1108
1108
  return resolution_packages if @explicit_unlocks.empty?
1109
1109
  full_update = dup_for_full_unlock.resolve
1110
1110
  @explicit_unlocks.each do |name|
1111
- version = full_update[name].first&.version
1111
+ version = full_update.version_for(name)
1112
1112
  resolution_packages.base_requirements[name] = Gem::Requirement.new("= #{version}") if version
1113
1113
  end
1114
1114
  resolution_packages
@@ -9,7 +9,7 @@ module Bundler
9
9
  attr_reader :autorequire
10
10
  attr_reader :groups, :platforms, :gemfile, :path, :git, :github, :branch, :ref, :glob
11
11
 
12
- ALL_RUBY_VERSIONS = (18..27).to_a.concat((30..34).to_a).freeze
12
+ ALL_RUBY_VERSIONS = (18..27).to_a.concat((30..35).to_a).freeze
13
13
  PLATFORM_MAP = {
14
14
  ruby: [Gem::Platform::RUBY, ALL_RUBY_VERSIONS],
15
15
  mri: [Gem::Platform::RUBY, ALL_RUBY_VERSIONS],
@@ -25,7 +25,7 @@ module Bundler
25
25
  end
26
26
  private_class_method :settings_method
27
27
 
28
- (1..10).each {|v| define_method("bundler_#{v}_mode?") { major_version >= v } }
28
+ (1..10).each {|v| define_method("bundler_#{v}_mode?") { @major_version >= v } }
29
29
 
30
30
  settings_flag(:allow_offline_install) { bundler_3_mode? }
31
31
  settings_flag(:auto_clean_without_path) { bundler_3_mode? }
@@ -44,11 +44,7 @@ module Bundler
44
44
 
45
45
  def initialize(bundler_version)
46
46
  @bundler_version = Gem::Version.create(bundler_version)
47
+ @major_version = @bundler_version.segments.first
47
48
  end
48
-
49
- def major_version
50
- @bundler_version.segments.first
51
- end
52
- private :major_version
53
49
  end
54
50
  end
@@ -79,7 +79,7 @@ module Bundler
79
79
 
80
80
  if @definition.setup_domain!(options)
81
81
  ensure_specs_are_compatible!
82
- Bundler.load_plugins(@definition)
82
+ load_plugins
83
83
  end
84
84
  install(options)
85
85
 
@@ -209,6 +209,20 @@ module Bundler
209
209
  Bundler.settings.processor_count
210
210
  end
211
211
 
212
+ def load_plugins
213
+ Gem.load_plugins
214
+
215
+ requested_path_gems = @definition.requested_specs.select {|s| s.source.is_a?(Source::Path) }
216
+ path_plugin_files = requested_path_gems.flat_map do |spec|
217
+ spec.matches_for_glob("rubygems_plugin#{Bundler.rubygems.suffix_pattern}")
218
+ rescue TypeError
219
+ error_message = "#{spec.name} #{spec.version} has an invalid gemspec"
220
+ raise Gem::InvalidSpecificationException, error_message
221
+ end
222
+ Gem.load_plugin_files(path_plugin_files)
223
+ Gem.load_env_plugins
224
+ end
225
+
212
226
  def ensure_specs_are_compatible!
213
227
  @definition.specs.each do |spec|
214
228
  unless spec.matches_current_ruby?
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-ADD" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-ADD" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-BINSTUBS" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-BINSTUBS" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-CACHE" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-CACHE" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-CHECK" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-CHECK" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-CLEAN" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-CLEAN" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-CONFIG" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-CONFIG" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-config\fR \- Set bundler configuration options
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-CONSOLE" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-CONSOLE" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-console\fR \- Open an IRB session with the bundle pre\-loaded
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-DOCTOR" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-DOCTOR" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-doctor\fR \- Checks the bundle for common problems
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-ENV" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-ENV" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-env\fR \- Print information about the environment Bundler is running under
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-EXEC" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-EXEC" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-exec\fR \- Execute a command in the context of the bundle
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-FUND" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-FUND" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-fund\fR \- Lists information about gems seeking funding assistance
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-GEM" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-GEM" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-HELP" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-HELP" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-help\fR \- Displays detailed help for each subcommand
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-INFO" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-INFO" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-info\fR \- Show information for the given gem in your bundle
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-INIT" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-INIT" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-init\fR \- Generates a Gemfile into the current working directory
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-INJECT" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-INJECT" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-INSTALL" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-INSTALL" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-ISSUE" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-ISSUE" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-issue\fR \- Get help reporting Bundler issues
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-LICENSES" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-LICENSES" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-licenses\fR \- Print the license of all gems in the bundle
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-LIST" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-LIST" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-list\fR \- List all the gems in the bundle
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-LOCK" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-LOCK" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-lock\fR \- Creates / Updates a lockfile without installing
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-OPEN" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-OPEN" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-open\fR \- Opens the source directory for a gem in your bundle
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-OUTDATED" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-OUTDATED" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-outdated\fR \- List installed gems with newer versions available
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-PLATFORM" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-PLATFORM" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-platform\fR \- Displays platform compatibility information
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-PLUGIN" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-PLUGIN" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-plugin\fR \- Manage Bundler plugins
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-PRISTINE" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-PRISTINE" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-pristine\fR \- Restores installed gems to their pristine condition
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-REMOVE" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-REMOVE" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-remove\fR \- Removes gems from the Gemfile
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-SHOW" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-SHOW" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-UPDATE" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-UPDATE" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-update\fR \- Update your gems to the latest available versions
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-VERSION" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-VERSION" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-version\fR \- Prints Bundler version information
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-VIZ" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-VIZ" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-viz\fR \- Generates a visual dependency graph for your Gemfile
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE" "1" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE" "1" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\fR \- Ruby Dependency Management
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "GEMFILE" "5" "December 2024" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "GEMFILE" "5" "January 2025" ""
4
4
  .SH "NAME"
5
5
  \fBGemfile\fR \- A format for describing gem dependencies for Ruby programs
6
6
  .SH "SYNOPSIS"
@@ -34,6 +34,10 @@ module Bundler
34
34
  rescue GenericSystemCallError
35
35
  # no need to fail when on a read-only FS, for example
36
36
  nil
37
+ rescue ArgumentError => e
38
+ # ruby 3.4 checks writability in Dir.tmpdir
39
+ raise unless e.message&.include?("could not find a temporary directory")
40
+ nil
37
41
  end
38
42
  load_index(local_index_file) if SharedHelpers.in_bundle?
39
43
  end
@@ -5,10 +5,11 @@ require_relative "package"
5
5
  module Bundler
6
6
  class Resolver
7
7
  class Base
8
- attr_reader :packages, :requirements, :source_requirements
8
+ attr_reader :packages, :requirements, :source_requirements, :locked_specs
9
9
 
10
10
  def initialize(source_requirements, dependencies, base, platforms, options)
11
11
  @source_requirements = source_requirements
12
+ @locked_specs = options[:locked_specs]
12
13
 
13
14
  @base = base
14
15
 
@@ -18,7 +18,7 @@ module Bundler
18
18
  def initialize(name, platforms, locked_specs:, unlock:, prerelease: false, prefer_local: false, dependency: nil)
19
19
  @name = name
20
20
  @platforms = platforms
21
- @locked_version = locked_specs[name].first&.version
21
+ @locked_version = locked_specs.version_for(name)
22
22
  @unlock = unlock
23
23
  @dependency = dependency || Dependency.new(name, @locked_version)
24
24
  @top_level = !dependency.nil?
@@ -80,7 +80,8 @@ module Bundler
80
80
  def solve_versions(root:, logger:)
81
81
  solver = PubGrub::VersionSolver.new(source: self, root: root, logger: logger)
82
82
  result = solver.solve
83
- result.flat_map {|package, version| version.to_specs(package, @most_specific_locked_platform) }
83
+ resolved_specs = result.flat_map {|package, version| version.to_specs(package, @most_specific_locked_platform) }
84
+ SpecSet.new(resolved_specs).specs_with_additional_variants_from(@base.locked_specs)
84
85
  rescue PubGrub::SolveFailure => e
85
86
  incompatibility = e.incompatibility
86
87
 
@@ -42,9 +42,18 @@ module Bundler
42
42
  # Loads the file relative to the dirname of the Gemfile itself.
43
43
  def normalize_ruby_file(filename)
44
44
  file_content = Bundler.read_file(gemfile.dirname.join(filename))
45
- # match "ruby-3.2.2" or "ruby 3.2.2" capturing version string up to the first space or comment
46
- if /^ruby(-|\s+)([^\s#]+)/.match(file_content)
47
- $2
45
+ # match "ruby-3.2.2", ruby = "3.2.2" or "ruby 3.2.2" capturing version string up to the first space or comment
46
+ if /^ # Start of line
47
+ ruby # Literal "ruby"
48
+ [\s-]* # Optional whitespace or hyphens (for "ruby-3.2.2" format)
49
+ (?:=\s*)? # Optional equals sign with whitespace (for ruby = "3.2.2" format)
50
+ "? # Optional opening quote
51
+ ( # Start capturing group
52
+ [^\s#"]+ # One or more chars that aren't spaces, #, or quotes
53
+ ) # End capturing group
54
+ "? # Optional closing quote
55
+ /x.match(file_content)
56
+ $1
48
57
  else
49
58
  file_content.strip
50
59
  end
@@ -134,18 +134,6 @@ module Bundler
134
134
  loaded_gem_paths.flatten
135
135
  end
136
136
 
137
- def load_plugins
138
- Gem.load_plugins
139
- end
140
-
141
- def load_plugin_files(plugin_files)
142
- Gem.load_plugin_files(plugin_files)
143
- end
144
-
145
- def load_env_plugins
146
- Gem.load_env_plugins
147
- end
148
-
149
137
  def ui=(obj)
150
138
  Gem::DefaultUserInteraction.ui = obj
151
139
  end
@@ -282,6 +282,7 @@ module Bundler
282
282
  FileUtils.rm_rf(app_cache_path)
283
283
  git_proxy.checkout if migrate || requires_checkout?
284
284
  git_proxy.copy_to(app_cache_path, @submodules)
285
+ serialize_gemspecs_in(app_cache_path)
285
286
  end
286
287
 
287
288
  def checkout
@@ -133,8 +133,8 @@ module Bundler
133
133
  validation_set.incomplete_specs.any?
134
134
  end
135
135
 
136
- def missing_specs_for(dependencies)
137
- materialize_dependencies(dependencies)
136
+ def missing_specs_for(deps)
137
+ materialize_dependencies(deps)
138
138
 
139
139
  missing_specs
140
140
  end
@@ -163,12 +163,20 @@ module Bundler
163
163
  @specs.detect {|spec| spec.name == name && spec.match_platform(platform) }
164
164
  end
165
165
 
166
+ def specs_with_additional_variants_from(other)
167
+ sorted | additional_variants_from(other)
168
+ end
169
+
166
170
  def delete_by_name(name)
167
171
  @specs.reject! {|spec| spec.name == name }
168
172
 
169
173
  reset!
170
174
  end
171
175
 
176
+ def version_for(name)
177
+ self[name].first&.version
178
+ end
179
+
172
180
  def what_required(spec)
173
181
  unless req = find {|s| s.runtime_dependencies.any? {|d| d.name == spec.name } }
174
182
  return [spec]
@@ -273,6 +281,12 @@ module Bundler
273
281
  @specs.flat_map {|spec| spec.source.specs.search([spec.name, spec.version]).map(&:platform) }.uniq
274
282
  end
275
283
 
284
+ def additional_variants_from(other)
285
+ other.select do |spec|
286
+ version_for(spec.name) == spec.version && valid_dependencies?(spec)
287
+ end
288
+ end
289
+
276
290
  def valid_dependencies?(s)
277
291
  validate_deps(s) == :valid
278
292
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Bundler
4
- VERSION = "2.6.2".freeze
4
+ VERSION = "2.6.3".freeze
5
5
 
6
6
  def self.bundler_major_version
7
7
  @bundler_major_version ||= VERSION.split(".").first.to_i
@@ -212,7 +212,6 @@ module Bundler
212
212
  # Bundler.require(:test) # requires second_gem
213
213
  #
214
214
  def require(*groups)
215
- load_plugins
216
215
  setup(*groups).require(*groups)
217
216
  end
218
217
 
@@ -548,15 +547,7 @@ module Bundler
548
547
  def load_gemspec_uncached(file, validate = false)
549
548
  path = Pathname.new(file)
550
549
  contents = read_file(file)
551
- spec = if contents.start_with?("---") # YAML header
552
- eval_yaml_gemspec(path, contents)
553
- else
554
- # Eval the gemspec from its parent directory, because some gemspecs
555
- # depend on "./" relative paths.
556
- SharedHelpers.chdir(path.dirname.to_s) do
557
- eval_gemspec(path, contents)
558
- end
559
- end
550
+ spec = eval_gemspec(path, contents)
560
551
  return unless spec
561
552
  spec.loaded_from = path.expand_path.to_s
562
553
  Bundler.rubygems.validate(spec) if validate
@@ -576,23 +567,6 @@ module Bundler
576
567
  @feature_flag ||= FeatureFlag.new(VERSION)
577
568
  end
578
569
 
579
- def load_plugins(definition = Bundler.definition)
580
- return if defined?(@load_plugins_ran)
581
-
582
- Bundler.rubygems.load_plugins
583
-
584
- requested_path_gems = definition.requested_specs.select {|s| s.source.is_a?(Source::Path) }
585
- path_plugin_files = requested_path_gems.flat_map do |spec|
586
- spec.matches_for_glob("rubygems_plugin#{Bundler.rubygems.suffix_pattern}")
587
- rescue TypeError
588
- error_message = "#{spec.name} #{spec.version} has an invalid gemspec"
589
- raise Gem::InvalidSpecificationException, error_message
590
- end
591
- Bundler.rubygems.load_plugin_files(path_plugin_files)
592
- Bundler.rubygems.load_env_plugins
593
- @load_plugins_ran = true
594
- end
595
-
596
570
  def reset!
597
571
  reset_paths!
598
572
  Plugin.reset!
@@ -675,12 +649,18 @@ module Bundler
675
649
  Kernel.require "psych"
676
650
 
677
651
  Gem::Specification.from_yaml(contents)
678
- rescue ::Psych::SyntaxError, ArgumentError, Gem::EndOfYAMLException, Gem::Exception
679
- eval_gemspec(path, contents)
680
652
  end
681
653
 
682
654
  def eval_gemspec(path, contents)
683
- eval(contents, TOPLEVEL_BINDING.dup, path.expand_path.to_s)
655
+ if contents.start_with?("---") # YAML header
656
+ eval_yaml_gemspec(path, contents)
657
+ else
658
+ # Eval the gemspec from its parent directory, because some gemspecs
659
+ # depend on "./" relative paths.
660
+ SharedHelpers.chdir(path.dirname.to_s) do
661
+ eval(contents, TOPLEVEL_BINDING.dup, path.expand_path.to_s)
662
+ end
663
+ end
684
664
  rescue ScriptError, StandardError => e
685
665
  msg = "There was an error while loading `#{path.basename}`: #{e.message}"
686
666
 
@@ -95,7 +95,7 @@ the version in all version files, synchronizes both changelogs to include all
95
95
  backported changes and commits that change on top of the cherry-picks.
96
96
 
97
97
  Note that this task requires all user facing pull requests to be tagged with
98
- specific labels. See [Merging a PR](/bundler/doc/playbooks/MERGING_A_PR.md) for details.
98
+ specific labels. See [Merging a PR](../bundler/playbooks/MERGING_A_PR.md) for details.
99
99
 
100
100
  Also note that when this task cherry-picks, it cherry-picks the merge commits
101
101
  using the following command:
@@ -15,6 +15,7 @@ class Gem::Commands::EnvironmentCommand < Gem::Command
15
15
  version display the gem format version
16
16
  remotesources display the remote gem servers
17
17
  platform display the supported gem platforms
18
+ credentials display the path where credentials are stored
18
19
  <omitted> display everything
19
20
  EOF
20
21
  args.gsub(/^\s+/, "")
@@ -88,6 +89,8 @@ lib/rubygems/defaults/operating_system.rb
88
89
  Gem.sources.to_a.join("\n")
89
90
  when /^platform/ then
90
91
  Gem.platforms.join(File::PATH_SEPARATOR)
92
+ when /^credentials/, /^creds/ then
93
+ Gem.configuration.credentials_path
91
94
  when nil then
92
95
  show_environment
93
96
  else
@@ -114,6 +117,8 @@ lib/rubygems/defaults/operating_system.rb
114
117
 
115
118
  out << " - USER INSTALLATION DIRECTORY: #{Gem.user_dir}\n"
116
119
 
120
+ out << " - CREDENTIALS FILE: #{Gem.configuration.credentials_path}\n"
121
+
117
122
  out << " - RUBYGEMS PREFIX: #{Gem.prefix}\n" unless Gem.prefix.nil?
118
123
 
119
124
  out << " - RUBY EXECUTABLE: #{Gem.ruby}\n"
@@ -1322,7 +1322,7 @@ class Gem::Specification < Gem::BasicSpecification
1322
1322
  spec.instance_variable_set :@description, array[13]
1323
1323
  spec.instance_variable_set :@homepage, array[14]
1324
1324
  spec.instance_variable_set :@has_rdoc, array[15]
1325
- spec.instance_variable_set :@licenses, [array[17]]
1325
+ spec.instance_variable_set :@licenses, array[17]
1326
1326
  spec.instance_variable_set :@metadata, array[18]
1327
1327
  spec.instance_variable_set :@loaded, false
1328
1328
  spec.instance_variable_set :@activated, false
@@ -104,6 +104,7 @@ class Gem::Licenses
104
104
  Bitstream-Vera
105
105
  BlueOak-1.0.0
106
106
  Boehm-GC
107
+ Boehm-GC-without-fee
107
108
  Borceux
108
109
  Brian-Gladman-2-Clause
109
110
  Brian-Gladman-3-Clause
@@ -163,6 +164,8 @@ class Gem::Licenses
163
164
  CC-BY-SA-3.0-IGO
164
165
  CC-BY-SA-4.0
165
166
  CC-PDDC
167
+ CC-PDM-1.0
168
+ CC-SA-1.0
166
169
  CC0-1.0
167
170
  CDDL-1.0
168
171
  CDDL-1.1
@@ -213,6 +216,7 @@ class Gem::Licenses
213
216
  DRL-1.1
214
217
  DSDP
215
218
  DocBook-Schema
219
+ DocBook-Stylesheet
216
220
  DocBook-XML
217
221
  Dotseqn
218
222
  ECL-1.0
@@ -320,6 +324,7 @@ class Gem::Licenses
320
324
  Imlib2
321
325
  Info-ZIP
322
326
  Inner-Net-2.0
327
+ InnoSetup
323
328
  Intel
324
329
  Intel-ACPI
325
330
  Interbase-1.0
@@ -364,9 +369,11 @@ class Gem::Licenses
364
369
  Linux-man-pages-copyleft-2-para
365
370
  Linux-man-pages-copyleft-var
366
371
  Lucida-Bitmap-Fonts
372
+ MIPS
367
373
  MIT
368
374
  MIT-0
369
375
  MIT-CMU
376
+ MIT-Click
370
377
  MIT-Festival
371
378
  MIT-Khronos-old
372
379
  MIT-Modern-Variant
@@ -517,6 +524,7 @@ class Gem::Licenses
517
524
  SISSL
518
525
  SISSL-1.2
519
526
  SL
527
+ SMAIL-GPL
520
528
  SMLNJ
521
529
  SMPPL
522
530
  SNIA
@@ -530,6 +538,7 @@ class Gem::Licenses
530
538
  SchemeReport
531
539
  Sendmail
532
540
  Sendmail-8.23
541
+ Sendmail-Open-Source-1.1
533
542
  SimPL-2.0
534
543
  Sleepycat
535
544
  Soundex
@@ -555,6 +564,8 @@ class Gem::Licenses
555
564
  TU-Berlin-1.0
556
565
  TU-Berlin-2.0
557
566
  TermReadKey
567
+ ThirdEye
568
+ TrustedQSL
558
569
  UCAR
559
570
  UCL-1.0
560
571
  UMich-Merit
@@ -598,6 +609,7 @@ class Gem::Licenses
598
609
  Zimbra-1.4
599
610
  Zlib
600
611
  any-OSI
612
+ any-OSI-perl-modules
601
613
  bcrypt-Solar-Designer
602
614
  blessing
603
615
  bzip2-1.0.6
@@ -614,6 +626,7 @@ class Gem::Licenses
614
626
  etalab-2.0
615
627
  fwlw
616
628
  gSOAP-1.3b
629
+ generic-xts
617
630
  gnuplot
618
631
  gtkbook
619
632
  hdparm
@@ -642,6 +655,7 @@ class Gem::Licenses
642
655
  threeparttable
643
656
  ulem
644
657
  w3m
658
+ wwl
645
659
  xinetd
646
660
  xkeyboard-config-Zinoviev
647
661
  xlock
@@ -698,6 +712,7 @@ class Gem::Licenses
698
712
  Bison-exception-1.24
699
713
  Bison-exception-2.2
700
714
  Bootloader-exception
715
+ CGAL-linking-exception
701
716
  CLISP-exception-2.0
702
717
  Classpath-exception-2.0
703
718
  DigiRule-FOSS-exception
@@ -710,6 +725,7 @@ class Gem::Licenses
710
725
  GNAT-exception
711
726
  GNOME-examples-exception
712
727
  GNU-compiler-exception
728
+ GPL-3.0-389-ds-base-exception
713
729
  GPL-3.0-interface-exception
714
730
  GPL-3.0-linking-exception
715
731
  GPL-3.0-linking-source-exception
@@ -717,6 +733,7 @@ class Gem::Licenses
717
733
  GStreamer-exception-2005
718
734
  GStreamer-exception-2008
719
735
  Gmsh-exception
736
+ Independent-modules-exception
720
737
  KiCad-libraries-exception
721
738
  LGPL-3.0-linking-exception
722
739
  LLGPL
@@ -749,9 +766,11 @@ class Gem::Licenses
749
766
  fmt-exception
750
767
  freertos-exception-2.0
751
768
  gnu-javamail-exception
769
+ harbour-exception
752
770
  i2p-gpl-java-exception
753
771
  libpri-OpenH323-exception
754
772
  mif-exception
773
+ mxml-exception
755
774
  openvpn-openssl-exception
756
775
  romic-exception
757
776
  stunnel-exception
data/lib/rubygems.rb CHANGED
@@ -9,7 +9,7 @@
9
9
  require "rbconfig"
10
10
 
11
11
  module Gem
12
- VERSION = "3.6.2"
12
+ VERSION = "3.6.3"
13
13
  end
14
14
 
15
15
  # Must be first since it unloads the prelude from 1.9.2
@@ -815,7 +815,14 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
815
815
 
816
816
  File.open(path, mode) do |io|
817
817
  begin
818
- io.flock(File::LOCK_EX)
818
+ # Try to get a lock without blocking.
819
+ # If we do, the file is locked.
820
+ # Otherwise, explain why we're waiting and get a lock, but block this time.
821
+ if io.flock(File::LOCK_EX | File::LOCK_NB) != 0
822
+ warn "Waiting for another process to let go of lock: #{path}"
823
+ io.flock(File::LOCK_EX)
824
+ end
825
+ io.puts(Process.pid)
819
826
  rescue Errno::ENOSYS, Errno::ENOTSUP
820
827
  end
821
828
  yield io
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "rubygems-update"
5
- s.version = "3.6.2"
5
+ s.version = "3.6.3"
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.6.2
4
+ version: 3.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -15,7 +15,7 @@ authors:
15
15
  - Hiroshi SHIBATA
16
16
  bindir: exe
17
17
  cert_chain: []
18
- date: 2024-12-23 00:00:00.000000000 Z
18
+ date: 2025-01-16 00:00:00.000000000 Z
19
19
  dependencies: []
20
20
  description: |-
21
21
  A package (also known as a library) contains a set of functionality
@@ -746,7 +746,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
746
746
  - !ruby/object:Gem::Version
747
747
  version: '0'
748
748
  requirements: []
749
- rubygems_version: 3.6.2
749
+ rubygems_version: 3.6.3
750
750
  specification_version: 4
751
751
  summary: RubyGems is a package management framework for Ruby. This gem is downloaded
752
752
  and installed by `gem update --system`, so that the `gem` CLI can update itself.