aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/utils.rb
diff options
context:
space:
mode:
authorMike McQuaid2016-09-17 15:00:46 +0100
committerMike McQuaid2016-09-17 15:00:46 +0100
commit8f1ae3b28b0a12fe4a9d905dd4c41873d1674377 (patch)
treebb7fbfccf451566742ff6a3fe6e06d9e7bbb0570 /Library/Homebrew/utils.rb
parent224794c76188d675e05c10322f64fa9e1506b13a (diff)
downloadbrew-8f1ae3b28b0a12fe4a9d905dd4c41873d1674377.tar.bz2
Move LinkedKegs migration.
Move the `LinkedKegs` migration into `utils.rb` so it can also be called from `brew.rb` on startup.
Diffstat (limited to 'Library/Homebrew/utils.rb')
-rw-r--r--Library/Homebrew/utils.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb
index 543b57e19..b3520a7ec 100644
--- a/Library/Homebrew/utils.rb
+++ b/Library/Homebrew/utils.rb
@@ -620,3 +620,27 @@ end
def link_path_manpages(path, command)
link_src_dst_dirs(path/"man", HOMEBREW_PREFIX/"share/man", command)
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 do |f|
+ keg = Keg.new(f.realpath)
+ keg.unlink
+ keg.link
+ end
+ 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)
+ pin = FormulaPin.new(formula)
+ pin.unpin
+ pin.pin_at(pin_version)
+ end
+ FileUtils.rm_rf legacy_pinned_kegs
+end