Symlinks to StdLib provided to preserve `--disable-gems` functionality together with `require_relative` cause double loading issues [1], e.g.: ~~~ $ ruby --disable-gems -e 'require "openssl"; require "openssl/digest"' /usr/share/ruby/openssl/digest.rb:45: warning: already initialized constant OpenSSL::Digest::MD4 /usr/share/gems/gems/openssl-2.2.0/lib/openssl/digest.rb:45: warning: previous definition of MD4 was here /usr/share/ruby/openssl/digest.rb:45: warning: already initialized constant OpenSSL::Digest::MD5 /usr/share/gems/gems/openssl-2.2.0/lib/openssl/digest.rb:45: warning: previous definition of MD5 was here /usr/share/ruby/openssl/digest.rb:45: warning: already initialized constant OpenSSL::Digest::RIPEMD160 /usr/share/gems/gems/openssl-2.2.0/lib/openssl/digest.rb:45: warning: previous definition of RIPEMD160 was here /usr/share/ruby/openssl/digest.rb:45: warning: already initialized constant OpenSSL::Digest::SHA1 /usr/share/gems/gems/openssl-2.2.0/lib/openssl/digest.rb:45: warning: previous definition of SHA1 was here /usr/share/ruby/openssl/digest.rb:45: warning: already initialized constant OpenSSL::Digest::SHA224 /usr/share/gems/gems/openssl-2.2.0/lib/openssl/digest.rb:45: warning: previous definition of SHA224 was here /usr/share/ruby/openssl/digest.rb:45: warning: already initialized constant OpenSSL::Digest::SHA256 /usr/share/gems/gems/openssl-2.2.0/lib/openssl/digest.rb:45: warning: previous definition of SHA256 was here /usr/share/ruby/openssl/digest.rb:45: warning: already initialized constant OpenSSL::Digest::SHA384 /usr/share/gems/gems/openssl-2.2.0/lib/openssl/digest.rb:45: warning: previous definition of SHA384 was here /usr/share/ruby/openssl/digest.rb:45: warning: already initialized constant OpenSSL::Digest::SHA512 /usr/share/gems/gems/openssl-2.2.0/lib/openssl/digest.rb:45: warning: previous definition of SHA512 was here /usr/share/ruby/openssl/digest.rb:52:in `<class:Digest>': superclass mismatch for class Digest (TypeError) from /usr/share/ruby/openssl/digest.rb:16:in `<module:OpenSSL>' from /usr/share/ruby/openssl/digest.rb:15:in `<top (required)>' from -e:1:in `require' from -e:1:in `<main>' ~~~ We could maintain a downstream patch reverting the `require_relative`, but given that how much troubles the extracted gems cause, it'll be better to keep them bundled. This will provide similar experience to upstream and prevent similar issues. [1]: https://bugs.ruby-lang.org/issues/16978#note-11
Description
Languages
RPM Spec
60.1%
Diff
32.7%
Ruby
7.2%