summaryrefslogtreecommitdiff
path: root/lib/rubygems
AgeCommit message (Collapse)Author
2020-07-31[rubygems/rubygems] Read path binarilyDavid Rodríguez
I believe this should fix a flaky test on Windows. https://github.com/rubygems/rubygems/commit/a516b49a0a Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Don't format executables on `gem update --system`David Rodríguez
This restores 3.0 behavior and goes back to not formatting executables by default on `gem update --system`. This is friendlier for jruby and doesn't really affect OS packagers. https://github.com/rubygems/rubygems/commit/1a504b651d Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] unset XDG_* environmental variables for testing of rubygems.Hiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/539fd9a39a Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Revert "Disallow warnings to creep into the test suite"David Rodríguez
This reverts commit 694e6afee769ffb3168a564ee7d315af2a934993. It was failed on Windows and I'm unsure why. Also, the check seems brittle since it could fail potentially fail because of warnings outside of our control. https://github.com/rubygems/rubygems/commit/908e9344dd Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Remove fileutils autoloadDavid Rodríguez
https://github.com/rubygems/rubygems/commit/dca345441f Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Remove explicit require for autoloaded constantDavid Rodríguez
https://github.com/rubygems/rubygems/commit/a54230093e Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Let more exceptions flowDavid Rodríguez
If any error happens while verifying a package entry, it doesn't mean that the package is corrupt. It could be a bug in rubygems, for example. This in fact happened in CI and the current error doesn't make it easy to troubleshoot the root cause, since it doesn't provide a backtrace. See https://github.com/rubygems/rubygems/pull/3807/checks?check_run_id=862526615. So I propose to let the exception happens. There was something useful about the previous message, which is the file entry where the error happened, so I'm keeping that information in a warning message. https://github.com/rubygems/rubygems/commit/ece87d858f Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Install plugins to user directoryNobuyoshi Nakada
Fixes the `Gem::FilePermissionError` without the privilege. Initialize `@plugins_dir` to the user gem directory, when installing with `--user` option. https://github.com/rubygems/rubygems/commit/21a71ac769 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Remove more unnecessary requiresDavid Rodríguez
Since `rubygems/util` is autoloaded. https://github.com/rubygems/rubygems/commit/52a9f88b99 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] The file is only ever required when openssl is availableDavid Rodríguez
https://github.com/rubygems/rubygems/commit/41976ef3ec Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Gem::Specification#to_ruby doesn't need `openssl`David Rodríguez
The `openssl` require when openssl not present was having the side-effect the our custom require fallbacks would end up loading `Gem::Specification.stubs`. Co-authored-by: Alyssa Ross <hi@alyssa.is> https://github.com/rubygems/rubygems/commit/22c4ded4ad Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Make sure tests at least load without opensslDavid Rodríguez
https://github.com/rubygems/rubygems/commit/054d57f74b Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Move openssl require to a separate fileDavid Rodríguez
So it can be reused. https://github.com/rubygems/rubygems/commit/b9fc6e40db Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] In the rubies we support `Exception#path` is always thereDavid Rodríguez
https://github.com/rubygems/rubygems/commit/babf943144 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Only require what we are usingDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d92b94f3cf Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Let the original error happenDavid Rodríguez
It will give more useful information. https://github.com/rubygems/rubygems/commit/efcecb5af5 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Remove unnecessary stuffDavid Rodríguez
The `rubygems/security` require already does this. https://github.com/rubygems/rubygems/commit/bbb444b6f1 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Reword warningbronzdoc
https://github.com/rubygems/rubygems/commit/cbd4abf8cf Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Warn on duplicate dependency in a specificationbronzdoc
https://github.com/rubygems/rubygems/commit/af3e5f7883 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Support PATH's using `File::ALT_SEPARATOR` in ↵David Rodríguez
`Gem::Installer` Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com> https://github.com/rubygems/rubygems/commit/710b969b60 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Move traling `if` to the same line for readablityDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d722b8b578 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Prefer the standard separator on WindowsDavid Rodríguez
It seems like the most common case since it requires no tricks on our CI environment. Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com> https://github.com/rubygems/rubygems/commit/751c475574 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] fix missing identationColby Swandale
https://github.com/rubygems/rubygems/commit/2cca6714f3 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Deduplicate the requirement operators in memoryJean Boussier
https://github.com/rubygems/rubygems/commit/9963d33cf2 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Fix Kernel#warn override to handle backtrace location ↵Jeremy Evans
with nil path It's very unlikely to hit this case, but it is possible, as Thread::Backtrace::Location#path can return nil if the location is a cfunc with no previous iseq. See location_path in vm_backtrace.c in Ruby. https://github.com/rubygems/rubygems/commit/511935645a Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Ignore internal frames in RubyGems' Kernel#warnBenoit Daloze
* See https://github.com/oracle/truffleruby/issues/2046 * `<internal:` is a common prefix also used by core Ruby files in CRuby. * test_no_kernel_require_in_*warn_with_uplevel already test this. * Unfortunately just skipping `<internal:` in the Ruby implementation is not enough, because RubyGems' #warn would not skip the `<internal:` require (TruffleRuby defines #require in Ruby), and the Ruby implementation's #warn would not skip RubyGems's #require. The #caller_locations(0) look like this: warnee.rb:1:in `<top (required)>' # where #warn is called <internal:core> core/kernel.rb:234:in `gem_original_require' # not skipped by RubyGems' warn, skipped by the Ruby impl rubygems/core_ext/kernel_require.rb:54:in `require' # not skipped by the Ruby impl's warn, what would be shown without this fix warn.rb:1:in `<main>' # what would be correct warn.rb is require "warnee" warnee.rb is puts caller_locations(0), nil warn "oops", uplevel: 1 https://github.com/rubygems/rubygems/commit/7c838f7419 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Disallow warnings to creep into the test suiteDavid Rodríguez
https://github.com/rubygems/rubygems/commit/694e6afee7 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Fix test warningDavid Rodríguez
https://github.com/rubygems/rubygems/commit/f4c4cddb68 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Don't `super` on main test setupDavid Rodríguez
The `teardown` method doesn't call it either and I don't think it's necessary. https://github.com/rubygems/rubygems/commit/ca2a5d485d Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Remove very old compatibility codeDavid Rodríguez
https://github.com/rubygems/rubygems/commit/6e4bef758b Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Extract some common code into a private methodDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d1be8cdb3a Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Remove very old TODO noteDavid Rodríguez
It was added 10 years ago on a "146 additions, 170 deletions" commit named "Deprecation removals and minor cleanup." that didn't explain much other than that. This TODO doesn't necessarily apply nowadays. I don't see how anyways. TODO notes, if useful at all, should include a clear explanation of what should be done either via the note itself or the commit message. This note doens't meet any of these. So I want to remove it because it distracts me every time I go through it. https://github.com/rubygems/rubygems/commit/58d81e8a32 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Simplify digest name selection and use SHA256Bart de Water
The previous commit introduces the Gem::Security.create_digest method, allowing to: - decouple algorithm choice from implementation (OpenSSL or Ruby built-in) - untangle the SHA512 fallback for TarWriter from the generic hashing digest choice (undoing commit 9471f8ed2bdc12248d2619bbbce6e53cd6c16cb6) https://github.com/rubygems/rubygems/commit/1bc03231e4 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31Stop using deprecated OpenSSL::Digest constantsBart de Water
Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] remove explicit require(s) for auto-loaded constant(s)Karol Bucek
the Gem module's auto-loads will handle loading these as needed, this started as a redundancy found in *rubygems.rb* which had: `autoload :Specification, 'rubygems/specification'` as well as `require 'rubygems/specification'` https://github.com/rubygems/rubygems/commit/43ceae7ac0 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31[rubygems/rubygems] Test files should not be included in spec.filesMarc-Andre Lafortune
https://github.com/rubygems/rubygems/commit/0c0760b734 Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-07-31Enforce no empty lines around class body in rubygemsDavid Rodríguez
To normalize the code style with `bundler`. Notes: Merged: https://github.com/ruby/ruby/pull/3379
2020-06-17Remove unnecessary explicit `rake` activationDavid Rodríguez
Notes: Merged: https://github.com/ruby/ruby/pull/3213
2020-06-17Remove unnecessary stuff from base test caseDavid Rodríguez
Notes: Merged: https://github.com/ruby/ruby/pull/3213
2020-06-17Tweaks to play nicer with ruby-core parallelized testsDavid Rodríguez
Notes: Merged: https://github.com/ruby/ruby/pull/3213
2020-06-17Make sure to only reset "dummy" $LOADED_FEATURESDavid Rodríguez
Namely, those generated under `/tmp`. The previous approach was brittle and broken in the case of ruby-core, because under that setup, the current folder is in the original `$LOAD_PATH`, and dummy features are created under `./tmp`, so they were failing to be reset. Notes: Merged: https://github.com/ruby/ruby/pull/3213
2020-06-17Make sure tmp folder exists before calling `Dir.tmpdir`David Rodríguez
This was guaranteed by our gitignore setup where a `tmp/` folder is always present right after cloning the repository, but was not guaranteed under the ruby-core setup. This alternative approach should always work. Notes: Merged: https://github.com/ruby/ruby/pull/3213
2020-06-17Revert "Revert "[rubygems/rubygems] Use a local temporary directory""David Rodríguez
This reverts commit 20971d0df41368e0f946683823bc786514e16fef. Notes: Merged: https://github.com/ruby/ruby/pull/3213
2020-06-17Remove unneeded codeDavid Rodríguez
This was added ~8 years to fix some json warning but I'm pretty sure it's not needed anymore. This has caused several issues in both ruby-core and rdoc test suite and it doesn't make much sense to me these days so let's kill it. Notes: Merged: https://github.com/ruby/ruby/pull/3213
2020-06-15Exit with non-zero status on disabled gem system update.Josef Šimánek
Notes: Merged: https://github.com/ruby/ruby/pull/3229
2020-06-15Add Gem.disable_system_update_message to disable gem update --system if needed.Josef Šimánek
Notes: Merged: https://github.com/ruby/ruby/pull/3229
2020-06-15Remove encoding magic commentsDavid Rodríguez
They are no longer needed since ruby 2.0. Notes: Merged: https://github.com/ruby/ruby/pull/3229
2020-06-15Deprecate `Gem::Util.silent_system`David Rodríguez
There's better tools for this job. Notes: Merged: https://github.com/ruby/ruby/pull/3229
2020-06-15Replace `Gem::Util.silent_system` with better toolsDavid Rodríguez
Notes: Merged: https://github.com/ruby/ruby/pull/3229
2020-06-15Remove random codeDavid Rodríguez
Notes: Merged: https://github.com/ruby/ruby/pull/3229