diff options
| author | Mike McQuaid | 2013-03-10 17:03:17 +0000 |
|---|---|---|
| committer | Mike McQuaid | 2013-03-11 18:26:25 +0000 |
| commit | bf0a97b79c40f3635232e2c75298c43cb6d71a1d (patch) | |
| tree | bd176fa413d0cc1f027aa64ce7fdd704591e0376 /Library/Homebrew | |
| parent | 6c32a0d075a975e33a7b02d736c537869cd54a9a (diff) | |
| download | homebrew-bf0a97b79c40f3635232e2c75298c43cb6d71a1d.tar.bz2 | |
Add with_system_path to run using system PATHs.
Needed for Linux compatibility.
Diffstat (limited to 'Library/Homebrew')
| -rw-r--r-- | Library/Homebrew/download_strategy.rb | 6 | ||||
| -rw-r--r-- | Library/Homebrew/extend/fileutils.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/utils.rb | 8 |
3 files changed, 12 insertions, 4 deletions
diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb index f814f5d5b..008fcc1bc 100644 --- a/Library/Homebrew/download_strategy.rb +++ b/Library/Homebrew/download_strategy.rb @@ -88,12 +88,12 @@ class CurlDownloadStrategy < AbstractDownloadStrategy case @tarball_path.compression_type when :zip - quiet_safe_system '/usr/bin/unzip', {:quiet_flag => '-qq'}, @tarball_path + with_system_path { quiet_safe_system 'unzip', {:quiet_flag => '-qq'}, @tarball_path } chdir when :gzip, :bzip2, :compress, :tar # Assume these are also tarred # TODO check if it's really a tar archive - safe_system '/usr/bin/tar', 'xf', @tarball_path + with_system_path { safe_system 'tar', 'xf', @tarball_path } chdir when :xz raise "You must install XZutils: brew install xz" unless which "xz" @@ -178,7 +178,7 @@ end class GzipOnlyDownloadStrategy < CurlDownloadStrategy def stage FileUtils.mv @tarball_path, File.basename(@url) - safe_system '/usr/bin/gunzip', '-f', File.basename(@url) + with_system_path { safe_system 'gunzip', '-f', File.basename(@url) } end end diff --git a/Library/Homebrew/extend/fileutils.rb b/Library/Homebrew/extend/fileutils.rb index 231d3b769..30ab584c3 100644 --- a/Library/Homebrew/extend/fileutils.rb +++ b/Library/Homebrew/extend/fileutils.rb @@ -14,7 +14,7 @@ module FileUtils extend self # /tmp volume to the other volume. So we let the user override the tmp # prefix if they need to. tmp = ENV['HOMEBREW_TEMP'].chuzzle || '/tmp' - tempd = `/usr/bin/mktemp -d #{tmp}/#{name}-XXXX`.chuzzle + tempd = with_system_path { `mktemp -d #{tmp}/#{name}-XXXX` }.chuzzle raise "Failed to create sandbox" if tempd.nil? prevd = pwd cd tempd diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index 955c1e8f2..a6b093acc 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -99,6 +99,14 @@ module Homebrew end end +def with_system_path + old_path = ENV['PATH'] + ENV['PATH'] = '/usr/bin:/bin' + yield +ensure + ENV['PATH'] = old_path +end + # Kernel.system but with exceptions def safe_system cmd, *args unless Homebrew.system cmd, *args |
