Patchwork [bitbake-devel,2/2] fetch2: avoid printing "no checksum" error message twice

mail settings
Submitter Paul Eggleton
Date Dec. 20, 2013, 2:48 p.m.
Message ID <>
Download mbox | patch
Permalink /patch/63635/
State New
Headers show


Paul Eggleton - Dec. 20, 2013, 2:48 p.m.
Because of the way we were handling this error, it was printed twice -
once via logger.error() (to avoid the log being printed) and a second
time when the exception gets wrapped in a FuncFailed at a higher level.
Call logger.error() earlier and change the text we send in the
exception to be more brief, so it more closely resembles the behaviour
when there is an invalid checksum.

Signed-off-by: Paul Eggleton <>
 lib/bb/fetch2/ | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)


diff --git a/lib/bb/fetch2/ b/lib/bb/fetch2/
index 6c6915c..8fdf59c 100644
--- a/lib/bb/fetch2/
+++ b/lib/bb/fetch2/
@@ -527,10 +527,11 @@  def verify_checksum(ud, d):
         # If strict checking enabled and neither sum defined, raise error
         strict = d.getVar("BB_STRICT_CHECKSUM", True) or None
         if strict and not (ud.md5_expected or ud.sha256_expected):
-            raise NoChecksumError('No checksum specified for %s, please add at least one to the recipe:\n'
+            logger.error('No checksum specified for %s, please add at least one to the recipe:\n'
                              'SRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"' %
                              (ud.localpath, ud.md5_name, md5data,
-                              ud.sha256_name, sha256data), ud.url)
+                              ud.sha256_name, sha256data))
+            raise NoChecksumError('Missing SRC_URI checksum', ud.url)
         # Log missing sums so user can more easily add them
         if not ud.md5_expected:
@@ -1424,9 +1425,7 @@  class Fetch(object):
                 update_stamp(ud, self.d)
             except BBFetchException as e:
-                if isinstance(e, NoChecksumError):
-                    logger.error("%s" % str(e))
-                elif isinstance(e, ChecksumError):
+                if isinstance(e, ChecksumError):
                     logger.error("Checksum failure fetching %s" % u)