[DRE-commits] [rubygems-integration] 01/01: Install to $HOME if not root

Antonio Terceiro terceiro at moszumanska.debian.org
Thu Aug 28 22:47:01 UTC 2014


This is an automated email from the git hooks/post-receive script.

terceiro pushed a commit to branch master
in repository rubygems-integration.

commit b9453bd63b15f69778f48610a2409ac615afe4d3
Author: Antonio Terceiro <terceiro at softwarelivre.org>
Date:   Thu Aug 28 15:14:39 2014 -0700

    Install to $HOME if not root
---
 debian/changelog                          |  3 ++-
 lib/rubygems/defaults/operating_system.rb | 17 ++++++++++++++---
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index a255e9d..4c5337f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,8 +2,9 @@ rubygems-integration (1.8) UNRELEASED; urgency=medium
 
   * Improve smoke tests in debian/tests/package-list.
     .
-    Test and gem installed together with the interpreter, one arch:all and one
+    Test a gem installed together with the interpreter, one arch:all and one
     arch:any
+  * Install to $HOME if not being run as root
 
  -- Antonio Terceiro <terceiro at debian.org>  Wed, 30 Apr 2014 11:11:12 -0300
 
diff --git a/lib/rubygems/defaults/operating_system.rb b/lib/rubygems/defaults/operating_system.rb
index b443c85..a517e02 100644
--- a/lib/rubygems/defaults/operating_system.rb
+++ b/lib/rubygems/defaults/operating_system.rb
@@ -1,15 +1,25 @@
 unless ENV['DEBIAN_DISABLE_RUBYGEMS_INTEGRATION']
 
+require 'etc'
+
 class << Gem
 
   alias :upstream_default_dir :default_dir
   def default_dir
-    File.join('/', 'var', 'lib', 'gems', Gem::ConfigMap[:ruby_version])
+    if Etc.getpwuid.uid == 0
+      File.join('/', 'var', 'lib', 'gems', Gem::ConfigMap[:ruby_version])
+    else
+      user_dir
+    end
   end
 
   alias :upstream_default_bindir :default_bindir
   def default_bindir
-    File.join('/', 'usr', 'local', 'bin')
+    if Etc.getpwuid.uid == 0
+      File.join('/', 'usr', 'local', 'bin')
+    else
+      File.join(user_dir, 'bin')
+    end
   end
 
   alias :upstream_default_path :default_path
@@ -20,10 +30,11 @@ class << Gem
     end
 
     upstream_default_path + [
+      File.join('/', 'var', 'lib', 'gems', Gem::ConfigMap[:ruby_version]),
       File.join('/usr/share/rubygems-integration', Gem::ConfigMap[:ruby_version]),
       extra_path,
       '/usr/share/rubygems-integration/all'
-    ].compact
+    ].compact.uniq
   end
 
 end

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/rubygems-integration.git



More information about the Pkg-ruby-extras-commits mailing list