aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Contributions/examples/brew-fetch.rb
blob: 28606e3fd07077e47c3cd6c3c9ae57ba12e588a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Downloads the tarballs for the given formulae to the Cache

require 'formula'
require 'fileutils'

ARGV.formulae.each do |f|
  if ARGV.include? "--force" or ARGV.include? "-f"
    where_to = `brew --cache #{f.name}`.strip
    FileUtils.rm_rf where_to unless where_to.empty?
  end

  the_tarball = f.downloader.fetch
  next unless the_tarball.kind_of? Pathname

  previous_md5 = f.instance_variable_get(:@md5)
  previous_sha1 = f.instance_variable_get(:@sha1)

  puts "MD5:  #{the_tarball.md5}"
  puts "SHA1: #{the_tarball.sha1}"
  puts

  unless previous_md5.nil? or the_tarball.md5 == previous_md5
    opoo "Formula reports different MD5: #{previous_md5}"
  end
  unless previous_sha1.nil? or the_tarball.sha1 == previous_sha1
    opoo "Formula reports different SHA1: #{previous_sha1}"
  end
end