You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by la...@apache.org on 2008/08/31 20:14:02 UTC
svn commit: r690746 - in /incubator/buildr/trunk/rakelib: package.rake
setup.rake
Author: lacton
Date: Sun Aug 31 11:14:02 2008
New Revision: 690746
URL: http://svn.apache.org/viewvc?rev=690746&view=rev
Log:
Running 'rake install' with GEM_HOME set should not require sudo privileges
Modified:
incubator/buildr/trunk/rakelib/package.rake
incubator/buildr/trunk/rakelib/setup.rake
Modified: incubator/buildr/trunk/rakelib/package.rake
URL: http://svn.apache.org/viewvc/incubator/buildr/trunk/rakelib/package.rake?rev=690746&r1=690745&r2=690746&view=diff
==============================================================================
--- incubator/buildr/trunk/rakelib/package.rake (original)
+++ incubator/buildr/trunk/rakelib/package.rake Sun Aug 31 11:14:02 2008
@@ -29,7 +29,7 @@
task 'install'=>['setup', "#{package.package_dir}/#{package.gem_file}"] do |task|
print "Installing #{spec.name} ... "
args = [Config::CONFIG['ruby_install_name'], '-S', 'gem', 'install', "#{package.package_dir}/#{package.gem_file}"]
- args.unshift('sudo') unless windows?
+ args.unshift('sudo') if sudo_needed?
sh *args
puts 'Done'
end
@@ -38,7 +38,7 @@
task 'uninstall' do |task|
print "Uninstalling #{spec.name} ... "
args = [Config::CONFIG['ruby_install_name'], '-S', 'gem', 'uninstall', spec.name, '--version', spec.version.to_s]
- args.unshift('sudo') unless windows?
+ args.unshift('sudo') if sudo_needed?
sh *args
puts 'Done'
end
Modified: incubator/buildr/trunk/rakelib/setup.rake
URL: http://svn.apache.org/viewvc/incubator/buildr/trunk/rakelib/setup.rake?rev=690746&r1=690745&r2=690746&view=diff
==============================================================================
--- incubator/buildr/trunk/rakelib/setup.rake (original)
+++ incubator/buildr/trunk/rakelib/setup.rake Sun Aug 31 11:14:02 2008
@@ -25,6 +25,11 @@
end
+def sudo_needed?
+ !windows? && (ENV['GEM_HOME'].nil?)
+end
+
+
# Finds and returns path to executable. Consults PATH environment variable.
# Returns nil if executable not found.
def which(name)
@@ -46,7 +51,7 @@
puts "Installing #{spec.full_name} ..."
args = [rb_bin, '-S', 'gem', 'install', spec.name, '-v', spec.version.to_s]
fail "Please set JAVA_HOME first #{'(no need to run as sudo)' if ENV['USER'] == 'root'}" unless ENV['JAVA_HOME']
- args.unshift('sudo', 'env', 'JAVA_HOME=' + ENV['JAVA_HOME']) unless windows? || ENV['GEM_HOME']
+ args.unshift('sudo', 'env', 'JAVA_HOME=' + ENV['JAVA_HOME']) if sudo_needed?
sh *args.map{ |a| a.inspect }.join(' ')
end
end