rubygems 2.7.5 fails to execute "bundle"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
rubygems-integration (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
I have replicated the problem on Ubuntu 16.04, Ubuntu 12.04 and in Docker environment and in few different ruby versions.
It appears rubygems-
Steps to reproduce and more details can be found here: https:/
Disabling the monkeypatch via "DEBIAN_
Downgrade of rubygems to 2.7.4 fixes the issue too.
I'm attaching a Dockerfile, running the container will crash. Uncomment the "ENV DEBIAN_
I'm not sure what's the best approach here as I don't understand what problems the rubygems-
Thanks for your time!
Rob
ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: rubygems-
ProcVersionSign
Uname: Linux 4.13.0-32-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.15
Architecture: amd64
CurrentDesktop: Unity
Date: Tue Feb 13 16:48:39 2018
InstallationDate: Installed on 2017-10-27 (109 days ago)
InstallationMedia: Ubuntu 16.04.3 LTS "Xenial Xerus" - Release amd64 (20170801)
PackageArchitec
SourcePackage: rubygems-
UpgradeStatus: No upgrade log present (probably fresh install)
I just looked into this and it looks like the issue is being caused by a change from https:/ /launchpadlibra rian.net/ 230675272/ rubygems- integration_ 1.9_1.10. diff.gz. The issue is the change to `lib/rubygems/ defaults/ operating_ system. rb` which aliases `default_ specifications_ dir` to `upstream_ default_ specifications_ dir`. I'm not sure why the change was made but the `upstream_ specifications_ dir` is what is causing rubygems to look for the gem executables in `/usr/`. If you look at https:/ /github. com/rubygems/ rubygems/ blob/2ed01b8715 2cb5ebec3ae934d ca50a1609ea2ebd /lib/rubygems/ specification. rb#L889, you can see that it uses `default_ specifications_ dir` to figure out where to load the gems from with `Gem::Specifica tion.load` in `Gem::Specifica tion.each_ spec`.
As I said before I don't know the backstory for this change but changing that, or the default that's being set for `upstream_ specifications_ dir` seem to be the potential fixes.