aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rw-r--r--Library/Contributions/brew_bash_completion.sh16
-rw-r--r--Library/Homebrew/download_strategy.rb8
-rw-r--r--Library/Homebrew/extend/pathname.rb4
-rw-r--r--Library/Homebrew/global.rb2
-rw-r--r--Library/Homebrew/test/test_bucket.rb2
5 files changed, 20 insertions, 12 deletions
diff --git a/Library/Contributions/brew_bash_completion.sh b/Library/Contributions/brew_bash_completion.sh
index 028920471..355d6443f 100644
--- a/Library/Contributions/brew_bash_completion.sh
+++ b/Library/Contributions/brew_bash_completion.sh
@@ -63,11 +63,6 @@ _brew_to_completion()
# handle subcommand options
if [[ "$cur" == --* ]]; then
case "${COMP_WORDS[1]}" in
- audit)
- local opts=$([[ "${COMP_WORDS[*]}" =~ "--strict" ]] || echo "--strict")
- COMPREPLY=( $(compgen -W "$opts" -- ${cur}) )
- return
- ;;
cleanup)
local opts=$([[ "${COMP_WORDS[*]}" =~ "--force" ]] || echo "--force")
COMPREPLY=( $(compgen -W "$opts" -- ${cur}) )
@@ -205,9 +200,16 @@ _brew_to_completion()
esac
fi
- case "$prev" in
+ # find the index of the *first* non-switch word
+ # we can use this to allow completion for multiple formula arguments
+ local cmd_index=1
+ while [[ ${COMP_WORDS[cmd_index]} == -* ]]; do
+ cmd_index=$((++cmd_index))
+ done
+
+ case "${COMP_WORDS[cmd_index]}" in
# Commands that take a formula
- cat|deps|edit|fetch|home|homepage|info|install|log|missing|options|uses|versions)
+ audit|cat|deps|edit|fetch|home|homepage|info|install|log|missing|options|uses|versions)
local ff=$(\ls $(brew --repository)/Library/Formula 2> /dev/null | sed "s/\.rb//g")
local af=$(\ls $(brew --repository)/Library/Aliases 2> /dev/null | sed "s/\.rb//g")
COMPREPLY=( $(compgen -W "${ff} ${af}" -- ${cur}) )
diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb
index 58221c28f..625dbaf9a 100644
--- a/Library/Homebrew/download_strategy.rb
+++ b/Library/Homebrew/download_strategy.rb
@@ -76,8 +76,8 @@ class CurlDownloadStrategy < AbstractDownloadStrategy
# Use more than 4 characters to not clash with magicbytes
magic_bytes = "____pkg"
else
- # get the first four bytes
- File.open(@tarball_path) { |f| magic_bytes = f.read(4) }
+ # get the first six bytes
+ File.open(@tarball_path) { |f| magic_bytes = f.read(6) }
end
# magic numbers stolen from /usr/share/file/magic/
@@ -89,6 +89,10 @@ class CurlDownloadStrategy < AbstractDownloadStrategy
# TODO check if it's really a tar archive
safe_system '/usr/bin/tar', 'xf', @tarball_path
chdir
+ when /^\xFD7zXZ\x00/ # xz compressed
+ raise "You must install XZutils: brew install xz" unless system "/usr/bin/which -s xz"
+ safe_system "xz -dc #{@tarball_path} | /usr/bin/tar xf -"
+ chdir
when '____pkg'
safe_system '/usr/sbin/pkgutil', '--expand', @tarball_path, File.basename(@url)
chdir
diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb
index 65d34d450..018547ff8 100644
--- a/Library/Homebrew/extend/pathname.rb
+++ b/Library/Homebrew/extend/pathname.rb
@@ -62,9 +62,9 @@ class Pathname
return dst
end
- # extended to support the double extensions .tar.gz and .tar.bz2
+ # extended to support the double extensions .tar.gz, .tar.bz2, and .tar.xz
def extname
- /(\.tar\.(gz|bz2))$/.match to_s
+ /(\.tar\.(gz|bz2|xz))$/.match to_s
return $1 if $1
return File.extname(to_s)
end
diff --git a/Library/Homebrew/global.rb b/Library/Homebrew/global.rb
index bded21143..fda41c5d3 100644
--- a/Library/Homebrew/global.rb
+++ b/Library/Homebrew/global.rb
@@ -56,7 +56,7 @@ module Homebrew extend self
include FileUtils
end
-FORMULA_META_FILES = %w[README README.md ChangeLog COPYING LICENSE LICENCE COPYRIGHT AUTHORS]
+FORMULA_META_FILES = %w[README README.md ChangeLog CHANGES COPYING LICENSE LICENCE COPYRIGHT AUTHORS]
ISSUES_URL = "https://github.com/mxcl/homebrew/wiki/checklist-before-filing-a-new-issue"
unless ARGV.include? "--no-compat" or ENV['HOMEBREW_NO_COMPAT']
diff --git a/Library/Homebrew/test/test_bucket.rb b/Library/Homebrew/test/test_bucket.rb
index 010c06761..f328dacca 100644
--- a/Library/Homebrew/test/test_bucket.rb
+++ b/Library/Homebrew/test/test_bucket.rb
@@ -32,8 +32,10 @@ class BeerTasting < Test::Unit::TestCase
assert_nothing_raised do
MockFormula.new 'test-0.1.tar.gz'
MockFormula.new 'test-0.1.tar.bz2'
+ MockFormula.new 'test-0.1.tar.xz'
MockFormula.new 'test-0.1.tgz'
MockFormula.new 'test-0.1.bgz'
+ MockFormula.new 'test-0.1.txz'
MockFormula.new 'test-0.1.zip'
end
end