aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd/update-report.rb
diff options
context:
space:
mode:
authorMike McQuaid2016-09-16 13:51:21 +0100
committerMike McQuaid2016-09-16 13:51:56 +0100
commite3609b6fd4001523679562c33064e17d03e1534f (patch)
tree6864f57a269e237c0d1cad531b457b5de0346e5e /Library/Homebrew/cmd/update-report.rb
parent53713593d677cb916402742940d14bfc7e60a5a4 (diff)
downloadbrew-e3609b6fd4001523679562c33064e17d03e1534f.tar.bz2
Move LinkedKegs/PinnedKegs/Locks from Library.
These don't make sense to be tied to the `HOMEBREW_REPOSITORY` but instead should live in the `HOMEBREW_PREFIX` as they all relate to its state.
Diffstat (limited to 'Library/Homebrew/cmd/update-report.rb')
-rw-r--r--Library/Homebrew/cmd/update-report.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/Library/Homebrew/cmd/update-report.rb b/Library/Homebrew/cmd/update-report.rb
index c068d02ee..fa82c875d 100644
--- a/Library/Homebrew/cmd/update-report.rb
+++ b/Library/Homebrew/cmd/update-report.rb
@@ -75,6 +75,7 @@ module Homebrew
end
migrate_legacy_cache_if_necessary
+ migrate_legacy_keg_symlinks_if_necessary
if !updated
if !ARGV.include?("--preinstall") && !ENV["HOMEBREW_UPDATE_FAILED"]
@@ -167,6 +168,24 @@ module Homebrew
end
end
+ def migrate_legacy_keg_symlinks_if_necessary
+ legacy_linked_kegs = HOMEBREW_LIBRARY/"LinkedKegs"
+ return unless legacy_linked_kegs.directory?
+
+ legacy_linked_kegs.children.each {|f| Keg.new(f.realpath).link }
+ FileUtils.rm_rf legacy_linked_kegs
+
+ legacy_pinned_kegs = HOMEBREW_LIBRARY/"PinnedKegs"
+ return unless legacy_pinned_kegs.directory?
+
+ legacy_pinned_kegs.children.each do |f|
+ pin_version = Keg.new(f.realpath).version
+ formula = Formulary.factory(f.basename.to_s)
+ FormulaPin.new(formula).pin_at(pin_version)
+ end
+ FileUtils.rm_rf legacy_pinned_kegs
+ end
+
def link_completions_and_docs
return if HOMEBREW_PREFIX.to_s == HOMEBREW_REPOSITORY.to_s
command = "brew update"