migrator: check if old_opt_record exist before using realpath

- check if old_opt_record exist before using realpath
- don’t check old_opt_record.exist? in link_old_opt
  because it doesn’t have to exist.
This commit is contained in:
Vlad Shablinsky 2015-08-12 16:13:10 +03:00 committed by Xu Cheng
parent 3c45e1e81d
commit 2c1d8bcf65

View File

@ -223,7 +223,7 @@ class Migrator
# Link keg to opt if it was linked before migrating. # Link keg to opt if it was linked before migrating.
def link_oldname_opt def link_oldname_opt
if old_opt_record if old_opt_record
old_opt_record.delete if old_opt_record.symlink? || old_opt_record.exist? old_opt_record.delete if old_opt_record.symlink?
old_opt_record.make_relative_symlink(formula.installed_prefix) old_opt_record.make_relative_symlink(formula.installed_prefix)
end end
end end
@ -241,7 +241,8 @@ class Migrator
# Remove opt/oldname link if it belongs to newname. # Remove opt/oldname link if it belongs to newname.
def unlink_oldname_opt def unlink_oldname_opt
return unless old_opt_record return unless old_opt_record
if old_opt_record.symlink? && formula.installed_prefix.exist? \ if (old_opt_record.symlink? && old_opt_record.exist?) \
&& formula.installed_prefix.exist? \
&& formula.installed_prefix.realpath == old_opt_record.realpath && formula.installed_prefix.realpath == old_opt_record.realpath
old_opt_record.unlink old_opt_record.unlink
old_opt_record.parent.rmdir_if_possible old_opt_record.parent.rmdir_if_possible