aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2014-03-15 12:55:14 -0500
committerJack Nagel2014-03-15 12:55:14 -0500
commitad7414054cb66a4e7e567c50e90a58a52efcfca6 (patch)
tree938fad31efd2ba83fccb0e846459faf34908b860 /Library
parent7ebea8e54cfabc807e4f92e2bf3c705b24061444 (diff)
downloadhomebrew-ad7414054cb66a4e7e567c50e90a58a52efcfca6.tar.bz2
diy: warn when detected name is an alias
cf. #22778.
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cmd/diy.rb27
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