Merge branch 'master' of git://github.com/mxcl/homebrew

This commit is contained in:
Misty De Meo 2011-12-12 09:10:52 -06:00
commit 84493434f1
5 changed files with 20 additions and 12 deletions

View File

@ -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}) )

View File

@ -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

View File

@ -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

View File

@ -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']

View File

@ -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