From 133bad9a9740ab55b4158c72185c677fc1062ab2 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Wed, 2 Nov 2016 14:47:24 -0400 Subject: formulary: migrate fully-scoped formulae names. e.g. allow `brew install some/tap/formula` to look that formula up in another tap if it has been migrated. Also, add a deprecation message to point people towards the correct naming. --- Library/Homebrew/formulary.rb | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/formulary.rb b/Library/Homebrew/formulary.rb index 5ce09f6ba..4d6832e44 100644 --- a/Library/Homebrew/formulary.rb +++ b/Library/Homebrew/formulary.rb @@ -159,6 +159,11 @@ class Formulary attr_reader :tap def initialize(tapped_name) + name, path = formula_name_path(tapped_name) + super name, path + end + + def formula_name_path(tapped_name, warn: true) user, repo, name = tapped_name.split("/", 3).map(&:downcase) @tap = Tap.fetch user, repo formula_dir = @tap.formula_dir || @tap.path @@ -170,12 +175,25 @@ class Formulary name = path.basename(".rb").to_s elsif (new_name = @tap.formula_renames[name]) && (new_path = formula_dir/"#{new_name}.rb").file? + old_name = name path = new_path name = new_name + new_name = @tap.core_tap? ? name : "#{@tap}/#{name}" + elsif (new_tap_name = @tap.tap_migrations[name]) + new_tap = Tap.fetch new_tap_name + new_tap.install unless new_tap.installed? + new_tapped_name = "#{new_tap_name}/#{name}" + name, path = formula_name_path(new_tapped_name, warn: false) + old_name = tapped_name + new_name = new_tap.core_tap? ? name : new_tapped_name + end + + if warn && old_name && new_name + opoo "Use #{new_name} instead of deprecated #{old_name}" end end - super name, path + [name, path] end def get_formula(spec, alias_path: nil) -- cgit v1.2.3 From 0ca697ad2f5e937f5cd613b1a17a90b126a1a00b Mon Sep 17 00:00:00 2001 From: Zhiming Wang Date: Sun, 30 Oct 2016 20:11:45 -0400 Subject: brew.sh: communicate when autoupdate runs for long This will ease user anxiety when `brew install foo' is typed but nothing seems to happen. --- Library/Homebrew/brew.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Library/Homebrew/brew.sh b/Library/Homebrew/brew.sh index f3bb605bb..8a6ceff8f 100644 --- a/Library/Homebrew/brew.sh +++ b/Library/Homebrew/brew.sh @@ -296,6 +296,13 @@ source "$HOMEBREW_LIBRARY/Homebrew/utils/analytics.sh" setup-analytics report-analytics-screenview-command +# Let user know we're still updating Homebrew if brew update --preinstall +# exceeds 3 seconds. +update-preinstall-timer() { + sleep 3 + echo 'Updating Homebrew...' >&2 +} + update-preinstall() { [[ -z "$HOMEBREW_HELP" ]] || return [[ -z "$HOMEBREW_NO_AUTO_UPDATE" ]] || return @@ -306,7 +313,19 @@ update-preinstall() { if [[ "$HOMEBREW_COMMAND" = "install" || "$HOMEBREW_COMMAND" = "upgrade" || "$HOMEBREW_COMMAND" = "tap" ]] then + if [[ -z "$HOMEBREW_VERBOSE" ]] + then + update-preinstall-timer & + timer_pid=$! + fi + brew update --preinstall + + if [[ -n "$timer_pid" ]] + then + kill "$timer_pid" 2>/dev/null + wait "$timer_pid" 2>/dev/null + fi fi # If brew update --preinstall did a migration then export the new locations. -- cgit v1.2.3 From b35134239a22710acd680c1893fc2ad0dd9268a5 Mon Sep 17 00:00:00 2001 From: Josh Hagins Date: Fri, 4 Nov 2016 12:18:23 -0400 Subject: diagnostics: whitelist dylib installed by SentinelOne --- Library/Homebrew/diagnostic.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/Library/Homebrew/diagnostic.rb b/Library/Homebrew/diagnostic.rb index 6f53bf0e1..3a2d0d76d 100644 --- a/Library/Homebrew/diagnostic.rb +++ b/Library/Homebrew/diagnostic.rb @@ -170,6 +170,7 @@ module Homebrew "libublio.*.dylib", # NTFS-3G "libUFSDNTFS.dylib", # Paragon NTFS "libUFSDExtFS.dylib", # Paragon ExtFS + "sentinel.dylib", # SentinelOne ] __check_stray_files "/usr/local/lib", "*.dylib", white_list, <<-EOS.undent -- cgit v1.2.3 From 0904badc6fd96db324b51304495dec9cbca2dd91 Mon Sep 17 00:00:00 2001 From: Brian Dunn Date: Fri, 4 Nov 2016 14:18:23 -0500 Subject: Fix Typo --- docs/Formula-Cookbook.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Formula-Cookbook.md b/docs/Formula-Cookbook.md index 950b662ae..6657b9766 100644 --- a/docs/Formula-Cookbook.md +++ b/docs/Formula-Cookbook.md @@ -805,7 +805,7 @@ Homebrew wants to maintain a consistent Ruby style across all formulae based on ### Version detection fails -Homebrew tries to automatically determine the [`version`](http://www.rubydoc.info/github/Homebrew/brew/master/Formula#version-class_method) from the [`url`](http://www.rubydoc.info/github/Homebrew/brew/master/Formula#url-class_method) in avoid duplication. If the tarball has an unusual name you may need to manually assign the [`version`](http://www.rubydoc.info/github/Homebrew/brew/master/Formula#version-class_method). +Homebrew tries to automatically determine the [`version`](http://www.rubydoc.info/github/Homebrew/brew/master/Formula#version-class_method) from the [`url`](http://www.rubydoc.info/github/Homebrew/brew/master/Formula#url-class_method) to avoid duplication. If the tarball has an unusual name you may need to manually assign the [`version`](http://www.rubydoc.info/github/Homebrew/brew/master/Formula#version-class_method). ## Bad Makefiles -- cgit v1.2.3 From 12c252855a660b0964e08504f2087fadf1015760 Mon Sep 17 00:00:00 2001 From: ihatetoregister Date: Sat, 5 Nov 2016 00:17:02 +0100 Subject: Added a hint how to link a formula that is installed but not linked --- Library/Homebrew/cmd/install.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb index 0867e893a..dcf46e5fa 100644 --- a/Library/Homebrew/cmd/install.rb +++ b/Library/Homebrew/cmd/install.rb @@ -142,6 +142,7 @@ module Homebrew msg = "#{current.full_name}-#{current.installed_version} already installed" unless current.linked_keg.symlink? || current.keg_only? msg << ", it's just not linked" + puts "You can link formula with `brew link #{f}`" end opoo msg elsif f.migration_needed? && !ARGV.force? -- cgit v1.2.3 From 4015d0465a975aaac26d5a47395ab61e29d1702f Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sat, 5 Nov 2016 10:35:39 -0400 Subject: xcode: add checks for Xcode/CLT minimum versions. --- Library/Homebrew/os/mac/xcode.rb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Library/Homebrew/os/mac/xcode.rb b/Library/Homebrew/os/mac/xcode.rb index 9f49162d5..f081d4382 100644 --- a/Library/Homebrew/os/mac/xcode.rb +++ b/Library/Homebrew/os/mac/xcode.rb @@ -25,6 +25,17 @@ module OS end end + def minimum_version + case MacOS.version + when "10.12" then "8.0" + else "2.0" + end + end + + def minimum_version? + version < minimum_version + end + def prerelease? # TODO: bump to version >= "8.3" after Xcode 8.2 is stable. version >= "8.2" @@ -205,6 +216,17 @@ module OS end end + def minimum_version + case MacOS.version + when "10.12" then "8.0.0" + else "4.0.0" + end + end + + def minimum_version? + version < minimum_version + end + def outdated? if MacOS.version >= :mavericks version = Utils.popen_read("#{MAVERICKS_PKG_PATH}/usr/bin/clang --version") -- cgit v1.2.3 From bccd792bbffaf0c219f402d893be4c5c0d284d97 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sat, 5 Nov 2016 10:36:13 -0400 Subject: diagnostic: add checks for minimum Xcode/CLT versions. --- Library/Homebrew/extend/os/mac/diagnostic.rb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Library/Homebrew/extend/os/mac/diagnostic.rb b/Library/Homebrew/extend/os/mac/diagnostic.rb index 0ac95bfd9..883565749 100644 --- a/Library/Homebrew/extend/os/mac/diagnostic.rb +++ b/Library/Homebrew/extend/os/mac/diagnostic.rb @@ -104,6 +104,27 @@ module Homebrew EOS end + def check_xcode_minimum_version + return unless MacOS::Xcode.installed? + return unless MacOS::Xcode.minimum_version? + + <<-EOS.undent + Your Xcode (#{MacOS::Xcode.version}) is too outdated. + Please update to Xcode #{MacOS::Xcode.latest_version} (or delete it). + #{MacOS::Xcode.update_instructions} + EOS + end + + def check_clt_minimum_version + return unless MacOS::CLT.installed? + return unless MacOS::CLT.minimum_version? + + <<-EOS.undent + Your Command Line Tools are too outdated. + #{MacOS::CLT.update_instructions} + EOS + end + def check_for_osx_gcc_installer return unless MacOS.version < "10.7" || ((MacOS::Xcode.version || "0") > "4.1") return unless DevelopmentTools.clang_version == "2.1" -- cgit v1.2.3 From 6359c75a2dea3673284bc5f9b00d1ed790469e7b Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sat, 5 Nov 2016 10:36:52 -0400 Subject: os/mac/diagnostic: split some unless conditions. --- Library/Homebrew/extend/os/mac/diagnostic.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/extend/os/mac/diagnostic.rb b/Library/Homebrew/extend/os/mac/diagnostic.rb index 883565749..6649865ba 100644 --- a/Library/Homebrew/extend/os/mac/diagnostic.rb +++ b/Library/Homebrew/extend/os/mac/diagnostic.rb @@ -62,7 +62,8 @@ module Homebrew end def check_xcode_up_to_date - return unless MacOS::Xcode.installed? && MacOS::Xcode.outdated? + return unless MacOS::Xcode.installed? + return unless MacOS::Xcode.outdated? message = <<-EOS.undent Your Xcode (#{MacOS::Xcode.version}) is outdated. @@ -83,7 +84,8 @@ module Homebrew end def check_clt_up_to_date - return unless MacOS::CLT.installed? && MacOS::CLT.outdated? + return unless MacOS::CLT.installed? + return unless MacOS::CLT.outdated? <<-EOS.undent A newer Command Line Tools release is available. @@ -94,7 +96,8 @@ module Homebrew def check_xcode_8_without_clt_on_el_capitan return unless MacOS::Xcode.without_clt? # Scope this to Xcode 8 on El Cap for now - return unless MacOS.version == :el_capitan && MacOS::Xcode.version >= "8" + return unless MacOS.version == :el_capitan + return unless MacOS::Xcode.version >= "8" <<-EOS.undent You have Xcode 8 installed without the CLT; -- cgit v1.2.3 From b38f5b3e7d597fe8fa9611f142ac253b94614c88 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sat, 5 Nov 2016 10:38:39 -0400 Subject: diagnostic: only make minimum Xcode/CLT version checks fatal. Also: freeze the relevant arrays. --- Library/Homebrew/diagnostic.rb | 5 +++-- Library/Homebrew/extend/os/mac/diagnostic.rb | 19 +++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Library/Homebrew/diagnostic.rb b/Library/Homebrew/diagnostic.rb index 3a2d0d76d..23c626edd 100644 --- a/Library/Homebrew/diagnostic.rb +++ b/Library/Homebrew/diagnostic.rb @@ -86,12 +86,13 @@ module Homebrew def development_tools_checks %w[ check_for_installed_developer_tools - ] + ].freeze end def fatal_development_tools_checks %w[ - ] + ].freeze + end end def check_for_installed_developer_tools diff --git a/Library/Homebrew/extend/os/mac/diagnostic.rb b/Library/Homebrew/extend/os/mac/diagnostic.rb index 6649865ba..a60dd2d05 100644 --- a/Library/Homebrew/extend/os/mac/diagnostic.rb +++ b/Library/Homebrew/extend/os/mac/diagnostic.rb @@ -10,19 +10,18 @@ module Homebrew check_xcode_license_approved check_for_osx_gcc_installer check_xcode_8_without_clt_on_el_capitan - ] + check_xcode_up_to_date + check_clt_up_to_date + check_for_other_package_managers + ].freeze end def fatal_development_tools_checks - if MacOS.version >= :sierra && ENV["CI"].nil? - %w[ - check_xcode_up_to_date - check_clt_up_to_date - ] - else - %w[ - ] - end + %w[ + check_xcode_minimum_version + check_clt_minimum_version + ].freeze + end end def check_for_unsupported_macos -- cgit v1.2.3 From 262eaca56e9efbb21a20be2fe83af563c9b9289e Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sat, 5 Nov 2016 10:39:00 -0400 Subject: diagnostic: add build error checks. --- Library/Homebrew/diagnostic.rb | 4 ++++ Library/Homebrew/extend/os/mac/diagnostic.rb | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/Library/Homebrew/diagnostic.rb b/Library/Homebrew/diagnostic.rb index 23c626edd..63ac008f0 100644 --- a/Library/Homebrew/diagnostic.rb +++ b/Library/Homebrew/diagnostic.rb @@ -93,6 +93,10 @@ module Homebrew %w[ ].freeze end + + def build_error_checks + (development_tools_checks + %w[ + ]).freeze end def check_for_installed_developer_tools diff --git a/Library/Homebrew/extend/os/mac/diagnostic.rb b/Library/Homebrew/extend/os/mac/diagnostic.rb index a60dd2d05..0f37e8af5 100644 --- a/Library/Homebrew/extend/os/mac/diagnostic.rb +++ b/Library/Homebrew/extend/os/mac/diagnostic.rb @@ -22,6 +22,11 @@ module Homebrew check_clt_minimum_version ].freeze end + + def build_error_checks + (development_tools_checks + %w[ + check_for_unsupported_macos + ]).freeze end def check_for_unsupported_macos -- cgit v1.2.3 From 83af084079d8c334ad346ae6baf8e5135e65057a Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sat, 5 Nov 2016 10:40:07 -0400 Subject: exceptions: use specific build error checks. --- Library/Homebrew/exceptions.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/exceptions.rb b/Library/Homebrew/exceptions.rb index 7aecbe494..834ef91ac 100644 --- a/Library/Homebrew/exceptions.rb +++ b/Library/Homebrew/exceptions.rb @@ -367,8 +367,11 @@ class BuildError < RuntimeError end require "diagnostic" - unsupported_macos = Homebrew::Diagnostic::Checks.new.check_for_unsupported_macos - opoo unsupported_macos if unsupported_macos + checks = Homebrew::Diagnostic::Checks.new + checks.build_error_checks.each do |check| + next if out.nil? + ofail out + end end end -- cgit v1.2.3 From 6c9ca906af240a3112a5775c9fc6f5359a0cb537 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sat, 5 Nov 2016 10:40:23 -0400 Subject: install: only check fatal development tools checks. --- Library/Homebrew/cmd/install.rb | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb index dcf46e5fa..16639c4aa 100644 --- a/Library/Homebrew/cmd/install.rb +++ b/Library/Homebrew/cmd/install.rb @@ -223,25 +223,12 @@ module Homebrew def check_development_tools checks = Diagnostic::Checks.new - all_development_tools_checks = checks.development_tools_checks + - checks.fatal_development_tools_checks - all_development_tools_checks.each do |check| + checks.fatal_development_tools_checks.each do |check| out = checks.send(check) next if out.nil? - if checks.fatal_development_tools_checks.include?(check) - odie out - else - opoo out - end + ofail out end - end - - def check_macports - return if MacOS.macports_or_fink.empty? - - opoo "It appears you have MacPorts or Fink installed." - puts "Software installed with other package managers causes known problems for" - puts "Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again." + exit 1 if Homebrew.failed? end def check_cellar @@ -283,8 +270,5 @@ module Homebrew # another formula. In that case, don't generate an error, just move on. rescue CannotInstallFormulaError => e ofail e.message - rescue BuildError - check_macports - raise end end -- cgit v1.2.3 From c7de142800e2bc8fe169aa8bf53de88b65d5784e Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sat, 5 Nov 2016 10:58:19 -0400 Subject: os: don't tell people to report unsupported version issues. --- Library/Homebrew/os.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/os.rb b/Library/Homebrew/os.rb index b49bbff64..f6fe1eb81 100644 --- a/Library/Homebrew/os.rb +++ b/Library/Homebrew/os.rb @@ -13,7 +13,10 @@ module OS if OS.mac? require "os/mac" - ISSUES_URL = "https://git.io/brew-troubleshooting".freeze + # Don't tell people to report issues on unsupported versions of macOS. + if !OS::Mac.prerelease? && !OS::Mac.outdated_release? + ISSUES_URL = "https://git.io/brew-troubleshooting".freeze + end PATH_OPEN = "/usr/bin/open".freeze # compatibility ::MACOS_FULL_VERSION = OS::Mac.full_version.to_s.freeze -- cgit v1.2.3 From 276864ebd17685edd420b58f00970ebf384bdfc7 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sat, 5 Nov 2016 15:37:28 -0400 Subject: update-report: default Caskroom moved to prefix. Look at HOMEBREW_PREFIX rather than HOMEBREW_REPOSITORY for the default Caskroom location. --- Library/Homebrew/cmd/update-report.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/cmd/update-report.rb b/Library/Homebrew/cmd/update-report.rb index 72dcc293d..9d096c4cb 100644 --- a/Library/Homebrew/cmd/update-report.rb +++ b/Library/Homebrew/cmd/update-report.rb @@ -415,7 +415,7 @@ class Reporter # This means it is a Cask if report[:DC].include? full_name - next unless (HOMEBREW_REPOSITORY/"Caskroom"/name).exist? + next unless (HOMEBREW_PREFIX/"Caskroom"/name).exist? new_tap = Tap.fetch(new_tap_name) new_tap.install unless new_tap.installed? ohai "#{name} has been moved to Homebrew.", <<-EOS.undent @@ -442,7 +442,7 @@ class Reporter new_tap = Tap.fetch(new_tap_name) # For formulae migrated to cask: Auto-install cask or provide install instructions. if new_tap_name == "caskroom/cask" - if new_tap.installed? && (HOMEBREW_REPOSITORY/"Caskroom").directory? + if new_tap.installed? && (HOMEBREW_PREFIX/"Caskroom").directory? ohai "#{name} has been moved to Homebrew-Cask." ohai "brew uninstall --force #{name}" system HOMEBREW_BREW_FILE, "uninstall", "--force", name -- cgit v1.2.3 From a1e798d964599230800a12172aec0d70299937cd Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sat, 5 Nov 2016 15:39:25 -0400 Subject: exceptions: reorder output based on importance. --- Library/Homebrew/exceptions.rb | 51 +++++++++++++++++++++++++++++------------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/Library/Homebrew/exceptions.rb b/Library/Homebrew/exceptions.rb index 834ef91ac..3d9b24034 100644 --- a/Library/Homebrew/exceptions.rb +++ b/Library/Homebrew/exceptions.rb @@ -327,22 +327,9 @@ class BuildError < RuntimeError end def dump - if !ARGV.verbose? - puts - puts Formatter.error(Formatter.url(OS::ISSUES_URL), label: "READ THIS") - if formula.tap - case formula.tap.name - when "homebrew/boneyard" - puts "#{formula} was moved to homebrew-boneyard because it has unfixable issues." - puts "Please do not file any issues about this. Sorry!" - else - if issues_url = formula.tap.issues_url - puts "If reporting this issue please do so at (not Homebrew/brew):" - puts " #{Formatter.url(issues_url)}" - end - end - end - else + puts + + if ARGV.verbose? require "system_config" require "build_environment" @@ -360,7 +347,37 @@ class BuildError < RuntimeError puts logs.map { |fn| " #{fn}" }.join("\n") end end + + if formula.tap && formula.tap.name == "homebrew/boneyard" + onoe <<-EOS.undent + #{formula} was moved to homebrew-boneyard because it has unfixable issues. + Please do not file any issues about this. Sorry! + EOS + return + end + + if formula.tap + if formula.tap.official? + puts Formatter.error(Formatter.url(OS::ISSUES_URL), label: "READ THIS") + elsif issues_url = formula.tap.issues_url + puts <<-EOS.undent + If reporting this issue please do so at (not Homebrew/brew or Homebrew/core): + #{Formatter.url(issues_url)} + EOS + else + puts <<-EOS.undent + If reporting this issue please do so to (not Homebrew/brew or Homebrew/core): + #{formula.tap} + EOS + end + else + puts <<-EOS.undent + Do not report this issue to Homebrew/brew or Homebrew/core! + EOS + end + puts + if issues && !issues.empty? puts "These open issues may also help:" puts issues.map { |i| "#{i["title"]} #{i["html_url"]}" }.join("\n") @@ -369,7 +386,9 @@ class BuildError < RuntimeError require "diagnostic" checks = Homebrew::Diagnostic::Checks.new checks.build_error_checks.each do |check| + out = checks.send(check) next if out.nil? + puts ofail out end end -- cgit v1.2.3 From 1f6c26a2e4b97ad90e6b8623df90daf4e07086a9 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sat, 5 Nov 2016 16:13:42 -0400 Subject: software_spec: no `_or_later` in bottle filenames. It's more useful to be able to "bless" an existing bottle to be used on later OSs (e.g. where it cannot yet be built) than it is to have to create a new, identical bottle just to have a different filename. --- Library/Homebrew/extend/os/mac/utils/bottles.rb | 1 - Library/Homebrew/software_spec.rb | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/Library/Homebrew/extend/os/mac/utils/bottles.rb b/Library/Homebrew/extend/os/mac/utils/bottles.rb index 0dd7341ea..18312c9fa 100644 --- a/Library/Homebrew/extend/os/mac/utils/bottles.rb +++ b/Library/Homebrew/extend/os/mac/utils/bottles.rb @@ -38,7 +38,6 @@ module Utils # Allows a bottle tag to specify a specific OS or later, # so the same bottle can target multiple OSs. - # Not used in core, used in taps. def find_or_later_tag(tag) begin tag_version = MacOS::Version.from_symbol(tag) diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb index bb432e2dd..f368c59b5 100644 --- a/Library/Homebrew/software_spec.rb +++ b/Library/Homebrew/software_spec.rb @@ -221,7 +221,7 @@ class Bottle def initialize(name, version, tag, rebuild) @name = name @version = version - @tag = tag + @tag = tag.to_s.gsub(/_or_later$/, "") @rebuild = rebuild end -- cgit v1.2.3 From c5bd5c4aa7f0595c91431407ff5bda4b1938afc3 Mon Sep 17 00:00:00 2001 From: ilovezfs Date: Sun, 6 Nov 2016 03:46:22 -0800 Subject: bottle: improve relocatability check Given how common it is for formulae to hard-code `etc` and `var`, check for those paths (`/usr/local/etc` and `/usr/local/var`) when determing relocatability. --- Library/Homebrew/dev-cmd/bottle.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Library/Homebrew/dev-cmd/bottle.rb b/Library/Homebrew/dev-cmd/bottle.rb index b1a3ebb43..7e98f2ebb 100644 --- a/Library/Homebrew/dev-cmd/bottle.rb +++ b/Library/Homebrew/dev-cmd/bottle.rb @@ -251,6 +251,8 @@ module Homebrew relocatable = false if keg_contain?(cellar, keg, ignores) if prefix != prefix_check relocatable = false if keg_contain_absolute_symlink_starting_with?(prefix, keg) + relocatable = false if keg_contain?("#{prefix}/etc", keg, ignores) + relocatable = false if keg_contain?("#{prefix}/var", keg, ignores) end skip_relocation = relocatable && !keg.require_relocation? end -- cgit v1.2.3