-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix negative Bignum conversion #200
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
casperisfine
force-pushed
the
handle-min-long
branch
from
November 9, 2021 12:25
5f7422b
to
b9ce2c8
Compare
Introduced in 4792a91 `rb_absint_size` return the number of bytes needed to fit the absolute integer, but negative integers need the sign, so one more bit, and potentially one more byte.
casperisfine
force-pushed
the
handle-min-long
branch
from
November 9, 2021 12:26
b9ce2c8
to
5a2c1dc
Compare
I modified the PR a bit, turns out |
mrkn
reviewed
Nov 12, 2021
casperisfine
pushed a commit
to casperisfine/rubygems
that referenced
this pull request
Dec 2, 2021
Very often github source is used to temporarily use a modified gem while a PR upstream is being reviewed. So for instance ruby/bigdecimal#211 will look like: ```ruby gem "bigdecimal", github: "casperisfine/bigdecimal", branch: "git-gem" # ruby/bigdecimal#200 ``` It's annoying because you have to fiddle with the branch name, which is copied as `casperisfine:git-gem`, etc etc. If I could simply use the PR URL like this: ``` gem "bigdecimal", github: "ruby/bigdecimal#211" ``` It would make a very common task for me so much simpler.
casperisfine
pushed a commit
to casperisfine/rubygems
that referenced
this pull request
Dec 2, 2021
Very often github source is used to temporarily use a modified gem while a PR upstream is being reviewed. So for instance ruby/bigdecimal#211 will look like: ```ruby gem "bigdecimal", github: "casperisfine/bigdecimal", branch: "git-gem" # ruby/bigdecimal#200 ``` It's annoying because you have to fiddle with the branch name, which is copied as `casperisfine:git-gem`, etc etc. If I could simply use the PR URL like this: ``` gem "bigdecimal", github: "ruby/bigdecimal#211" ``` It would make a very common task for me so much simpler.
casperisfine
pushed a commit
to casperisfine/rubygems
that referenced
this pull request
Dec 2, 2021
Very often github source is used to temporarily use a modified gem while a PR upstream is being reviewed. So for instance ruby/bigdecimal#211 will look like: ```ruby gem "bigdecimal", github: "casperisfine/bigdecimal", branch: "git-gem" # ruby/bigdecimal#200 ``` It's annoying because you have to fiddle with the branch name, which is copied as `casperisfine:git-gem`, etc etc. If I could simply use the PR URL like this: ``` gem "bigdecimal", github: "ruby/bigdecimal#211" ``` It would make a very common task for me so much simpler.
casperisfine
pushed a commit
to casperisfine/rubygems
that referenced
this pull request
Dec 2, 2021
Very often github source is used to temporarily use a modified gem while a PR upstream is being reviewed. So for instance ruby/bigdecimal#211 will look like: ```ruby gem "bigdecimal", github: "casperisfine/bigdecimal", branch: "git-gem" # ruby/bigdecimal#200 ``` It's annoying because you have to fiddle with the branch name, which is copied as `casperisfine:git-gem`, etc etc. If I could simply use the PR URL like this: ``` gem "bigdecimal", github: "ruby/bigdecimal#211" ``` It would make a very common task for me so much simpler.
casperisfine
pushed a commit
to casperisfine/rubygems
that referenced
this pull request
Dec 3, 2021
Very often github source is used to temporarily use a modified gem while a PR upstream is being reviewed. So for instance ruby/bigdecimal#211 will look like: ```ruby gem "bigdecimal", github: "casperisfine/bigdecimal", branch: "git-gem" # ruby/bigdecimal#200 ``` It's annoying because you have to fiddle with the branch name, which is copied as `casperisfine:git-gem`, etc etc. If I could simply use the PR URL like this: ``` gem "bigdecimal", github: "ruby/bigdecimal#211" ``` It would make a very common task for me so much simpler.
casperisfine
pushed a commit
to casperisfine/rubygems
that referenced
this pull request
Dec 3, 2021
Very often github source is used to temporarily use a modified gem while a PR upstream is being reviewed. So for instance ruby/bigdecimal#211 will look like: ```ruby gem "bigdecimal", github: "casperisfine/bigdecimal", branch: "git-gem" # ruby/bigdecimal#200 ``` It's annoying because you have to fiddle with the branch name, which is copied as `casperisfine:git-gem`, etc etc. If I could simply use the PR URL like this: ``` gem "bigdecimal", github: "ruby/bigdecimal#211" ``` It would make a very common task for me so much simpler.
casperisfine
pushed a commit
to casperisfine/rubygems
that referenced
this pull request
Dec 6, 2021
Very often github source is used to temporarily use a modified gem while a PR upstream is being reviewed. So for instance ruby/bigdecimal#211 will look like: ```ruby gem "bigdecimal", github: "casperisfine/bigdecimal", branch: "git-gem" # ruby/bigdecimal#200 ``` It's annoying because you have to fiddle with the branch name, which is copied as `casperisfine:git-gem`, etc etc. If I could simply use the PR URL like this: ``` gem "bigdecimal", github: "ruby/bigdecimal#211" ``` It would make a very common task for me so much simpler.
casperisfine
pushed a commit
to casperisfine/rubygems
that referenced
this pull request
Dec 6, 2021
Very often github source is used to temporarily use a modified gem while a PR upstream is being reviewed. So for instance ruby/bigdecimal#211 will look like: ```ruby gem "bigdecimal", github: "casperisfine/bigdecimal", branch: "git-gem" # ruby/bigdecimal#200 ``` It's annoying because you have to fiddle with the branch name, which is copied as `casperisfine:git-gem`, etc etc. If I could simply use the PR URL like this: ``` gem "bigdecimal", github: "ruby/bigdecimal#211" ``` It would make a very common task for me so much simpler.
casperisfine
pushed a commit
to casperisfine/rubygems
that referenced
this pull request
Dec 6, 2021
Very often github source is used to temporarily use a modified gem while a PR upstream is being reviewed. So for instance ruby/bigdecimal#211 will look like: ```ruby gem "bigdecimal", github: "casperisfine/bigdecimal", branch: "git-gem" # ruby/bigdecimal#200 ``` It's annoying because you have to fiddle with the branch name, which is copied as `casperisfine:git-gem`, etc etc. If I could simply use the PR URL like this: ``` gem "bigdecimal", github: "ruby/bigdecimal#211" ``` It would make a very common task for me so much simpler.
casperisfine
pushed a commit
to casperisfine/rubygems
that referenced
this pull request
Dec 6, 2021
Very often github source is used to temporarily use a modified gem while a PR upstream is being reviewed. So for instance ruby/bigdecimal#211 will look like: ```ruby gem "bigdecimal", github: "casperisfine/bigdecimal", branch: "git-gem" # ruby/bigdecimal#200 ``` It's annoying because you have to fiddle with the branch name, which is copied as `casperisfine:git-gem`, etc etc. If I could simply use the PR URL like this: ``` gem "bigdecimal", github: "ruby/bigdecimal#211" ``` It would make a very common task for me so much simpler.
casperisfine
pushed a commit
to casperisfine/rubygems
that referenced
this pull request
Dec 6, 2021
Very often github source is used to temporarily use a modified gem while a PR upstream is being reviewed. So for instance ruby/bigdecimal#211 will look like: ```ruby gem "bigdecimal", github: "casperisfine/bigdecimal", branch: "git-gem" # ruby/bigdecimal#200 ``` It's annoying because you have to fiddle with the branch name, which is copied as `casperisfine:git-gem`, etc etc. If I could simply use the PR URL like this: ``` gem "bigdecimal", github: "ruby/bigdecimal#211" ``` It would make a very common task for me so much simpler.
casperisfine
pushed a commit
to casperisfine/rubygems
that referenced
this pull request
Dec 6, 2021
Very often github source is used to temporarily use a modified gem while a PR upstream is being reviewed. So for instance ruby/bigdecimal#211 will look like: ```ruby gem "bigdecimal", github: "casperisfine/bigdecimal", branch: "git-gem" # ruby/bigdecimal#200 ``` It's annoying because you have to fiddle with the branch name, which is copied as `casperisfine:git-gem`, etc etc. If I could simply use the PR URL like this: ``` gem "bigdecimal", github: "ruby/bigdecimal#211" ``` It would make a very common task for me so much simpler.
matzbot
pushed a commit
to ruby/ruby
that referenced
this pull request
Dec 6, 2021
Very often github source is used to temporarily use a modified gem while a PR upstream is being reviewed. So for instance ruby/bigdecimal#211 will look like: ```ruby gem "bigdecimal", github: "casperisfine/bigdecimal", branch: "git-gem" # ruby/bigdecimal#200 ``` It's annoying because you have to fiddle with the branch name, which is copied as `casperisfine:git-gem`, etc etc. If I could simply use the PR URL like this: ``` gem "bigdecimal", github: "ruby/bigdecimal#211" ``` It would make a very common task for me so much simpler. rubygems/rubygems@517c527751
queilawithaQ
added a commit
to queilawithaQ/rubygems
that referenced
this pull request
Dec 10, 2021
commit 68c587eb9de40f6ad2d6db746eda1e96a07a3b59 Merge: 68c2f5956 64798118d Author: loca <queilawithaq@aol.com> Date: Fri Dec 10 12:20:08 2021 -0500 Merge remote-tracking branch 'origin/1.8' commit 68c2f59568ae64dbce437cd33ba78b21c39ae3e7 Merge: bd2f607af c6a2c7d25 Author: loca <queilawithaq@aol.com> Date: Fri Dec 10 00:49:37 2021 -0500 Merge remote-tracking branch 'origin/improve_bundler_installer' commit bd2f607afcb8b0371b0fbe3397f0700c7f81f7fc Merge: c2b479b02 63233b877 Author: loca <queilawithaq@aol.com> Date: Fri Dec 10 00:48:43 2021 -0500 Merge branch 'master' into force_ruby_platform_per_gem commit 63233b877aefafc1739d4e7a484e4ed3c91df72d Author: loca <queilawithaq@aol.com> Date: Fri Dec 10 00:46:12 2021 -0500 Squashed commit of the following: commit ca5ce6538f75eef53b22e6a5f17268b0460a7856 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Mar 24 11:44:59 2021 +0100 Re-clone if we have a shallow clone and the situation requires a full clone For example, it the `ref:` specification was changed to something that requires a full clone like a non fully qualified raw reference (not 40 hex characters). commit 1a0f6e98ae8bbefb638944bf3676beda7d9107e0 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Mar 23 16:36:55 2021 +0100 Don't clone whole repos for git sources Instead, clone only what's strictly necessary. This means: * Cloning shallow repositories using `--depth 1`. * Passing a specific refs to `git fetch`, including the proper depth if `ref~<n>` notation is used. Now all "ref validation" happens in the `checkout` method, which allows to simplify some logic. Cloning big repositories should be now significantly faster and use much less disk space. For example, on my maching bundling edge rails goes from: ``` real 0m26,123s user 0m39,029s sys 0m4,780s 248M /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/cache/bundler/git/rails-fcf0202857b07db1a0f6220dae5ca99319ca0f32 290M /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/rails-e287eed77a2a ``` to: ``` real 0m6,326s user 0m3,572s sys 0m0,639s 9,1M /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/cache/bundler/git/rails-fcf0202857b07db1a0f6220dae5ca99319ca0f32 51M /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/rails-e287eed77a2a ``` commit 8e53b03f502a2d7329d6b1ac70a612e83c9e2700 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Mar 24 12:34:29 2021 +0100 Small refactoring Extract some common logic to `configured_uri` and `credential_filtered_uri`. commit 0c37f0d14397b51606a000226e0d789e408214ce Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Mar 24 12:33:49 2021 +0100 Remove misleading part of comment That method doesn't exist. commit 4a1123166dd6b2ce4c45b081a0bd9e02be719981 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Mar 23 12:15:35 2021 +0100 Don't use `git_retry` for local fetching I don't think it's needed and it makes errors unnecessarily verbose. commit 7c9c863cd5c7a085fc81988a89072f7b5461050e Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Mar 23 10:57:16 2021 +0100 Remove unnecessary `bundle config` command from spec It was just run a few lines above. commit 47e24343e1b060df7e2cb20e76e632d5516e2723 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Mar 23 10:48:44 2021 +0100 The target path is guaranteed to exist at this point Since we just cloned the repo. commit 76ff8a193fb6960f52838901b1b76bcf31c7eb65 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Mar 22 22:21:23 2021 +0100 Remove `--no-hardlinks` option to `git clone` It seems to only have the effect to taking up more disk space, I don't think it's really needed. commit 9079e45f6a3f14e905f0f777787773e2871fe284 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Mar 22 18:57:37 2021 +0100 Remove misleading comments These are not two alternatives to do the same thing, but two separate steps. commit 6cf4fc61154013143de05594a06921efc297d1cf Merge: 5377ff129 b412f7a71 Author: loca <queilawithaq@aol.com> Date: Fri Dec 10 00:44:35 2021 -0500 Merge remote-tracking branch 'origin/1.7' commit 5377ff1296de313d303df99b7c728ac2a3ad327d Merge: 270457870 e2e85fc24 Author: loca <queilawithaq@aol.com> Date: Fri Dec 10 00:37:25 2021 -0500 Merge remote-tracking branch 'upstream/bundler_specs' commit 270457870ceb3257ad2bc790b0b037e20790c744 Merge: 38453e830 5f9f28260 Author: loca <queilawithaq@aol.com> Date: Fri Dec 10 00:32:55 2021 -0500 Merge remote-tracking branch 'origin/gem_install_respects_required_ruby_version' commit 38453e830141bbc52aea90e22cd769265037ac0b Merge: c93bb1e21 997b16173 Author: loca <queilawithaq@aol.com> Date: Fri Dec 10 00:31:44 2021 -0500 Merge remote-tracking branch 'upstream/run_subprocesses_without_shell' commit c93bb1e212b5e8b2ef8a4c1d750fa979cfcab4d7 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Dec 9 12:46:23 2021 +0100 Resolve symlinks in LOAD_PATH when activating pre-required default gems Some double load issues were reported a while ago by OS packagers where if a gem has been required before rubygems, and then after, rubygems require would cause a double load. We avoid this issue by activating the corresponding gem if we detect that a file in the default LOAD_PATH that belongs to a default gem has already been required when rubygems registers default gems. However, the fix does not take into account that the default LOAD_PATH could potentially include symlinks. This change fixes the same double load issue described above but for situations where the default LOAD_PATH includes symlinks. commit 60a2ac15bbbf6219b3daa45d538d8cc049f61f78 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Dec 9 06:08:31 2021 +0100 Install default fiddle on latest ruby on specs that need it Otherwise first OS customizations load and activate that fiddle version, but then when we change to `Gem.default_dir`, that fiddle version is no longer there. commit 0e9336ed663f3a8fa542ea7f381d2af9dd884390 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Dec 8 21:45:16 2021 +0100 Load `operating_system.rb` customizations before setting up default gems It's very common for packagers to configure gem paths in this file, for example, `Gem.default_dir`. Also, setting up default gems requires these paths to be set, so that we know which default gems need to be setup. If we setup default gems before loading `operatin_system.rb` customizations, the wrong default gems will be setup. Unfortunately, default gems loaded by `operating_system.rb` can't be upgraded if we do this, but it seems much of a smaller issue. I wasn't even fully sure it was the right thing to do when I added that, and it was not the culprit of the end user issue that led to making that change. commit 3875f0faa01dfbd42c8c0eae5f75d5f3c6c02c18 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Dec 8 22:30:36 2021 +0100 Load a dummy implementation customization So that it doesn't interfere with this test if it exists. commit a0905bb652dd8e0145eae96c13a6a103221b08de Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Dec 8 21:17:30 2021 +0100 Remove ineffective autoloads These files are loaded on startup unconditionally, so we can require them relatively when needed. commit 22b7417b17b0a693c8007c3903a423170d3fd6bd Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Dec 8 21:12:24 2021 +0100 More explicit require This class does not use `rubygems/deprecate`. It uses `rubygems/version`, which in turn uses `rubygems/deprecate`. Make this explicit. commit 54b558c918b7c2c92fcb1c6313f5d56c67f91060 Merge: ea8a61cf6 f5e0b68cd Author: Josef Šimánek <josef.simanek@gmail.com> Date: Thu Dec 9 00:58:17 2021 +0100 Merge pull request #5155 from rubygems/dont_load_system_rubygems Don't load system rubygems during tests commit f5e0b68cdd9306727c228bc72b48ef4858995dd5 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Dec 8 22:33:55 2021 +0100 Don't load system rubygems during tests Since tests are about testing our development copy of rubygems, not whatever is installed in the system. commit ea8a61cf621fab4df6848f9a80eba0c8a0ce60da Merge: 9ba61d600 3f2bb6984 Author: Josef Šimánek <josef.simanek@gmail.com> Date: Tue Dec 7 23:59:59 2021 +0100 Merge pull request #5146 from rubygems/release_deps Add missing prerequisite for `prepare_release_branch` commit 9ba61d60094d7149eae6a2ea7fe65e1a88f8a90c Merge: 3444e7e3d 5e50f12e7 Author: Josef Šimánek <josef.simanek@gmail.com> Date: Tue Dec 7 23:59:27 2021 +0100 Merge pull request #5147 from rubygems/cancel_custom_git_source_deprecation Cancel deprecation of custom git sources commit 5e50f12e7a2b31a94b80e3b5766f6dd89b16f49c Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Dec 7 19:25:18 2021 +0100 Remove unnecessary comment commit 25ccaab46b3a157b8d652a7a8e912fd822de8893 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Dec 7 19:23:22 2021 +0100 Don't add custom github source to `bundle init` Gemfile It's provided by bundler. commit 99cd6e0627978d84f8681e7e9c5db43737b06cfb Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Dec 7 19:10:46 2021 +0100 Cancel deprecation of custom git sources commit 3f2bb69848b8b706b14d9f68891f88d2e13a15df Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Dec 7 18:12:50 2021 +0100 Add missing prerequisite for `prepare_release_branch` commit 3444e7e3d5672d7f4fbde17eab349243e97daade Merge: f48acfeb5 a4f2f8ac1 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Dec 7 17:49:14 2021 +0100 Merge pull request #5021 from boardfish/5017-set-require-param-in-bundle-add Add require parameter to `bundle add` commit f48acfeb503ea2e8141a0899aeb1217c885acae6 Merge: f30b939f2 f819a261b Author: Josef Šimánek <josef.simanek@gmail.com> Date: Tue Dec 7 17:42:02 2021 +0100 Merge pull request #5140 from rubygems/more_upgraded_default_gems_issues Fix upgrade crashing when multiple versions of `fileutils` installed commit f30b939f2ca1e7937ebeb2c8bd620118c0cc9a7a Merge: 6a655a698 f813bbc40 Author: Josef Šimánek <josef.simanek@gmail.com> Date: Tue Dec 7 17:23:23 2021 +0100 Merge pull request #5143 from rubygems/cherry_pick_changelogs Changelogs for rubygems 3.2.33 and bundler 2.2.33 commit a4f2f8ac17e6ce81c689527a8b6f14381060d95f Author: Simon Fish <si@mon.fish> Date: Tue Oct 26 17:50:55 2021 +0100 Add require parameter to `bundle add`` Test and ensure "false" is handled Don't use yield_self to operate on autorequire Remove duplicate autorequire Add banner to require option Don't use json to break down require params Pass linter commit f813bbc40af9b3ffcfabfbd87970972752a91c60 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Dec 7 15:34:57 2021 +0100 Changelog for Rubygems version 3.2.33 commit 0fad1ccfe9dd7a3c5b82c1496df3c2b4842870d3 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Dec 7 15:34:48 2021 +0100 Changelog for Bundler version 2.2.33 commit 6a655a698e952f897d0d014fc11bae4b608528ce Merge: 370c9d70b 90b1ed8b9 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Dec 7 15:27:51 2021 +0100 Merge pull request #5142 from rubygems/local_code_execution Pass "--" to git commands to separate positional and optional args commit 90b1ed8b9f8b636aa8c913f7b5a764a2e03d179c Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Sat Nov 13 11:18:54 2021 +0100 Pass "--" to git commands to separate positional and optional args To make sure git uri's specified in Gemfile are never misinterpreted as optional arguments, potentially allowing for local code execution. commit 370c9d70b10b822405799b4310d3d19ef7d0cdd0 Merge: 6d0b1ccb5 6a6ff9847 Author: Josef Šimánek <josef.simanek@gmail.com> Date: Mon Dec 6 21:23:29 2021 +0100 Merge pull request #5139 from rubygems/revert_things Revert stuff about `Gem::Version` availability commit f819a261bc7fab2b681227c6ae3dc55530f723b7 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Dec 6 19:10:37 2021 +0100 Remove unnecessary mutexes These were added initially to allow for concurrent `gem install` commands, but these are not really supported anyways, because the installer first completely wipes out existing installations, and then unpackages files, which is obviously not thread safe. We would need a file lock or something to make it thread safe, but no one has ever complained about it so I don't think it's necessary. In any case, I don't think the current mutex is effective so I'll remove it. commit ae3980eed01ed17c186ceb4094adef185864512e Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Dec 6 19:03:55 2021 +0100 Don't evaluate all specifications when upgrading rubygems commit ba7d6a5ec6f0a9c3fc0673ed1351690e5c798c58 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Dec 6 18:04:13 2021 +0100 Fix upgrade crash when multiple versions of fileutils are installed The issue is tricky. It happens when running `ruby setup.rb` while having two different versions of `fileutils` present in the system. There's 3 relevant moments: * When first loading the `update` command, `tmpdir` is required. This require causes the `Gem::Specification.stubs` array to be loaded, because since there are more than one version of `fileutils`, which is a `tmpdir` dependency, `rubygems` needs to figure out which one to require, and needs to load stubs from disk for that. * Later on, when installing the upgraded default bundler gem, the upgrader first deletes the existing default bundler gemspec from disk before installing the upgraded version. * Finally, when plugins are being regenerated specification stubs are materialized into actual `Gem::Specification`'s, but since one of them is no longer on disk, it results on a `nil` specification being loaded, causing a runtime error later on when calling a specification method on it. I can think of several ways of fixing this issue: * Delete the existing spec after installing the new one, not before. * Require `tmpdir` lazily. * Don't materialize specs at all when regenerating plugins, since I don't think it's needed. All we need is their versions and names, which stubs already provide. This commit fixes the issue by implementing the second solution, but I'll also add the third one later, since it should make things more efficient (not requiring to evaluate all specifications during rubygems upgrade). commit 6a6ff984754d0183b9d6eed9e924ef9f98f6c396 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Dec 6 17:58:05 2021 +0100 Partially revert 1b862537a5b501065e2710e6635bc8fc781459b0 I did leave the explicit require of `rubygems/deprecation` in place because `Gem::Version` uses it and we normal keep explicit requires for each files dependencies. commit 7245ae1d9c7a170b88e081e6bf6e3299ea053451 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Dec 6 17:56:32 2021 +0100 Vendor latest connection_pool master Our last change was reverted, so let's respect upstream decision. commit 6d0b1ccb5d7aa5e4b01fe60dc9e72aa7a8a317d6 Merge: 112b3b923 732553054 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Dec 6 17:53:31 2021 +0100 Merge pull request #5111 from rubygems/dont_clean_load_path Don't cleanup paths from gems already activated from `$LOAD_PATH` commit 112b3b923f9be83663fe1cb32cceac413c4d9379 Merge: a6332e2b4 517c52775 Author: Josef Šimánek <josef.simanek@gmail.com> Date: Mon Dec 6 12:27:19 2021 +0100 Merge pull request #5126 from casperisfine/github-pr-url Accept pull request URLs as github source commit 517c52775124fd470c70cad648e8004b30a7ab94 Author: Jean Boussier <jean.boussier@gmail.com> Date: Thu Dec 2 12:59:45 2021 +0100 Feature: accept pull request URLs as github source Very often github source is used to temporarily use a modified gem while a PR upstream is being reviewed. So for instance https://github.com/ruby/bigdecimal/pull/211 will look like: ```ruby gem "bigdecimal", github: "casperisfine/bigdecimal", branch: "git-gem" # https://github.com/ruby/bigdecimal/pull/200 ``` It's annoying because you have to fiddle with the branch name, which is copied as `casperisfine:git-gem`, etc etc. If I could simply use the PR URL like this: ``` gem "bigdecimal", github: "https://github.com/ruby/bigdecimal/pull/211" ``` It would make a very common task for me so much simpler. commit a6332e2b4ad584da0bb89a62668f099e5b0c4b3d Merge: 5768c2bc5 1b862537a Author: Josef Šimánek <josef.simanek@gmail.com> Date: Mon Dec 6 10:43:22 2021 +0100 Merge pull request #5136 from rubygems/require_gem_version_isolated Allow using `Gem::Version` without loading the rest of rubygems commit 5768c2bc5542ce05466d379981a433ba1ee1e10a Merge: aeb1a84b1 7d9fdd908 Author: Josef Šimánek <josef.simanek@gmail.com> Date: Mon Dec 6 10:03:49 2021 +0100 Merge pull request #5137 from rubygems/bundle-info-version Add --version parameter to bundle info command. commit aeb1a84b1b23170a36282af68aa3f9f35230bf83 Merge: 7befe7e97 49b491970 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Dec 6 09:42:49 2021 +0100 Merge pull request #5133 from rubygems/colby/signing-signout-alias Add login & logout alias for the signin & signout commands commit 1b862537a5b501065e2710e6635bc8fc781459b0 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Sun Dec 5 09:23:28 2021 +0100 Allow using `Gem::Version` without loading the rest of rubygems commit 62c827d7e1a813f9096e6b6b68600868912ae5cd Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Sun Dec 5 09:22:29 2021 +0100 Fix incorrect quoting Test was just returning a string instead of actually exercising the require. commit 7d9fdd908dbe7e08d44ff922b776e832e9a8db3d Author: Josef Šimánek <josef.simanek@gmail.com> Date: Mon Dec 6 01:42:43 2021 +0100 Add --version parameter to bundle info command. commit 7befe7e97ac05b3f2c7e52093d00df9f3bfc070f Merge: a1510355d b0bbb2711 Author: Josef Šimánek <josef.simanek@gmail.com> Date: Sun Dec 5 21:25:15 2021 +0100 Merge pull request #3132 from rubygems/improve_tests Little cleanup in test suite commit b0bbb271159117c70023e6a4f79d34851f9dd59e Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Feb 17 14:02:17 2020 +0100 LOAD_PATH is already reset globally commit 9815a04e31342d09c2d966505af1088f660b0a7e Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Feb 13 18:17:55 2020 +0100 Remove unneded setup commit 73255305478535770a69927695d603329d60ab9d Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Nov 29 18:18:24 2021 +0100 Don't cleanup paths from gems already activated from `$LOAD_PATH` This way, if some default gem has been required before bundler, and rubygems has enhanced the `$LOAD_PATH` to use the latest version in the system, further requires of that default gem after bundler has been activated will use the same version and don't cause redefinition warnings or worse problems derived from the fact of mixing up two different versions. That, unless the gem is a `Gemfile` dependency. In that case, we'll get a mismatch error anyways as we do now. This fix doesn't mean that all default gems internally used by bundler/rubygems are now supported inside `Gemfile`'s. That should be handled case by case, but it will now bite people only when they try to add the gem to their `Gemfile`, not before. commit a1510355d20552552cb5893b90203e18e272315e Merge: 2b7965a85 7039f3fe2 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Sun Dec 5 00:16:50 2021 +0100 Merge pull request #5135 from rubygems/bump_jruby Bump JRuby and Java in CI commit 7039f3fe29aff2ccfd17cd0ea731270f5aa2c861 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Sat Dec 4 22:44:13 2021 +0100 Use Java 11 on Windows CI After noticing a java crash in one Windows job I noticed that Windows is the only Github Actions environment that still uses Java 8 by default. Maybe updating it fixes the crash and makes it less likely to happen. commit d6503efce344e1a86676a353d040c54631f2e3c0 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Sat Dec 4 22:18:04 2021 +0100 Use jruby 9.3.1.0 in CI commit 2b7965a85f22f6c4200e22dfbc784c2954473bc6 Merge: 7818aafc2 141ef4cb9 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Sat Dec 4 21:47:38 2021 +0100 Merge pull request #5053 from rubygems/never_write_outside_of_destdir Fix `ruby setup.rb` trying to write outside of `--destdir` commit 141ef4cb9a98b54d04bfd23060276abb02db79be Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Nov 5 20:57:41 2021 +0100 Don't write outside of destdir when regenerating plugins commit a62d00c5e8fbddfe9225f7cf050a7c5495e2c0f8 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Nov 5 13:55:09 2021 +0100 Don't write outside of destdir when installing default bundler commit 49317d8bebe1ed989068ab56097bc6c67e6a972c Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 4 18:20:17 2021 +0100 Fold a line that got out of hand commit 7079de16faefc98ee639975e198f1bffcfd49e60 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Nov 5 12:44:29 2021 +0100 Fix binstubs and plugins regeneration with `--destdir` is used commit 49b491970bdea1eeea54d21bb596cd795d694dd6 Author: Colby Swandale <me@colby.fyi> Date: Sat Dec 4 18:25:43 2021 +1100 add login & logout for the signin & signout commands respectively commit 7818aafc2e0127cb6cfdce2126c74dd31fd9f27b Merge: 7d4ef4016 f7dbe5440 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Dec 3 21:18:01 2021 +0100 Merge pull request #5110 from rubygems/let_original_eacces_error_be_raised Let original `Errno::EACCES` error be raised in compact index updater commit 7d4ef401603dbc55cacc520dcdf4f858764b10c7 Merge: 9ac4b38ac 06b4a7994 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Dec 3 12:00:37 2021 +0100 Merge pull request #5120 from rubygems/improve_gemfile_lockfile_equivalence Improve gemfile-lockfile source equivalence errors commit 9ac4b38ac36c9f958e3ed457690239679557c100 Merge: a5a1c7f08 de6552ac3 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Dec 2 22:01:09 2021 +0100 Merge pull request #5130 from rubygems/ruby-version-guide Move required_ruby_version gemspec attribute to recommended section. commit de6552ac3074a38e91bc17b011da5348458f56c3 Author: Josef Šimánek <josef.simanek@gmail.com> Date: Thu Dec 2 20:44:30 2021 +0100 Move required_ruby_version gemspec attribute to recommended section. commit a5a1c7f0828ab3c52e75ebbbc88e92a4740b9208 Merge: f6f1b42d4 8fa29e5e5 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Dec 2 10:10:22 2021 +0100 Merge pull request #5116 from rubygems/fix_materializing_locked_0_prereleases Fix handling prereleases of 0 versions, like 0.0.0.dev or 0.0.0.SNAPSHOT commit f6f1b42d4bc4189446a5a9220665b9c88a4f37d7 Merge: 8360ad025 09ca0c2da Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Dec 1 20:42:57 2021 +0100 Merge pull request #5030 from voxik/fix-rfc2253-distinguished-name Provide distinguished name which will be correctly parsed. commit 09ca0c2daefc25c6999e1fcb8750c2661b80be6f Author: Vít Ondruch <vondruch@redhat.com> Date: Wed Oct 27 16:28:24 2021 +0200 Provide distinguished name which will be correctly parsed. It seems that since ruby openssl 2.1.0 [[1]], the distinguished name submitted to `OpenSSL::X509::Name.parse` is not correctly parsed if it does not contain the first slash: ~~~ $ ruby -v ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux] $ gem list | grep openssl openssl (default: 2.2.0) $ irb -r openssl irb(main):001:0> OpenSSL::X509::Name.parse("CN=nobody/DC=example").to_s(OpenSSL::X509::Name::ONELINE) => "CN = nobody/DC=example" irb(main):002:0> OpenSSL::X509::Name.parse("/CN=nobody/DC=example").to_s(OpenSSL::X509::Name::ONELINE) => "CN = nobody, DC = example" ~~~ Instead, use `OpenSSL::X509::Name.new` directly as suggested by upstream maintainer. [1]: https://github.com/ruby/openssl/commit/19c67cd10c57f3ab7b13966c36431ebc3fdd653b Co-authored-by: Kazuki Yamaguchi <k@rhe.jp> commit 06b4a7994d747d6ca181ace3c752d8752c712afc Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 17 15:26:06 2021 +0100 Don't unnecessarily loop twice through dependencies commit f1d33fa0df5354bf20d7c84478bd5c77fba480c0 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 17 15:14:30 2021 +0100 Improve source gemfile/lockfile equivalence checks Since we no longer have multiple global sources, each top level dependency is always pinned to a single source, so it makes little sense to talk about adding or removing a source. Instead, source changes always mean to change the source one or more dependencies are pinned to. This logic can now be much simpler. commit b5f2b88957a4486d474b4c7e4ac0801f8468990e Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 11 23:58:40 2021 +0100 Improve sources representation We have two representations of a source. Once used for sorting, which should not depend on the source's state, but solely on its static information, like remotes. Another one used for error and informational messages, which should properly inform about the exact state of the source when the message is printed. This commit makes the latter be the default implementation of `to_s`, so that error and informational messages are more accurate by default. commit c926673c5b29aa21388e5fbdb26f7c8e9c4b1b14 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 17 14:09:50 2021 +0100 Don't overwrite locked dependency sources too early Otherwise we hide some useful message about dependency source changes. commit 6f1b5f68de0d8f7776886c789cd8fe702350140b Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 17 14:21:48 2021 +0100 Fix incorrect order in changed sources message commit 17c978e16131da86dc696dd80d12864ee2b205e7 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 17 12:58:07 2021 +0100 Remove unnecessary code Somehow this is trying to relax frozen mode constraints for path sources. It doesn't make sense to me and it's not covered by any spec so I'm killing it. commit f28d05a5482f03ac7e4ce89b97867a18b71aec36 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 17 12:02:24 2021 +0100 Reuse `locked_dependencies` helper It makes the code more consistent with the above line. commit 11193be3f11108cd01d343664315210099ac8cb7 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 17 12:01:55 2021 +0100 Reformat for consistency with the above line commit d047b8935d0f996cbbb135d433be879c6e374eeb Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 17 09:19:03 2021 +0100 Remove unnecessary nil checks commit 8360ad02539f7555f94e2d3b0cc02f35d5bdd0c4 Merge: ddd3d2cc3 0f67ae877 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> Date: Wed Dec 1 21:09:49 2021 +0900 Merge pull request #5118 from rubygems/ignore-to-generate-vendored-docs Ignore to generate the documentation from vendored libraries commit 0f67ae877a417a337b0e819cbcddd4885fd7685b Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> Date: Wed Dec 1 20:01:17 2021 +0900 rake update_manifest commit 2d7cd65228196beeec51ea44664497d1af253599 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> Date: Wed Dec 1 19:13:36 2021 +0900 Ignore to generate the documentation from vendored libraries commit ddd3d2cc323b423bdb5d2fbe6324e4683202d2c5 Merge: fd676ac46 0bc9b9191 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> Date: Wed Dec 1 14:02:03 2021 +0900 Merge pull request #5117 from rubygems/bump_ci_versions Bump ci versions commit fd676ac464491afaa0baf5435cb11b3f86229cbd Merge: c5884b2a8 8836fe157 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> Date: Wed Dec 1 07:15:08 2021 +0900 Merge pull request #5089 from olleolleolle/patch-2 newgem templ: Avoid Float 3.0 -> "3" in GH Action commit 8836fe157b1721ae3bb019ec58a59efe9ac249d0 Author: Olle Jonsson <olle.jonsson@gmail.com> Date: Tue Nov 30 21:40:01 2021 +0100 Update bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> commit 0bc9b91910c62bcc8f3d4eaa1fc4f73c45f72ddf Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 30 21:01:40 2021 +0100 Add arm64-darwin-21 to dev lockifles commit 6481c3ef5b5e8124c4b419ea704689ce72f53493 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 30 21:01:21 2021 +0100 Fix typo in skip message commit b091deb9b6ca12d20d7b1e2269f4d6bce6938b00 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 30 19:48:12 2021 +0100 CI against latest rubygems in 3.2 series commit 6a9da57fa586656a061a86ce80a96c01cf93022f Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 30 19:47:07 2021 +0100 Use latest ruby patch levels in CI commit eeaa51d50df95c33a1d8f7ebb781187803d58958 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 30 21:02:23 2021 +0100 Fix spec so that the default optparse gem doesn't mess with it commit 8fa29e5e55006d85c8d316fb09803c54271516b8 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 30 18:12:54 2021 +0100 This warrants a comment commit 711498b3421447963ae80d61a776b65ec4563f3f Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 30 18:07:32 2021 +0100 Fix gemspec source unlocking also for prereleases like 0.0.0.SNAPSHOT The default prerelease requirement in rubygems doesn't actually match things like "0.0.0.SNAPSHOT". commit 68fe37937c29286c72566e4a147d2e7f29428d21 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 30 18:03:14 2021 +0100 Fix materialization of locked 0 prereleases Since the default requirement in rubygems is ">= 0", it was failing to match 0 prereleases. Changing the default globally to be ">= 0.a" instead is a major refactoring that's quite tricky to make backwards compatible, so I'm special casing this where needed for now to fix the regression. commit c5884b2a80474678087d2ecf676c7950b67fa60f Merge: 87efab4b4 d39703d17 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 30 14:15:29 2021 +0100 Merge pull request #5041 from rubygems/sig-template Add an initial rbs template to `bundle gem` skeleton commit 87efab4b432923c00526ae63d3794617e21fc2e7 Merge: 76f8736d9 a672e7555 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 30 12:53:59 2021 +0100 Merge pull request #4408 from rubygems/race_conditions Fix race conditions when reading & writing gemspecs concurrently commit d39703d1785fed248e1a6f00b1b2ed901fae94a6 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> Date: Tue Nov 2 11:54:48 2021 +0900 Added darwin-20 platforms commit 95456e5dac8e4c8dc4e8a2afcdde2b6ddd23cc3c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> Date: Tue Nov 2 11:23:10 2021 +0900 Added the initial template of rbs commit 76f8736d9e2807fa320f0d244fa3cb57948678d6 Merge: 563ac1ffd 4ca066138 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Nov 29 21:38:34 2021 +0100 Merge pull request #5112 from rubygems/bump_connection_pool Use prerelease-aware version comparison inside `connection_pool` commit 4ca06613850c3231a4f9039415a248aaf1f15d03 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Nov 29 19:18:46 2021 +0100 Cherry-pick small change in connection pool commit a672e7555c1d04abfd07d896fcd90b147d4aa984 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Feb 25 18:43:51 2021 +0100 Fix race condition when reading & writing gemspecs concurrently When bundler parallel installer installs gems concurrently, one can get confusing warnings like the following: ``` "[/home/runner/work/rubygems/rubygems/bundler/tmp/2/gems/system/specifications/zeitwerk-2.4.2.gemspec] isn't a Gem::Specification (NilClass instead). ``` I've got these warnings several times in the past, but I never managed to reproduce them, and never look deeply into the root cause, but this time a got a cause that reproduced quite frequently, so I looked into it. The problem is one thread reading a gemspec while another thread is writing it. The write of the gemspec was not protected, so `Gem::Specification.load` could end up seeing a truncated gemspec and thus throw this warning. The fix involve two changes: * Change the methods that write gemspecs to use `Gem.binary_write` which is protected by a lock. * Fix `Gem.binary_write` to create the file lock at file creation time, not when the file already exists after. The realworld user problem caused by this issue happens in bundler, but I'm fixing it in rubygems first, and then I'll backport to bundler whatever needs backporting to fix the issue on the bundler side. commit 2dd267f0e49a91b9e22cc24b1b14b9f9e4c65080 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Feb 25 17:06:01 2021 +0100 Revert "Remove spec file before building" This reverts commit af604436d8141c34cb2e1e645b9b0d47bfd55a55. The issue that led to introducing it was never reproduced. I tried to repro with this patch and it still works just fine. Since this removal is getting in the middle for some race conditions I'm facing, I'm reverting the patch. commit 843f1a0abc27c7a88d3cc986a7c45fcd76ce24cc Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Feb 25 17:02:32 2021 +0100 Run hooks tests on gemspecs not already installed The current `setup_base_installer` ends up using the `quick_gem` helper, which leaves the created specification installed. Instead, make sure to use the `util_spec` helper, which does a similar thing but doesn't leave the specification installed. The idea is that tests do not rely on the installer removing existing gemspecs, bacause I plan to stop doing that. commit 563ac1ffdc30cb4c8062ea3dd1e286f57146ba7a Merge: 36d7117ae 3ede1435e Author: Josef Šimánek <josef.simanek@gmail.com> Date: Mon Nov 29 17:29:26 2021 +0100 Merge pull request #5102 from ooooooo-q/fix/bundle_doctor_escape Fix escape of filenames in `bundle doctor` commit 36d7117aeba8a58837c73ad520c257d96a35df94 Merge: afddaffd3 62d54cbf0 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> Date: Mon Nov 29 23:37:55 2021 +0900 Merge pull request #5109 from nobu/deprecate-typo-name Deprecate typo name commit f7dbe54404ede7b8964a909ec06d6826c1402296 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Nov 29 13:43:09 2021 +0100 Let original EACCES error be raised This block of code already wraps file operations with `SharedHelpers.filesystem_access`, which rescues and re-raises more friendly errors. Also, I'm not fully sure creating a temporary directory can end up raising an `Errno::EACCES` error from reading `tmpdir` sources. Finally, this rescue block apparently leads to some false positives when firewall is blocking the ruby executable on Windows, or at least that's what we've got reported. In any case, I think it's best to let the original error be raised. commit 62d54cbf085059b9d0e92f6228e89be2446ef7b2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> Date: Mon Nov 29 19:00:15 2021 +0900 Deprecate typo name commit 3ede1435ea9f87fe887333df118631c08d5bd088 Author: ooooooo-q <ooooooo-q@users.noreply.github.com> Date: Sat Nov 27 15:17:48 2021 +0900 Fix escape of filenames in `bundle doctor` commit afddaffd3d09856845657d3b4298e011da54d536 Merge: e6205d831 892d70241 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Sat Nov 27 11:55:31 2021 +0100 Merge pull request #5090 from rubygems/dont_unlock_deps_when_changing_global_source Don't unlock dependencies when running `bundle install` after changing global source commit e6205d831ccb54eb400c7cddb0c0c65030862954 Merge: 1e12c5d04 0396e899d Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Nov 26 21:31:48 2021 +0100 Merge pull request #5092 from rubygems/dont_crash_on_missing_deps_for_other_platforms Fix missing locked specs when depended on another platform commit 1e12c5d04819292bb28928abf92257c75ff972b4 Merge: 1598cb3a6 fe1a31db3 Author: Josef Šimánek <josef.simanek@gmail.com> Date: Fri Nov 26 00:50:46 2021 +0100 Merge pull request #5097 from rubygems/bundler_gem_deleted Fix `bundle info` sometimes claiming that bundler has been deleted commit fe1a31db312b1dca5cafb59d30c8e5037d5f9170 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 25 21:29:56 2021 +0100 Fix `bundle info` sometimes claiming that bundler has been deleted commit 892d7024101df3b89acab1e5ebf08ce0ca18686c Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 25 16:11:31 2021 +0100 We no longer need to amend sources in the resolver They should now be correct in the first place. commit 2cb672be099f432699cec81417789bd8ce1b6c8d Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 17 09:51:20 2021 +0100 Make Rubygems source comparison consider `allow_deployment_source_credential_changes` Honestly I want to remove this setting, but for now we have to live with it. Moving it to `Source::Rubygems` though allows us to simplify a lot of code. commit b82c0f6a9bcdb79088080a8df1a883f9365115c9 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 24 19:11:11 2021 +0100 Fix global dependencies being unlocked when changing global source commit 1e6a595184b552bd773b7fb82bb3bcf00e918cb2 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 24 18:45:09 2021 +0100 Only update locked spec source in non frozen mode The "exception" for updating the source didn't make sense to me. It should be skipped when in frozen mode, since in that case only information from the lockfile must be used, including sources. commit 0396e899db2955b3a86bda63fb191e82c4f4584f Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 24 22:01:45 2021 +0100 Fix missing locked specs when depended on other platform commit 1598cb3a67ec47249cecd7e5a266d09701d6ffd5 Merge: 481c27198 bbf55de38 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 24 20:02:13 2021 +0100 Merge pull request #4815 from rubygems/dont_replace_whole_env Avoid shared libraries not getting environment passed right after argv in memory when `bundle exec` is used commit 3260173c59e1eaab33aae5a5b254177e5bc085e8 Author: Olle Jonsson <olle.jonsson@gmail.com> Date: Wed Nov 24 17:23:06 2021 +0100 Update main.yml.tt commit f5bead5634d57099f27972242209ea8591ca5f69 Author: Olle Jonsson <olle.jonsson@gmail.com> Date: Wed Nov 24 17:15:06 2021 +0100 newgem tmpl: ruby as "2.7" in GH Actions matrix commit 6221241ad49fe0e3c54f32d85ab4ccbfbb2b5518 Author: Olle Jonsson <olle.jonsson@gmail.com> Date: Wed Nov 24 17:05:33 2021 +0100 newgem templ: Avoid Float 3.0 -> "3" in GH Action This change avoids a YAML Float-to-String conversion, which turns a 3.0 into a "3". That can make names of builds less clear. In order to use this new capability, I added a "name" descriptor to the matrix-created Job. commit bbf55de38e2b1e1fbc492204673c9d70a4b0241a Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Aug 5 17:16:44 2021 +0200 Fix bad instance variable name Recent changes made a warning while running specs show up for some reason, and it revealed this error. commit 4807bd19a5663de2ac116e6f50a542997baeea54 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Aug 5 16:54:30 2021 +0200 Check not having load system features also for successful runs commit dc391f4d8764f067e223c84410d64dc9669d0daa Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Aug 5 16:53:51 2021 +0200 These method should be returning a string commit 48f8cdab9cc3b460f3f057569317fa5a995a8e8e Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Aug 5 11:50:44 2021 +0200 We should be checking raised exception, not status code here commit 8dc86b7096cc66f3f3145c4b800e528a6984f14e Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Oct 15 13:51:49 2021 +0200 Don't replace ENV twice on non Windows platforms commit 481c271983cb6d8fdee63e307b1b35bc3ef53696 Merge: 8b436e2c7 964f6a228 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 23 09:32:11 2021 +0100 Merge pull request #5085 from rubygems/cherry_pick_changelogs Changelogs for rubygems 3.2.32 and bundler 2.2.32 commit 8b436e2c7cb637a7e7e8af40394b3dcbc903eb89 Merge: 6e55de67e 239d3dd5d Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 23 09:31:32 2021 +0100 Merge pull request #5087 from rubygems/fix_changelog_script_crash Fix changelog script crash commit 964f6a2282f2126e87c32c2676a8d9d2ca978eff Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Nov 22 22:31:23 2021 +0100 Changelog for Rubygems version 3.2.32 commit 313f21041478929b7e146deeee1c9eb215f5261a Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Nov 22 22:31:21 2021 +0100 Changelog for Bundler version 2.2.32 commit 239d3dd5d06a1886d31fcae98abd2e3d51e5c8cf Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Nov 22 22:29:14 2021 +0100 Fix changelog script crash `String#gsub!` will return nil if no replacement was performed as opposed to `String#gsub` which returns the original string. That means we can't chain `String#gsub!` safely. commit 6e55de67e251ebd689b705e403585b5a63e5aff4 Merge: 53b1ab262 7f22fe56b Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> Date: Mon Nov 22 09:29:04 2021 +0900 Merge pull request #5083 from rubygems/tweak_bundle_viz_depreaction Clarify `bundle viz` deprecation commit 7f22fe56b3897f1a9670cd0f4daea7d33fc6a25a Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Sat Nov 20 01:15:11 2021 +0100 Clarify `bundle viz` deprecation commit 53b1ab262fd136c036fbd6e8bf008013c5ff4633 Merge: b063510f7 3241b3405 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Nov 19 02:11:59 2021 +0100 Merge pull request #5078 from rubygems/manual_downgrade Fix downgrading dependencies by changing the `Gemfile` and running `bundle update` commit 3241b34055a15b21c789e05affe78e810796d631 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 17 21:59:18 2021 +0100 Previous logic can mostly go now commit 6a19cca7e53b134be9eb696868a9a3bdc11c11cd Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Nov 12 00:56:19 2021 +0100 Allow `bundle update` to downgrade gems by changing the Gemfile commit e896e63ac32460f4dadb4565f854e1d78530a407 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 17 21:13:40 2021 +0100 Extract a converge_specs method for later reusing it commit afaf868b68d68aa4eb98d19a2bb520c0d69b5ed2 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 16 15:01:18 2021 +0100 Avoid unnecessary loop commit b063510f7bb44505769816bfdf871a001b987aa8 Merge: 7c0c681a1 c8cc053bd Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 17 20:37:16 2021 +0100 Merge pull request #5050 from rubygems/install_thread_safety Refactor installer thread safety protections commit c8cc053bdef63a8e41a034b693b25cd3635d20b8 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 4 13:40:53 2021 +0100 Protect specs access at a finer level commit 5cb0b9d9b8f7c6bf6cb13dd672a6194cdd55c387 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 4 13:28:30 2021 +0100 Stop using a constant for something not constant commit 662de0c9902e2d4b96b435c754eb76daba32a66e Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 4 13:23:35 2021 +0100 Extract a helper method to reset specs commit 19f117652bb1f312ec41c6b8fba342696e023479 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 17 18:01:25 2021 +0100 Make clearing loaded spec cache really private commit f8a01ddb9f3aa63b8e141e32d9d888629c8cd28b Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 17 17:59:30 2021 +0100 `Gem::Specification.reset` already clears loaded spec cache Plus, that method is supposed to be private. commit 231be44d38491eb85bcf28600ce69c7f97b0fce6 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 4 13:20:42 2021 +0100 We can now use standard memoization commit 54e923ffc271ab892e5f645af034957efb2c2bac Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 17 17:47:25 2021 +0100 Easier preservation of activated specs commit 64d27bba012571a7cf41033a98a29fb1899690d4 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 4 13:12:32 2021 +0100 Set `@@all` variable at class definition time To spare the `defined?` check. commit 7c0c681a1d707be7e546a3486007db4f6d0d3e7d Merge: 9667f56f7 6d92ff5e5 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 17 09:07:04 2021 +0100 Merge pull request #5044 from rubygems/allow_gem_activation_from_os_and_implementation_extensions Allow gem activation from `operating_system.rb` commit 9667f56f73fe3c06a158b84c28bf824c4c69d9d3 Merge: b6319d4a8 c4e465a41 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 17 09:02:59 2021 +0100 Merge pull request #5074 from rubygems/update-dev-deps Update development dependencies commit b6319d4a8a293adf74fe3e0e844fd1b92b1188a9 Author: André Arko <andre@arko.net> Date: Tue Nov 16 14:04:17 2021 -0800 Add GitHub Sponsor link commit c4e465a4121b06070f341fa720e19a615bcefc03 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 9 10:52:35 2021 +0100 Remove unused require commit d564c1b502f6026d54b8639684b119f6a8d42ad7 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 9 10:48:14 2021 +0100 Update development dependencies (`rake update`) commit 882d9c23f8c088aac05e5ce4c3bf400831fec8dd Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 16 13:41:53 2021 +0100 Lock standard on ruby 2.4 commit 6bf5571c12a8861a6e6a7782cd0f794d03f7c610 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 16 13:04:18 2021 +0100 Lock rubocop on ruby 2.4 commit 29c20f9e4bd197e41c5038dac1aad2026e891263 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 16 12:54:15 2021 +0100 Lock rubocop-ast on ruby 2.4 commit ac141c3745dc49cb0398b428ece3e572d891f745 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 16 10:48:17 2021 +0100 Lock parallel on old rubies commit 3e0004a1f16ac426ece2e419d652ac482d791234 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 16 10:46:55 2021 +0100 Make `rake setup` sync lockfiles That way when changing a gemfile, `rake setup` will get the lockfile in sync. commit 3be2a079f9ddc9cfead159a4e81990c7502b1303 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 16 10:31:06 2021 +0100 We no longer need to lock faraday Since we don't use Ruby 2.3 for releasing. commit 7055945c035648f2b114feb41576dda98cf78144 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 9 10:27:05 2021 +0100 Move release dependencies to their own Gemfile Most people won't be releasing so its unnecessary for them to install everything. It will also allow us to use the latest faraday, since we don't use ruby 2.3 for releasing. commit 1515deb870908927d888c6c1f98a736984b877bb Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 9 10:24:39 2021 +0100 Remove unnecessary `release:verify_docs` task commit d54ff9c0270cadf91612d91b89b067bb300225a3 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 9 10:22:58 2021 +0100 Make `rake update` sync lockfiles commit 80582ed15f4b79742b392958d478ae7644d1449f Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 9 10:43:30 2021 +0100 Use local rubygems for all dev bundler commands commit 4b498709a015a94e14a3852a1841a7a3e669133d Merge: 72a774bbf cde1acc8b Author: Josef Šimánek <josef.simanek@gmail.com> Date: Tue Nov 16 10:59:23 2021 +0100 Merge pull request #5073 from rubygems/extra_rubygems_changelog_entry Add entries about default bundler to rubygems changelog commit cde1acc8b4072d13ad82edb473e4e6dda1f7b1eb Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 16 09:23:19 2021 +0100 Add entries about default bundler to rubygems changelog Upgrading rubygems also upgrades the default bundler version installed in your system. This is an enhancement, so we should include it in the changelog. commit 72a774bbf53ce88f09a1e99eeb2ac11b57a9bb59 Merge: fef58aefd 7a47c01a8 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 11 23:38:22 2021 +0100 Merge pull request #5068 from rubygems/unlock_deps_that_no_longer_match_lockfile Unlock dependencies that no longer match lockfile commit fef58aefd4d0345c073c7440390f0d5783ded029 Merge: 411adeae8 86b874ed2 Author: Josef Šimánek <josef.simanek@gmail.com> Date: Thu Nov 11 22:05:00 2021 +0100 Merge pull request #5069 from rubygems/spec_simplifications Simplifications to bundler specs commit 86b874ed248f32da6ae7a1b6285be5ae54cfe927 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 11 20:31:24 2021 +0100 Remove duplicated spec commit 79f3c00caaaaa1323dda8ed9d32db1f97fe8f63b Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 11 20:28:47 2021 +0100 Remove `gemfile_should_be` helper as well commit 7a47c01a86af152d09aaa14d8cad6253e80c1c41 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 11 19:30:15 2021 +0100 Unlock dependencies that no longer match the lockfile Instead of throwing an error telling the user to unlock the dependency herself. commit 4ca440730413e2d73435d150fdc36fdb8c1b6260 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Sep 28 12:49:03 2021 +0200 Remove unnecessary code This sounds like some workaround for some frozen mode issue that seems fixed now. The code that introduced it added a regression spec and it's still passing. So I think we can remove it. commit 635f3f260553e9e1635e0f668b30a1ecb975e657 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 11 20:26:21 2021 +0100 Remove `have_lockfile` matcher too commit ece3c864df5a32a6235e59eb3e59825e0ce0b496 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 11 20:24:02 2021 +0100 Remove `lockfile_should_be` helper It doesn't add anything. commit 490501201b1ea7be15b3290b78381490a726b0fd Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Sep 24 14:50:43 2021 +0200 Use consistent local variable name It's consistent with other loops over dependencies, and with the `locked_dep` naming. commit 29c29b0b263221b2b980e644f7e2ddd4f3d4d83f Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Sep 24 14:50:01 2021 +0200 Remove confusing comment All dependencies are actually looped. commit 7918f7ba26e0a4253d1c116c8b604b75d39a3a93 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Sep 28 00:41:05 2021 +0200 Remove more ineffective code This code seems to be related to conservative updating of path sources, but no specs seem to break when removing it, including the ones added by the changes that introduced this block of code. So I'm removing it. commit 16ce3f6e8ddfb3317b29538322f0a115c97f632d Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Sep 24 14:27:58 2021 +0200 Simplify more code The `locked_deps` variable was only used once and either would be `nil`, or the deps would be the same. So there's no need to overwrite it with `nil`, we can check deps inequality instead. commit 7e593b05b261020179a622bba16ae19cfeca82d6 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Sep 24 14:05:50 2021 +0200 Remove unnecessary code This might've been necessary when lockfile used merged sources, I don't think it makes sense anymore. commit 411adeae83d30da08b14954116ab4d4ea2632184 Merge: 7b2f3e705 eba7d173d Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 9 13:21:23 2021 +0100 Merge pull request #4956 from junaruga/wip/parse-make-arguments Fix `assert_contains_make_command` on `make` defined by environment variable. commit eba7d173d4a33a2ea6bc7194d762cff6df5d6467 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 9 11:52:44 2021 +0100 Remove more unused stuff from make command parsing commit d79ade274ba8b5087bf812697ef0d038cbff822d Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 9 11:47:56 2021 +0100 This method is never passed a block commit 7730ef3fa039995d959fd9686b2a89367addd985 Author: Jun Aruga <jaruga@redhat.com> Date: Fri Oct 15 13:47:32 2021 +0200 Fix assert_contains_make_command on make defined by environment variable. The `parse_make_command_line` in `assert_contains_make_command` fails to get the make targets correctly, when the make command is set with make options by environment variable such as `export make='make -j2'` at lib/rubygems/ext/builder.rb::make. So, we include the make options (eg, -XX) as a part of the command to fix the case. Note that this commit still doesn't fix the case of `export make='make -j 2'`. commit 8c2725e9a6bca1bb4efa5d7ce85051e7a2459dbd Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 9 11:30:46 2021 +0100 Improve error message when make command doesn't match commit 7b2f3e7053620d0c2f15ead263a43a226cbc98d7 Merge: 54587b5dd 6649ee10b Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> Date: Tue Nov 9 10:56:11 2021 +0900 Merge pull request #5062 from Maimer/use_shellsplit_for_git_push Use `shellsplit` instead of array of strings for git push commit 6649ee10b0607c8ed8ee8f8a4dd746b2f59afb78 Author: Nicholas Lee <nicholas.lee@appfolio.com> Date: Mon Nov 8 15:52:49 2021 -0800 Use `shellsplit` instead of array of strings Previously, the command string to be used for the shell command was first generated and then split using shellsplit. This change reverts the current behavior as it breaks if the value of remote contains a space. commit 54587b5ddb0ebeddb4ae2bd251e3d579712a8abd Merge: 1cd63a91d 37eb0ee1f Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Nov 8 15:52:51 2021 +0100 Merge pull request #5058 from rubygems/cherry_pick_changelogs Changelogs for rubygems 3.2.31 and bundler 2.2.31 commit 37eb0ee1f00103af4d5d4e34ecfd890e33e4fc81 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Nov 8 10:45:29 2021 +0100 Changelog for Rubygems version 3.2.31 commit 2aabe61b65fc11e777af8cc3adb0533d5195a174 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Nov 8 10:45:23 2021 +0100 Changelog for Bundler version 2.2.31 commit 1cd63a91d593bd63c867abeecbe2e87e019fa493 Merge: 9caab60eb a54cca13d Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Mon Nov 8 14:15:12 2021 +0100 Merge pull request #5061 from rubygems/bundler-graph Use bundler-graph instead of bundler-viz commit a54cca13db497fcffd8bc65f46ca3d05183e64c8 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> Date: Mon Nov 8 20:46:08 2021 +0900 Use bundler-graph instead of bundler-viz commit 9caab60eb8fa1b933a5d73ab70885994d1131062 Merge: 03b11fc09 7fd987d30 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> Date: Sat Nov 6 09:06:44 2021 +0900 Merge pull request #5057 from rubygems/fixup-destdir-fix Set DESTDIR with GNU Make commit 7fd987d30d093134c4c8596fa4939978860913cc Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> Date: Sat Nov 6 07:22:35 2021 +0900 GNU Make needs DESTDIR on Windows environment like msys or mingw commit 03b11fc093b0a0616e6e657cc975742f547973ba Merge: b58ac02b0 6a5a80eff Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Nov 5 17:39:17 2021 +0100 Merge pull request #4964 from haruuzion/fix-url Fix broken link in `bundle viz` deprecation message commit 6a5a80eff7ecfba730f8b096b3ddf7e502b364e0 Author: haruuzion <haruuzion@users.noreply.github.com> Date: Fri Oct 8 01:08:57 2021 +0900 Fix url commit b58ac02b0276e0d64d37622050f7d29c6dcdca83 Merge: 2bd3f0065 8d04092f6 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Nov 5 15:20:40 2021 +0100 Merge pull request #5051 from rubygems/setup_rb_prefix Fix `ruby setup.rb` when `--prefix` is passed commit 8d04092f6eea5d075c37741e398b4c11268fe74a Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 4 19:27:17 2021 +0100 Fix `ruby setup.rb` command when `--prefix` is passed commit 55637bdc8a244dd05b59906f6eb6ee318ed45362 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Nov 5 13:51:11 2021 +0100 Bin dir should fall inside destdir Since that's what happens in real life when `--destdir` is passed. commit d3f092ad1403c6acd682654b11a2a2676ac9fbc0 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Nov 5 13:46:32 2021 +0100 Remove unnecessary test setup The method being unit tested here doesn't use `RbConfig::CONFIG["bindir"]`. commit bd4bd97916f599f8a43ff0f94a5986112c3ca25e Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Nov 5 13:29:29 2021 +0100 Merge some logic It's the only usage of the method now, can be moved inline. commit a1f62f09398c0ae2f8c0df376f61fb961f66e426 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Nov 5 13:27:17 2021 +0100 Remove unnecessarily changing GEM_HOME At this point gem paths are already loaded and memoize. Changing `GEM_HOME` has no effect. commit 0571fd1ec65d6ff551b04bb0f89cf3ba35d5d7a8 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Fri Nov 5 12:20:05 2021 +0100 Simplify `--destdir` test commit 50a7e34586af7b3d9e1ad4628e58e2261230669f Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 4 20:20:47 2021 +0100 Refactor setup tests to not always pass `--prefix` Standard usage should be tested by default. I will add a test for `--prefix` once I fix that option since it's not working correctly at the moment. commit 2839d15521256794550b0f2954946d8018408e47 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 4 20:31:06 2021 +0100 Remove unnecessary loop Rubygems installs a single executable. Make that explicit. commit 2bd3f00658cd1029189acf995e04489b7f8d8fc5 Merge: 8a1216f22 69dcc0255 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> Date: Fri Nov 5 07:35:20 2021 +0900 Merge pull request #5049 from rubygems/skip-destdir Skip to set DESTDIR option when it's not provided for mswin platform commit 8a1216f22f80a55baf27fc65642adc609f25406a Merge: 707893d5d 9e857ffb5 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 4 23:23:29 2021 +0100 Merge pull request #2768 from alyssais/destdir Don't apply `--destdir` twice when running `setup.rb` commit 6d92ff5e5538d33da18bc20826da6888456ed8dc Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Tue Nov 2 21:51:20 2021 +0100 Allow gem activation from `operating_system.rb` Sometimes OS and implementation specific customizations to rubygems might need to load default gems. We should make sure `Kernel.require` monkeypatches are in place before these files are loaded. commit 9e857ffb52a8b1f75788d7b8ec868215793a44e9 Author: Alyssa Ross <hi@alyssa.is> Date: Sat May 18 15:10:18 2019 +0000 Don't apply `--destdir` twice when running `setup.rb` Prior to this patch, if I ran: ruby setup.rb --destdir /foo Then Bundler files would be written into /foo/foo, because destdir was being prepended, even though `bundler_spec.bin_dir` already included destdir. commit fbe42460d7a01f3a390f81a4f4ff25771c791ee5 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 4 21:01:29 2021 +0100 Fix `--destdir` handling on Windows Driver letters were not accounted for in one place. commit f42c2025ed1e6caa288ee906e4a8e47e31a83358 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 4 22:13:29 2021 +0100 More refactoring of `--destdir` handling commit 8aab3d11b09cc08db113445efd5a113e448e367c Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 4 22:04:26 2021 +0100 Refactor `--destdir` handling commit c556ae8abd239ff2447554015e97f384bf135a7f Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 3 11:23:25 2021 +0100 Merge related checks into a single step commit 5fd16719fc88957c1152164423144e3a8af3ff0e Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 4 20:44:43 2021 +0100 Extract a helper to check for ruby-core setup commit d997bdc2fe240533b682530f515c42ca86077e54 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 3 10:58:16 2021 +0100 These tests are not supposed to be fixed. Prefer `omit` commit 0727bb87fb44f8a5546266d5e188594c024a6ddc Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 3 10:57:55 2021 +0100 This seems to be passing on JRuby now commit 707893d5d406cb7c7d822d144e02448341d7771f Merge: d7b2478e7 f328ef6f7 Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Thu Nov 4 15:06:18 2021 +0100 Merge pull request #5045 from nobu/typos Fix typos commit f328ef6f7770ccded8af656d5d3ba5e1848a033a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> Date: Wed Nov 3 18:54:14 2021 +0900 Fix typos commit 69dcc02553f3969f9a960872670c0cbddab6e18a Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> Date: Thu Nov 4 14:10:59 2021 +0900 Explicitly ignored empty value for DESTDIR commit b93546c8d86a6065916499993ef7fdff80be904f Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> Date: Thu Nov 4 13:59:41 2021 +0900 Skip to set DESTDIR option when it's not provided for mswin platform commit d7b2478e764c965a32a4c1d9e043491cb9349561 Merge: f44f647a6 77c6e9f1d Author: David Rodríguez <deivid.rodriguez@riseup.net> Date: Wed Nov 3 11:55:46 2021 +0100 Merge pull request #4986 from voxik/openssl3-des2aes Switch from DES-CBC to AES-256-CBC. commit 77c6e9f1d54ba99c72d1f6480b952c95dfbda582 Author: Vít Ondruch <vondruch@redhat.com> Date: Thu Oct 14 09:46:03 2021 +0200 Switch from DES-CBC to AES-256-CBC. DES-CBS is considered legacy and disabled in OpenSSL 3.x+ [[1], [2]]. This cause causes Ruby test failures: ~~~ ruby -v: ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux] /builddir/build/BUILD/ruby-3.0.2/lib/rubygems/test_case.rb:1542:in `initialize': Neither PUB key nor PRIV key (OpenSSL::PKey::RSAError) from /builddir/build/BUILD/ruby-3.0.2/lib/rubygems/test_case.rb:1542:in `new' from /builddir/build/BUILD/ruby-3.0.2/lib/rubygems/test_ca…
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix: #199
Introduced in 4792a91
rb_absint_size
return the number of bytes needed to fit the absolute integer, but negative integers need the sign, so one more bit, and potentially one more byte.I would have expected the same bug to happen between
LONG_MIN
and-ULONG_MAX
but somehow I couldn't reproduce it.