aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2014-06-30 20:16:01 -0500
committerJack Nagel2014-06-30 20:30:50 -0500
commiteae9d5c3788a1b3b8bcf35fda5fbc2010f45783e (patch)
tree823478a7a88e8efa50db4f55b0ed171ab3f55c0f
parenteaef443c4b9fb6eb3473e424c8f37fa5e022e810 (diff)
downloadhomebrew-eae9d5c3788a1b3b8bcf35fda5fbc2010f45783e.tar.bz2
Store the opt record so we don't have to keep reconstructing it
-rw-r--r--Library/Homebrew/keg.rb25
-rw-r--r--Library/Homebrew/keg_fix_install_names.rb2
2 files changed, 13 insertions, 14 deletions
diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb
index 791448e92..190630604 100644
--- a/Library/Homebrew/keg.rb
+++ b/Library/Homebrew/keg.rb
@@ -88,7 +88,7 @@ class Keg
raise NotAKegError, "#{path} is not inside a keg"
end
- attr_reader :path, :name, :linked_keg_record
+ attr_reader :path, :name, :linked_keg_record, :opt_record
protected :path
def initialize path
@@ -97,6 +97,7 @@ class Keg
@path = path
@name = path.parent.basename.to_s
@linked_keg_record = HOMEBREW_LIBRARY.join("LinkedKegs", name)
+ @opt_record = HOMEBREW_PREFIX.join("opt", name)
end
def fname
@@ -166,10 +167,9 @@ class Keg
path.rmtree
path.parent.rmdir_if_possible
- opt = HOMEBREW_PREFIX.join("opt", name)
- if opt.symlink? && path == opt.resolved_path
- opt.unlink
- opt.parent.rmdir_if_possible
+ if opt_record.symlink? && path == opt_record.resolved_path
+ opt_record.unlink
+ opt_record.parent.rmdir_if_possible
end
end
@@ -306,15 +306,14 @@ class Keg
end
def optlink
- from = HOMEBREW_PREFIX.join("opt", name)
- if from.symlink?
- from.delete
- elsif from.directory?
- from.rmdir
- elsif from.exist?
- from.delete
+ if opt_record.symlink?
+ opt_record.delete
+ elsif opt_record.directory?
+ opt_record.rmdir
+ elsif opt_record.exist?
+ opt_record.delete
end
- make_relative_symlink(from, path)
+ make_relative_symlink(opt_record, path)
end
def delete_pyc_files!
diff --git a/Library/Homebrew/keg_fix_install_names.rb b/Library/Homebrew/keg_fix_install_names.rb
index ad98f77d6..0946c9215 100644
--- a/Library/Homebrew/keg_fix_install_names.rb
+++ b/Library/Homebrew/keg_fix_install_names.rb
@@ -141,7 +141,7 @@ class Keg
if shortpath.exist? and not options[:keg_only]
shortpath.to_s
else
- HOMEBREW_PREFIX.join("opt", name, relative_dirname, basename).to_s
+ opt_record.join(relative_dirname, basename).to_s
end
end