From 3b56cb02ea0ede31b74172ba0aabb33ab2b22977 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Fri, 21 Jun 2013 15:42:14 -0500 Subject: [PATCH] Clean up lockfiles --- Library/Homebrew/cmd/cleanup.rb | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/cmd/cleanup.rb b/Library/Homebrew/cmd/cleanup.rb index c405c3efde..5cf7ef00ee 100644 --- a/Library/Homebrew/cmd/cleanup.rb +++ b/Library/Homebrew/cmd/cleanup.rb @@ -10,7 +10,10 @@ module Homebrew extend self if ARGV.named.empty? cleanup_cellar cleanup_cache - rm_DS_Store unless ARGV.dry_run? + unless ARGV.dry_run? + cleanup_lockfiles + rm_DS_Store + end else ARGV.formulae.each { |f| cleanup_formula(f) } end @@ -80,6 +83,14 @@ module Homebrew extend self end end + def cleanup_lockfiles + candidates = HOMEBREW_CACHE_FORMULA.children + lockfiles = candidates.select { |f| f.file? && f.extname == '.brewing' } + lockfiles.select(&:readable?).each do |file| + file.open.flock(File::LOCK_EX | File::LOCK_NB) and file.unlink + end + end + def rm_DS_Store system "find #{HOMEBREW_PREFIX} -name .DS_Store -delete 2>/dev/null" end