Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 435874

Summary: rubygems ebuild switch to installing in /usr/local causes problems
Product: Gentoo Linux Reporter: Robert Sharp <bugzilla>
Component: New packagesAssignee: Gentoo Ruby Team <ruby>
Status: RESOLVED CANTFIX    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Robert Sharp 2012-09-22 16:03:51 UTC
It appears that recent rubygems ebuilds set the install directory and bin directory to /usr/local instead of /usr (e.g. 1.8.24). This creates problems if previous gems were installed in /usr as well as being undesirable on systems where /usr/local is used "locally". 

Problems encountered so far include 'require' searches consuming 100% CPU and taking several minutes to complete, 'gem clean' not working because it thinks gems that 'gem list' shows are not installed. It seems the only way to restore the old configuration is to put --bindir and --install-dir into /etc/gemrc ( and not in any other .gemrc), uninstall everything and start again. Also, cos clean ignores --install-dir you may also have to set GEM_HOME to the old location as well.

What would be good is a USE flag to set rubygems to /usr instead of /usr/local - or at least make it obvious in the ebuild where this is set so someone can customise it - I could not work it out at all.

I believe this change was made because someone raised a bug about rubygems over-writing things in /usr/bin. Would have been better to include a check in rubygems itself rather than work-around the problem by changing everything to /usr/local?
Comment 1 Hans de Graaff gentoo-dev Security 2012-10-25 07:12:05 UTC
I'm sorry that you've had problems with the move of installed gems from /usr to /usr/local, but this is not something that we will change or make configurable. The current situation fits with the overall idea that /usr should be managed by Gentoo, and /usr/local should be managed by the user.

It also avoids problems where gems could be installed by both rubygems and Gentoo, leading to very nasty and hard to debug problems. By clearly separating Gentoo-managed and user-managed code we avoid this problem.

I'm sorry that you had a rough upgrade path. We have had this configuration for a long time already in unstable (also for older rubygems versions) and we never got bug reports about it, so we were not aware of any remaining problems.

At this point, with the new rubygems already stable for some time, I'm not sure what we can do to fix issues here anymore because the current state won't be fully clear anymore, so I'm closing this CANTFIX.