From de34a403e206867e09410ad4925c7b9cff04fee6 Mon Sep 17 00:00:00 2001
From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Date: Sun, 14 Nov 2010 00:36:37 +0100
Subject: [PATCH 1/3] bb.cache: only log if the respective action was taken

This avoids alot of misleading log-messages like "Removing FOO from cache"
if FOO was not in the cache and as such is not a removal candidate.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
---
 lib/bb/cache.py |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/lib/bb/cache.py b/lib/bb/cache.py
index d1ba37a..63f218d 100644
--- a/lib/bb/cache.py
+++ b/lib/bb/cache.py
@@ -298,10 +298,12 @@ class Cache:
         if invalid:
             for cls in (multi or "").split():
                 virtualfn = self.realfn2virtual(fn, cls)
-                logger.debug(2, "Cache: Removing %s from cache", virtualfn)
-                del self.clean[virtualfn]
-            logger.debug(2, "Cache: removing %s from cache", fn)
-            del self.clean[fn]
+                if virtualfn in self.clean:
+                    logger.debug(2, "Cache: Removing %s from cache", virtualfn)
+                    del self.clean[virtualfn]
+            if fn in self.clean:
+                logger.debug(2, "Cache: Marking %s as not clean", fn)
+                del self.clean[fn]
             return False
 
         return True
@@ -311,10 +313,11 @@ class Cache:
         Remove a fn from the cache
         Called from the parser in error cases
         """
-        logger.debug(1, "Removing %s from cache", fn)
         if fn in self.depends_cache:
+            logger.debug(1, "Removing %s from cache", fn)
             del self.depends_cache[fn]
         if fn in self.clean:
+            logger.debug(1, "Marking %s as unclean", fn)
             del self.clean[fn]
 
     def sync(self):
-- 
1.7.2.3

