Selaa lähdekoodia

bitbake: runqueue: Improve timestamp comparisons

python3 cares more about invalid type comparisons. Add break statements
and better tests to make the code paths clearer and avoid type issues
in python3. No code functionality change.

(Bitbake rev: 2c39ebdd2762d027f007a6a769fdf023cdf3da2b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie 9 vuotta sitten
vanhempi
commit
6cc6818068
1 muutettua tiedostoa jossa 5 lisäystä ja 1 poistoa
  1. 5 1
      bitbake/lib/bb/runqueue.py

+ 5 - 1
bitbake/lib/bb/runqueue.py

@@ -1085,15 +1085,19 @@ class RunQueue:
                 stampfile3 = bb.build.stampfile(taskname2 + "_setscene", self.rqdata.dataCache, fn2)
                 stampfile3 = bb.build.stampfile(taskname2 + "_setscene", self.rqdata.dataCache, fn2)
                 t2 = get_timestamp(stampfile2)
                 t2 = get_timestamp(stampfile2)
                 t3 = get_timestamp(stampfile3)
                 t3 = get_timestamp(stampfile3)
+                if t3 and not t2:
+                    continue
                 if t3 and t3 > t2:
                 if t3 and t3 > t2:
-                   continue
+                    continue
                 if fn == fn2 or (fulldeptree and fn2 not in stampwhitelist):
                 if fn == fn2 or (fulldeptree and fn2 not in stampwhitelist):
                     if not t2:
                     if not t2:
                         logger.debug(2, 'Stampfile %s does not exist', stampfile2)
                         logger.debug(2, 'Stampfile %s does not exist', stampfile2)
                         iscurrent = False
                         iscurrent = False
+                        break
                     if t1 < t2:
                     if t1 < t2:
                         logger.debug(2, 'Stampfile %s < %s', stampfile, stampfile2)
                         logger.debug(2, 'Stampfile %s < %s', stampfile, stampfile2)
                         iscurrent = False
                         iscurrent = False
+                        break
                     if recurse and iscurrent:
                     if recurse and iscurrent:
                         if dep in cache:
                         if dep in cache:
                             iscurrent = cache[dep]
                             iscurrent = cache[dep]