diff options
| author | Jack Nagel | 2014-03-15 12:55:14 -0500 |
|---|---|---|
| committer | Jack Nagel | 2014-03-15 12:55:14 -0500 |
| commit | 088c774d87edafd805735a9c4b0a1a25dc11b42c (patch) | |
| tree | 5e34c1f3990d0af05104f0cc7c3ca8c1ff7080af /Library/Homebrew | |
| parent | 30b4961dde355b03fc9d53f494c7a9a8910df333 (diff) | |
| download | brew-088c774d87edafd805735a9c4b0a1a25dc11b42c.tar.bz2 | |
diy: warn when detected name is an alias
cf. Homebrew/homebrew#22778.
Diffstat (limited to 'Library/Homebrew')
| -rw-r--r-- | Library/Homebrew/cmd/diy.rb | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/Library/Homebrew/cmd/diy.rb b/Library/Homebrew/cmd/diy.rb index fa1822c0e..fa2304dda 100644 --- a/Library/Homebrew/cmd/diy.rb +++ b/Library/Homebrew/cmd/diy.rb @@ -1,3 +1,5 @@ +require "formula" + module Homebrew extend self def diy %w[name version].each do |opt| @@ -18,12 +20,8 @@ module Homebrew extend self end name = ARGV.value "name" - name ||= if ARGV.include? "--set-name" - ARGV.next - else - basename = path.basename.to_s - basename[/(.*?)-?#{Regexp.escape(version)}/, 1] || basename - end + name ||= ARGV.next if ARGV.include? "--set-name" + name ||= detected_name(path, version) prefix = HOMEBREW_CELLAR/name/version @@ -35,4 +33,21 @@ module Homebrew extend self raise "Couldn't determine build system" end end + + def detected_name(path, version) + basename = path.basename.to_s + detected_name = basename[/(.*?)-?#{Regexp.escape(version)}/, 1] || basename + canonical_name = Formula.canonical_name(detected_name) + + odie <<-EOS.undent if detected_name != canonical_name + The detected name #{detected_name.inspect} exists in Homebrew as an alias + of #{canonical_name.inspect}. Consider using the canonical name instead: + brew diy --name=#{canonical_name} + + To continue using the detected name, pass it explicitly: + brew diy --name=#{detected_name} + EOS + + detected_name + end end |
