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"
|
legacy_linked_kegs = HOMEBREW_LIBRARY/"LinkedKegs"
|
||||||
return unless legacy_linked_kegs.directory?
|
return unless legacy_linked_kegs.directory?
|
||||||
|
|
||||||
legacy_linked_kegs.children.each do |f|
|
legacy_linked_kegs.children.each do |link|
|
||||||
keg = Keg.new(f.realpath)
|
name = link.basename
|
||||||
keg.unlink
|
src = begin
|
||||||
keg.link
|
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
|
end
|
||||||
FileUtils.rm_rf legacy_linked_kegs
|
FileUtils.rm_rf legacy_linked_kegs
|
||||||
|
|
||||||
legacy_pinned_kegs = HOMEBREW_LIBRARY/"PinnedKegs"
|
legacy_pinned_kegs = HOMEBREW_LIBRARY/"PinnedKegs"
|
||||||
return unless legacy_pinned_kegs.directory?
|
return unless legacy_pinned_kegs.directory?
|
||||||
|
|
||||||
legacy_pinned_kegs.children.each do |f|
|
legacy_pinned_kegs.children.each do |link|
|
||||||
pin_version = Keg.new(f.realpath).version
|
name = link.basename
|
||||||
formula = Formulary.factory(f.basename.to_s)
|
src = link.realpath
|
||||||
pin = FormulaPin.new(formula)
|
dst = HOMEBREW_PINNED_KEGS/name
|
||||||
pin.unpin
|
FileUtils.ln_sf(src.relative_path_from(dst.parent), dst)
|
||||||
pin.pin_at(pin_version)
|
|
||||||
end
|
end
|
||||||
FileUtils.rm_rf legacy_pinned_kegs
|
FileUtils.rm_rf legacy_pinned_kegs
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user