From 22f908d5206bbc4184ec7686593f1f04b9c9ff2f Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Wed, 7 Mar 2012 17:29:05 -0500 Subject: [PATCH] Make `brew-bottle` an internal command. --- Library/Contributions/examples/brew-bottle.rb | 34 ------------------- Library/Homebrew/cmd/bottle.rb | 34 +++++++++++++++++++ 2 files changed, 34 insertions(+), 34 deletions(-) delete mode 100755 Library/Contributions/examples/brew-bottle.rb create mode 100755 Library/Homebrew/cmd/bottle.rb diff --git a/Library/Contributions/examples/brew-bottle.rb b/Library/Contributions/examples/brew-bottle.rb deleted file mode 100755 index 63032bc4ea..0000000000 --- a/Library/Contributions/examples/brew-bottle.rb +++ /dev/null @@ -1,34 +0,0 @@ -# Builds binary brew package -require 'tab' - -ARGV.each do|formula| - # Get the latest version - version = `brew list --versions #{formula}`.split.last - - if version.nil? - onoe "Formula not installed: #{formula}" - next - end - - source = HOMEBREW_CELLAR + formula + version - filename = "#{formula}-#{version}-bottle.tar.gz" - destination = Pathname.pwd - - tab = Tab.for_keg source - if not tab.built_bottle - onoe "Formula not installed with '--build-bottle': #{formula}" - next - end - - HOMEBREW_CELLAR.cd do - ohai "Bottling #{formula} #{version}..." - # Use gzip, faster to compress than bzip2, faster to uncompress than bzip2 - # or an uncompressed tarball (and more bandwidth friendly). - safe_system 'tar', 'czf', destination/filename, "#{formula}/#{version}" - puts "./#{filename}" - puts "bottle do" - puts " url 'https://downloads.sf.net/project/machomebrew/Bottles/#{filename}'" - puts " sha1 '#{(destination/filename).sha1}'" - puts "end" - end -end diff --git a/Library/Homebrew/cmd/bottle.rb b/Library/Homebrew/cmd/bottle.rb new file mode 100755 index 0000000000..c07690a673 --- /dev/null +++ b/Library/Homebrew/cmd/bottle.rb @@ -0,0 +1,34 @@ +require 'formula' +require 'tab' + +module Homebrew extend self + def formula_bottle_name f + "#{f.name}-#{f.version}-bottle.tar.gz" + end + + def bottle_formula f + return onoe "Formula not installed: #{f.name}" unless f.installed? + return onoe "Formula not installed with '--build-bottle': #{f.name}" unless Tab.for_formula(f).built_bottle + + directory = Pathname.pwd + filename = formula_bottle_name f + + HOMEBREW_CELLAR.cd do + ohai "Bottling #{f.name} #{f.version}..." + # Use gzip, faster to compress than bzip2, faster to uncompress than bzip2 + # or an uncompressed tarball (and more bandwidth friendly). + safe_system 'tar', 'czf', directory/filename, "#{f.name}/#{f.version}" + puts "./#{filename}" + puts "bottle do" + puts " url 'https://downloads.sf.net/project/machomebrew/Bottles/#{filename}'" + puts " sha1 '#{(directory/filename).sha1}'" + puts "end" + end + end + + def bottle + ARGV.formulae.each do|f| + bottle_formula Formula.factory f + end + end +end