Age | Commit message (Collapse) | Author |
|
https://github.com/ruby/psych/commit/02919596fa
Notes:
Merged: https://github.com/ruby/ruby/pull/3188
|
|
Removing it triggers the following warnings when running `bundle` under
jruby from the root of the `psych` repo prints the following warnings:
```
/path/to/jruby-9.2.9.0/lib/ruby/gems/shared/gems/psych-3.1.0-java/lib/psych/versions.rb:7: warning: already initialized constant VERSION
/path/to//jruby-9.2.9.0/lib/ruby/gems/shared/gems/psych-3.1.0-java/lib/psych/versions.rb:10: warning: already initialized constant DEFAULT_SNAKEYAML_VERSION
```
This is because bundler loads the versions file relatively from the
local gemspec, and then internally loads the psych gem, causing the
redefinition warnings.
Instead, we modify the $LOAD_PATH so that when working locally on the
`psych` repo, the local version of `psych` gets used.
https://github.com/ruby/psych/commit/a3fc8191a7
Notes:
Merged: https://github.com/ruby/ruby/pull/3188
|
|
number strings.
https://github.com/ruby/psych/commit/ac2d2c9b1b
Notes:
Merged: https://github.com/ruby/ruby/pull/3188
|
|
Current version is not installable because the gemspec is invalid, since
it includes a `.travis.yml` file that no longer exists, so `rake
install` fails like this:
```
$ rake install
rake aborted!
WARNING: See https://guides.rubygems.org/specification-reference/ for help
ERROR: While executing gem ... (Gem::InvalidSpecificationException)
[".travis.yml"] are not files
```
https://github.com/ruby/psych/commit/32b18ca7ca
Notes:
Merged: https://github.com/ruby/ruby/pull/3188
|
|
https://github.com/ruby/psych/commit/7dae24894d
Notes:
Merged: https://github.com/ruby/ruby/pull/3188
|
|
https://github.com/ruby/psych/commit/04f97f7a56
Notes:
Merged: https://github.com/ruby/ruby/pull/3188
|
|
https://github.com/ruby/psych/commit/3e472ab2d7
Notes:
Merged: https://github.com/ruby/ruby/pull/3188
|
|
https://rubyci.org/logs/rubyci.s3.amazonaws.com/wsl2/ruby-master/log/20200605T020004Z.fail.html.gz
```
[ 984/20282] IMAPTest#test_connection_closed_without_greeting#<Thread:0x000055b6e9589d28 /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:133 run> terminated with exception (report_on_exception is true):
/home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/.ext/common/socket.rb:252:in `local_address': closed stream (IOError)
from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/.ext/common/socket.rb:252:in `connect_address'
from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `block (2 levels) in test_connection_closed_without_greeting'
from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `each_object'
from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `each'
from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `map'
from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `block in test_connection_closed_without_greeting'
from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:134:in `block in start_server'
```
|
|
debug print does not include `in_tcp_socket_2`,
so I think other socket connected to server socket.
Add sockets to debug print, and check other socket is in same process or not.
https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20200604T160009Z.fail.html.gz
```
1) Failure:
IMAPTest#test_connection_closed_without_greeting [/export/home/chkbuild/chkbuild-gcc/tmp/build/20200604T160009Z/ruby/test/net/imap/test_imap.rb:523]:
[Net::IMAP::Error] exception expected, not #<RuntimeError: {:server=>#<TCPServer:(closed)>,
:port=>35490,
:server_created=>
{:server=>"#<TCPServer:fd 10, AF_INET6, ::1, 35490>", :t=>45917010.30510591},
:in_start_server_before_accept=>{:t=>45917010.305154555},
:in_tcp_socket=>
{:host=>"::1",
:port=>35490,
:server=>"#<TCPServer:fd 10, AF_INET6, ::1, 35490>",
:t=>45917010.40560127},
:in_start_server=>
{:sock_addr=>["AF_INET6", 35490, "::1", "::1"],
:sock_peeraddr=>["AF_INET6", 51584, "::1", "::1"],
:t=>45917010.40767231},
:in_start_server_sock_closed=>{:t=>45917010.40770047},
:in_rescue=>
{:e=>#<Errno::EINVAL: Invalid argument - connect(2) for [::1]:35490>,
:server_addr=>"::1",
:t=>45917010.40867455}}
>.
```
|
|
|
|
|
|
...to reflect that Net::HTTP.start accepts keep_alive_timeout as an option.
Notes:
Merged: https://github.com/ruby/ruby/pull/3185
|
|
linked list.
See <https://bugs.ruby-lang.org/issues/16814> for more details.
Notes:
Merged: https://github.com/ruby/ruby/pull/3182
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
'require'
https://github.com/rubygems/rubygems/commit/5995394ec4
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
https://github.com/rubygems/rubygems/commit/d490309d75
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
Since `rake package` started printing to stdout by default, we get these
warnings printed when running rubygems tests:
```
$ rake
Run options: --seed 6097
# Running:
...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................mkdir -p pkg
mkdir -p pkg/pkgr-1.2.3
rm -f pkg/pkgr-1.2.3/x
ln x pkg/pkgr-1.2.3/x
rm -f pkg/pkgr-1.2.3/y
ln y pkg/pkgr-1.2.3/y
cd pkg/pkgr-1.2.3
cd -
....
Finished in 50.578889s, 43.0812 runs/s, 134.8191 assertions/s.
2179 runs, 6819 assertions, 0 failures, 0 errors, 0 skips
Coverage report generated for Unit Tests to /home/deivid/Code/rubygems/coverage. 8080 / 8978 LOC (90.0%) covered.
```
The reason is that, although these tests wrap the
`Rake.application["package"].invoke` with a `capture_io` block, the rake
application initialization happens outside of this block, and a copy of
`$stdout` is saved in there, and that's where the task prints. So the
`capture_io` `$stdout` and `$stderr` dance is not effective.
To fix, we move the `Rake` application initialization inside the
`capture_io` block.
https://github.com/rubygems/rubygems/commit/7f6e2398a5
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
https://github.com/rubygems/rubygems/commit/f4fe949dfa
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
https://github.com/rubygems/rubygems/commit/55b09a7aa2
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
https://github.com/rubygems/rubygems/commit/32c7f7f484
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
It's not so basic anymore, and it does much more than validating
required fields.
https://github.com/rubygems/rubygems/commit/3c0be4cdeb
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
https://github.com/rubygems/rubygems/commit/3a44b6f846
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
https://github.com/rubygems/rubygems/commit/c87ac90528
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
https://github.com/rubygems/rubygems/commit/b4948bda74
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
- this would keep the could-be-a-string-method matches few
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
https://github.com/rubygems/rubygems/commit/f3da3c1190
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
* JRuby doesn't support multi-line -e.
https://github.com/rubygems/rubygems/commit/1fb6657a7d
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
default gems
* Test that the correct version is loaded and that the default gem is
not loaded at all.
https://github.com/rubygems/rubygems/commit/ee08508b2a
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
* But not enforce that error looks like
/full/path/to/ruby/bin/ruby: No such file or directory
but instead allow
truffleruby: No such file or directory
A typical output for gem_make.out looks like:
current directory: /.../rubygems/tmp/test_rubygems_112388/gemhome/gems/a-2
/.../ruby-2.6.6/bin/ruby -I /.../rubygems/lib -r ./siteconf20200422-112388-nyrcy0.rb extconf.rb ''
/.../ruby-2.6.6/bin/ruby: No such file or directory -- extconf.rb (LoadError)
https://github.com/rubygems/rubygems/commit/e6e08882cc
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
* When testing in the rubygems/rubygems repository, the previous code would
move the lib/ dir at the end of $LOAD_PATH, which would cause to load
a mix of lib/ RubyGems and in-stdlib-dir RubyGems, which blows up.
https://github.com/rubygems/rubygems/commit/f6f6f00ed1
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
test_activate_via_require_respects_loaded_files does and tests
* Clearly require the benchmark stdlib instead of far away in test_case.rb
https://github.com/rubygems/rubygems/commit/d74b9ca04c
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
https://github.com/rubygems/rubygems/commit/382642a0d4
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
The code is quite different now, so I think the link might be even
confusing. If you want to know more, use git history.
https://github.com/rubygems/rubygems/commit/db872c7a18
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
In the cases where the initial manually `-I` path resolution succeeded,
we were passing a full path to the original require effectively skipping
the `$LOADED_FEATURES` cache. With this change, we _only_ do the
resolution when a matching requirable path is found in a default gem. In
that case, we skip activation of the default gem if we detect that the
required file will be picked up for a `-I` path.
https://github.com/rubygems/rubygems/commit/22ad5717c3
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
https://github.com/rubygems/rubygems/commit/da1492e9d7
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
https://github.com/rubygems/rubygems/commit/ae95885dff
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
Our check for `-I` paths should not go through all activated gems.
https://github.com/rubygems/rubygems/commit/00d98eb8a3
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
Currently we get the following warnings on `ruby setup.rb`:
```
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/exceptions.rb:281: warning: already initialized constant Gem::UnsatisfiableDepedencyError
/home/deivid/Code/rubygems/lib/rubygems/exceptions.rb:281: warning: previous definition of UnsatisfiableDepedencyError was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/user_interaction.rb:557: warning: already initialized constant Gem::StreamUI::ThreadedDownloadReporter::MUTEX
/home/deivid/Code/rubygems/lib/rubygems/user_interaction.rb:557: warning: previous definition of MUTEX was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/ext/builder.rb:20: warning: already initialized constant Gem::Ext::Builder::CHDIR_MUTEX
/home/deivid/Code/rubygems/lib/rubygems/ext/builder.rb:20: warning: previous definition of CHDIR_MUTEX was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/ext/ext_conf_builder.rb:14: warning: already initialized constant Gem::Ext::ExtConfBuilder::FileEntry
/home/deivid/Code/rubygems/lib/rubygems/ext/ext_conf_builder.rb:14: warning: previous definition of FileEntry was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/version.rb:158: warning: already initialized constant Gem::Version::VERSION_PATTERN
/home/deivid/Code/rubygems/lib/rubygems/version.rb:158: warning: previous definition of VERSION_PATTERN was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/version.rb:159: warning: already initialized constant Gem::Version::ANCHORED_VERSION_PATTERN
/home/deivid/Code/rubygems/lib/rubygems/version.rb:159: warning: previous definition of ANCHORED_VERSION_PATTERN was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:14: warning: already initialized constant Gem::Requirement::OPS
/home/deivid/Code/rubygems/lib/rubygems/requirement.rb:14: warning: previous definition of OPS was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:24: warning: already initialized constant Gem::Requirement::SOURCE_SET_REQUIREMENT
/home/deivid/Code/rubygems/lib/rubygems/requirement.rb:24: warning: previous definition of SOURCE_SET_REQUIREMENT was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:27: warning: already initialized constant Gem::Requirement::PATTERN_RAW
/home/deivid/Code/rubygems/lib/rubygems/requirement.rb:27: warning: previous definition of PATTERN_RAW was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:32: warning: already initialized constant Gem::Requirement::PATTERN
/home/deivid/Code/rubygems/lib/rubygems/requirement.rb:32: warning: previous definition of PATTERN was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:37: warning: already initialized constant Gem::Requirement::DefaultRequirement
/home/deivid/Code/rubygems/lib/rubygems/requirement.rb:37: warning: previous definition of DefaultRequirement was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:42: warning: already initialized constant Gem::Requirement::DefaultPrereleaseRequirement
/home/deivid/Code/rubygems/lib/rubygems/requirement.rb:42: warning: previous definition of DefaultPrereleaseRequirement was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:311: warning: already initialized constant Gem::Version::Requirement
/home/deivid/Code/rubygems/lib/rubygems/requirement.rb:311: warning: previous definition of Requirement was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/command.rb:626: warning: already initialized constant Gem::Command::HELP
/home/deivid/Code/rubygems/lib/rubygems/command.rb:626: warning: previous definition of HELP was here
Successfully built RubyGem
Name: bundler
Version: 2.2.0.dev
File: bundler-2.2.0.dev.gem
Bundler 2.2.0.dev installed
RubyGems 3.2.0.pre1 installed
Regenerating binstubs
Regenerating plugins
------------------------------------------------------------------------------
RubyGems installed the following executables:
/home/deivid/.rbenv/versions/2.7.1/bin/gem
/home/deivid/.rbenv/versions/2.7.1/bin/bundle
```
This is because the `$LOAD_PATH` entry added by `setup.rb` is relatively
and when the offending require happens, we're installing `bundler` and
have switched folders to `bundler/`. So the require fallsback to the
system rubygems.
To avoid that, add an absolute path to the `$LOAD_PATH`.
On jruby, somehow the $LOAD_PATH is manipulated so that we end up
requiring stuff inside the built package even if we have specified the
`-I` flag, so we get redefinition warnings anyways.
I'm not sure about the root cause, but relative requiring fixes it, and
it's faster anyways.
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
in warning.
https://github.com/rubygems/rubygems/commit/5e31e1a421
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
but rake is not specified as dependency.
https://github.com/rubygems/rubygems/commit/75fe5475b6
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
- In one of the cases, filenames were checked for ending with "gz" -
this is changed to check for ending with ".gz"
- The change was made to make it even easier to read the code, and to
match only from the start of the input (as opposed to start of the
line)
https://github.com/rubygems/rubygems/commit/aac4290271
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
https://github.com/rubygems/rubygems/commit/10cc79ee21
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
https://github.com/rubygems/rubygems/commit/a82a77251d
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
https://github.com/rubygems/rubygems/commit/97772bb066
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
https://github.com/rubygems/rubygems/commit/e6cabc3f1e
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
https://github.com/rubygems/rubygems/commit/5e6d82b1f2
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
https://github.com/rubygems/rubygems/commit/73c199b087
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
If the following conditions are met:
* You have a default version of fileutils and a higher version of
fileutils installed as a regular gem. This case is common on ruby 2.6.
* You use a bundler generated binstub on a gem setup with a `Gemfile`
using the `gemspec` DSL.
Then `fileutils` redefinition warnings happen because of the following:
The gist of a bundler generated binstub is:
```ruby
require "bundler/setup"
load Gem.bin_path("rake", "rake")
```
First configure bundler, then load the requested gem.
When `require "bundler/setup"` is called under the previously mentioned
setup, `ext_conf_builder.rb` ends up being required because of the new
validation that gemspecs with rake extensions depend on `rake`. And that
loads the latest version of `fileutils` because of using "rubygems
monkeypatched require" that auto-chooses the latest version of default
gems.
After that, when `Gem.bin_path` gets called, `ext_conf_builder.rb` gets
required again, but this time already using "bundler's unmonkeypatched
require" which means the default version is chosen and thus the
redefinition warning happens.
The solution as usual is to lazily load `fileutils`.
https://github.com/rubygems/rubygems/commit/08d64e5f06
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|
|
The logging to $stderr is only happening due to a bug in `FileUtils`.
Logging messages are not errors.
https://github.com/rubygems/rubygems/commit/4d1b6659e6
Notes:
Merged: https://github.com/ruby/ruby/pull/3184
|