Age | Commit message (Collapse) | Author |
|
https://github.com/rubygems/rubygems/commit/0f168516f7
Notes:
Merged: https://github.com/ruby/ruby/pull/7345
|
|
I did a bad thing (script that edits the Gemfile.lock directly) and
ended up with a Gemfile.lock that was completely missing some indirect
dependencies. While this is my fault and an error is reasonable, I
noticed that the error got progressively less friendly in recent
versions of bundler.
Something similar came up in https://github.com/rubygems/rubygems/issues/6210,
and this commit would have helped with that case as well
(although we've already handled this a different way with #6219).
Details:
---
Back on Bundler 2.2.23, a corrupt lockfile like this would cause a helpful error:
```
Unable to find a spec satisfying minitest (>= 5.1) in the set. Perhaps the lockfile is corrupted?
```
Bundler 2.3.26 gave a helpful warning:
```
Warning:
Your lockfile was created by an old Bundler that left some things out.
Because of the missing DEPENDENCIES, we can only install gems one at a time,
instead of installing 16 at a time.
You can fix this by adding the missing gems to your Gemfile, running bundle
install, and then removing the gems from your Gemfile.
The missing gems are:
* minitest depended upon by activesupport
```
But then continued on and crashed while trying to report the unmet
dependency:
```
--- ERROR REPORT TEMPLATE -------------------------------------------------------
NoMethodError: undefined method `full_name' for nil:NilClass
lib/bundler/installer/parallel_installer.rb:127:in `block (2 levels) in check_for_unmet_dependencies'
...
```
Bundler 2.4.0 and up crash as above when jobs=1, but crash
even harder when run in parallel:
```
--- ERROR REPORT TEMPLATE -------------------------------------------------------
fatal: No live threads left. Deadlock?
3 threads, 3 sleeps current:0x00007fa6b6704660 main thread:0x00007fa6b6704660
* #<Thread:0x000000010833b130 sleep_forever>
rb_thread_t:0x00007fa6b6704660 native:0x0000000108985600 int:0
* #<Thread:0x0000000108dea630@Parallel Installer Worker #0 tmp/1/gems/system/gems/bundler-2.5.0.dev/lib/bundler/worker.rb:90 sleep_forever>
rb_thread_t:0x00007fa6b67f67c0 native:0x0000700009a62000 int:0
* #<Thread:0x0000000108dea4a0@Parallel Installer Worker #1 tmp/1/gems/system/gems/bundler-2.5.0.dev/lib/bundler/worker.rb:90 sleep_forever>
rb_thread_t:0x00007fa6b67f63c0 native:0x0000700009c65000 int:0
<internal:thread_sync>:18:in `pop'
tmp/1/gems/system/gems/bundler-2.5.0.dev/lib/bundler/worker.rb:42:in `deq'
...
```
Changes
---
This commit fixes the confusing thread deadlock crash by detecting if
dependencies are missing such that we'll never be able to enqueue. When
that happens we treat it as a failure so the install can finish.
That gets us back to the `NoMethodError`, which this commit fixes by
using a different warning in the case where no spec is found.
https://github.com/rubygems/rubygems/commit/d73001a21d
|
|
Pick from https://github.com/rubygems/rubygems/commit/5ace20dbecfeaf09fba5f616193f3cfcff70ba00
Notes:
Merged: https://github.com/ruby/ruby/pull/7203
|
|
from https://github.com/rubygems/rubygems/commit/0635c1423db5d7c461d53bf0c3329bca75de7609
Notes:
Merged: https://github.com/ruby/ruby/pull/7094
|
|
from https://github.com/rubygems/rubygems/commit/72fd3dd2096af16d797ad0cd8e0d2a8869e240b3
Notes:
Merged: https://github.com/ruby/ruby/pull/7025
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6987
|
|
Pick from https://github.com/rubygems/rubygems/commit/084f7d1f21f6fc3e2bb685b7bda3653fb2891c6e
Notes:
Merged: https://github.com/ruby/ruby/pull/6936
|
|
from https://github.com/rubygems/rubygems/commit/bfb0ae69776069155d2092702bfbb5a12617d85a
Notes:
Merged: https://github.com/ruby/ruby/pull/6906
|
|
Pick from https://github.com/rubygems/rubygems/commit/823c776d951f3c35094611473ec77f94e8bf6610
Notes:
Merged: https://github.com/ruby/ruby/pull/6890
|
|
https://github.com/rubygems/rubygems/pull/5960
Co-authored-by: David Rodríguez <[email protected]>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6715
|
|
gems
https://github.com/rubygems/rubygems/commit/11229b16c3
|
|
https://github.com/rubygems/rubygems/commit/6214d00b2315ed37c76b1fbc1c72f61f92ba5a65
Notes:
Merged: https://github.com/ruby/ruby/pull/6578
|
|
https://github.com/rubygems/rubygems/commit/1c0eb63c6a
Notes:
Merged: https://github.com/ruby/ruby/pull/6578
|
|
This allows the file to be created without copying permissions
from Bundler's installation source. The previous behaviour was
noticed after installing Ruby through brew, and using bundle
init, which yielded a read-only Gemfile.
https://github.com/rubygems/rubygems/commit/839a06851d
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6330
|
|
https://github.com/rubygems/rubygems/commit/16c3535413afebcdbab7582c6017c27b5da8a8dc
Notes:
Merged: https://github.com/ruby/ruby/pull/6326
|
|
platforms
https://github.com/rubygems/rubygems/commit/f3c49ad3f7
|
|
https://github.com/rubygems/rubygems/commit/703373b41f
Co-authored-by: Loic Nageleisen <[email protected]>
|
|
The compact index should not request any marshaled gemspecs whatsoever.
https://github.com/rubygems/rubygems/commit/6dbd44d0c0
Notes:
Merged: https://github.com/ruby/ruby/pull/6268
|
|
https://github.com/rubygems/rubygems/commit/446cc57a7ccdf1924deb291be9571219e7ba8523
Notes:
Merged: https://github.com/ruby/ruby/pull/6198
|
|
https://github.com/rubygems/rubygems/commit/482077d185
|
|
Merge from https://github.com/rubygems/rubygems/commit/2af2520b4a7ab1c6eb1fdc3d2ef4d8c062d96ad7
Notes:
Merged: https://github.com/ruby/ruby/pull/6184
|
|
Signed-off-by: Takuya Noguchi <[email protected]>
https://github.com/rubygems/rubygems/commit/e11f5a143b
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6124
|
|
It should also set the proper class variable so that `Gem.win_platform?`
returns true.
https://github.com/rubygems/rubygems/commit/0fbf6904d1
|
|
When testing under the ruby/ruby setup, mkmf.rb needs to the `$extout`
global variable set properly.
This is because, in this particular case, the `ruby.h` header needed to
compile extensions is constructed from
`$(extout)/include($arch)/ruby/config.h` but `$extout` is not set by
default.
I tried to fix this in mkmf.rb itself but I couldn't figure it. But
setting it externally to workaround the issue fixes the specs, so I'll
start with that. Also setting it externally causes issues when running
specs upstream against Ruby 2.3 (I guess because of some difference with
Ruby 2.3 mkmf.rb implementation). So I'm avoiding doing it on Ruby 2.3 to
woraround that.
https://github.com/rubygems/rubygems/commit/d782984585
|
|
This is a regression from https://github.com/rubygems/rubygems/commit/cf749f8ffabd. The
funny thing is that we have a spec for this feature, so it was unclear
how we regressed here. It turns out there was a bug in one of our
negative matchers checking that gems ARE NOT included in a bundle.
This commit fixes the bug in the negative matcher and reverts
https://github.com/rubygems/rubygems/commit/cf749f8ffabd (with a slightly simpler diff).
https://github.com/rubygems/rubygems/commit/3f9a4ff32a
|
|
If BUNDLE_PATH is configured to a symlinked path, installing gems with
symlinks would crash with an error like this:
```
Gem::Package::SymlinkError: installing symlink 'man/man0/README.markdown' pointing to parent path /usr/home/stevewi/srv/mail/lib/tools/.vendor/ruby/3.1.0/gems/binman-5.1.0/README.markdown of /srv/mail/lib/tools/.vendor/ruby/3.1.0/gems/binman-5.1.0 is not allowed
```
This commit fixes the problem by changing the bundle path to be the
realpath of the configured value, right after we're sure the path has
been created.
https://github.com/rubygems/rubygems/commit/3cd3dd142a
|
|
https://github.com/rubygems/rubygems/commit/125415593ead9ab69a9f0bb5392c9d7ec61b1f51
|
|
Previously we were removing not installable specs. However, if those are
the only ones, that would result in a bad error message. If we still
choose them as a last resort, Bundler will later check metadata right
before installing a give a proper error.
This is a regression of https://github.com/rubygems/rubygems/commit/565549260be5 and the
fix is to revert that commit.
https://github.com/rubygems/rubygems/commit/bc18912257
|
|
https://github.com/rubygems/rubygems/commit/66eae0ef1d
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5606
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5512
|
|
Picked at 12aeef6ba9a3be0022be9934c1a3e4c46a03ed3a
Notes:
Merged: https://github.com/ruby/ruby/pull/5462
|
|
The current way works, but error messages show duplicate "/" in paths,
which is weird.
https://github.com/rubygems/rubygems/commit/9123deb4fa
|
|
To see if we get more information when this fails.
https://github.com/rubygems/rubygems/commit/853d33fdc3
|
|
https://github.com/rubygems/rubygems/commit/fa8455ef7c
Notes:
Merged: https://github.com/ruby/ruby/pull/5350
|
|
Since we're at it. This generates a bunch of warnings and seems like a
brittle way to test things, so let's get rid of it.
https://github.com/rubygems/rubygems/commit/f5d45520e0
Notes:
Merged: https://github.com/ruby/ruby/pull/5350
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5325
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5317
|
|
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.
https://github.com/rubygems/rubygems/commit/b5f2b88957
|
|
|
|
successful runs
https://github.com/rubygems/rubygems/commit/4807bd19a5
|
|
https://github.com/rubygems/rubygems/commit/dc391f4d87
|
|
https://github.com/rubygems/rubygems/commit/48f8cdab9c
|
|
https://github.com/rubygems/rubygems/commit/8dc86b7096
|
|
https://github.com/rubygems/rubygems/commit/79f3c00caa
|
|
https://github.com/rubygems/rubygems/commit/635f3f2605
|
|
It doesn't add anything.
https://github.com/rubygems/rubygems/commit/ece3c864df
|