diff options
| author | Jack Nagel | 2014-06-27 16:20:17 -0500 |
|---|---|---|
| committer | Jack Nagel | 2014-06-27 16:20:17 -0500 |
| commit | bb12a2e111f22c74525dbdad710961c3e8416a4c (patch) | |
| tree | 0bef3937e7ffebbffe7bac8b66c4152e569b4475 /Library | |
| parent | 495657552b1c251a0d22ae90fdf0f58f2558eabf (diff) | |
| download | homebrew-bb12a2e111f22c74525dbdad710961c3e8416a4c.tar.bz2 | |
Use the keg object to manipulate the linked keg record
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/formula_installer.rb | 9 | ||||
| -rw-r--r-- | Library/Homebrew/keg.rb | 10 |
2 files changed, 10 insertions, 9 deletions
diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index 61d7608cb..d07fea759 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -546,14 +546,13 @@ class FormulaInstaller end def link - if f.linked_keg.directory? and f.linked_keg.resolved_path == f.prefix + keg = Keg.new(f.prefix) + + if keg.linked? opoo "This keg was marked linked already, continuing anyway" - # otherwise Keg.link will bail - f.linked_keg.unlink + keg.remove_linked_keg_record end - keg = Keg.new(f.prefix) - begin keg.link rescue Keg::ConflictError => e diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb index bc96f5356..ffe34a80c 100644 --- a/Library/Homebrew/keg.rb +++ b/Library/Homebrew/keg.rb @@ -180,16 +180,18 @@ class Keg end end - if linked? - linked_keg_record.unlink - linked_keg_record.parent.rmdir_if_possible - end + remove_linked_keg_record if linked? dirs.reverse_each(&:rmdir_if_possible) ObserverPathnameExtension.total end + def remove_linked_keg_record + linked_keg_record.unlink + linked_keg_record.parent.rmdir_if_possible + end + def lock FormulaLock.new(name).with_lock { yield } end |
