aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/utils.rb
diff options
context:
space:
mode:
authorMike McQuaid2016-09-17 15:09:47 +0100
committerGitHub2016-09-17 15:09:47 +0100
commit299dffd903182bd4ab65828ae2347d415de7b259 (patch)
treebb7fbfccf451566742ff6a3fe6e06d9e7bbb0570 /Library/Homebrew/utils.rb
parent224794c76188d675e05c10322f64fa9e1506b13a (diff)
parent8f1ae3b28b0a12fe4a9d905dd4c41873d1674377 (diff)
downloadbrew-299dffd903182bd4ab65828ae2347d415de7b259.tar.bz2
Merge pull request #988 from MikeMcQuaid/move-linkedkegs-migration
Move LinkedKegs migration.
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