Merge pull request #992 from MikeMcQuaid/migrate-legacy-symlinks-harder
Improve legacy symlink migration.
This commit is contained in:
commit
5b8329b1c1
@ -625,22 +625,30 @@ 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
|
||||
legacy_linked_kegs.children.each do |link|
|
||||
name = link.basename
|
||||
src = begin
|
||||
link.realpath
|
||||
rescue Errno::ENOENT
|
||||
begin
|
||||
(HOMEBREW_PREFIX/"opt/#{name}").realpath
|
||||
rescue Errno::ENOENT
|
||||
Formulary.factory(name).installed_prefix
|
||||
end
|
||||
end
|
||||
dst = HOMEBREW_LINKED_KEGS/name
|
||||
FileUtils.ln_sf(src.relative_path_from(dst.parent), dst)
|
||||
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)
|
||||
legacy_pinned_kegs.children.each do |link|
|
||||
name = link.basename
|
||||
src = link.realpath
|
||||
dst = HOMEBREW_PINNED_KEGS/name
|
||||
FileUtils.ln_sf(src.relative_path_from(dst.parent), dst)
|
||||
end
|
||||
FileUtils.rm_rf legacy_pinned_kegs
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user