Bugs item #28726, was opened at 2010-11-16 12:43 You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=575&aid=28726&group_id=126
Category: None Group: None Status: Open Resolution: None Priority: 3 Submitted By: Jeremy Evans (jeremyevans) >Assigned to: Ryan Davis (zenspider) Summary: gem install --user-install as root adds cached .gem file outside of HOME Initial Comment: I think the problem is at https://github.com/rubygems/rubygems/blob/master/lib/rubygems/remote_fetcher.rb#L80 Basically, in RemoteFetcher#download, it's checking whether the install_dir (Gem.dir by default) is writable, and if so, it uses that dir. However, if the user is using the --user-install option, even if the user is root, it should not be writing outside of HOME/.gem. Basically, if the --user-install option is given, it should always download to HOME/.gem. This may require an API change. This affects building OpenBSD ports for some gems, since the --user-install option is used (in combination with a fake HOME). Usually, building is done as a regular user and is fine. However, if the builder is root, rubygems adds the .gem files to the /usr/local/lib/ruby directory when the gem is installed to HOME/.gem. Then when the package builder goes to install the package, the cached .gem file already exists and the package install fails. This isn't a critical bug, as it can be trivially worked around by specifying GEM_HOME=$HOME/.gem in the environment when using gem install --user-install (which the OpenBSD ports system now does). ---------------------------------------------------------------------- You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=575&aid=28726&group_id=126 _______________________________________________ Rubygems-developers mailing list http://rubyforge.org/projects/rubygems Rubygems-developers@rubyforge.org http://rubyforge.org/mailman/listinfo/rubygems-developers