diff options
| author | Jack Nagel | 2014-06-27 16:20:17 -0500 |
|---|---|---|
| committer | Jack Nagel | 2014-06-27 16:20:17 -0500 |
| commit | 982a165e52bfcaccefc9bd7492f94f1046ca53e9 (patch) | |
| tree | 2752d2ed6aa8cb707c25005fce2e2c8c02a3c63c /Library/Homebrew | |
| parent | 2de2d64907b8dbaeb16998c21b4a5ba702d84478 (diff) | |
| download | brew-982a165e52bfcaccefc9bd7492f94f1046ca53e9.tar.bz2 | |
Use the keg object to manipulate the linked keg record
Diffstat (limited to 'Library/Homebrew')
| -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 |
