Merge branch 'master' of git://github.com/mxcl/homebrew
This commit is contained in:
commit
84493434f1
@ -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}) )
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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']
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user