[gnome-continuous-yocto/gnomeostree-3.28-rocko: 3059/8267] buildstats: check IMAGE_ROOTFS exists before checking its size



commit 952a47b42cb3696db2896ac53b5246802bba0f59
Author: Mikko Ylinen <mikko ylinen intel com>
Date:   Wed Oct 19 09:34:00 2016 +0300

    buildstats: check IMAGE_ROOTFS exists before checking its size
    
    After 0d6b7276003f1afabc6de683f663540327d52bdc, the exceptions are
    correctly checked if the rootfs size check fails. In case of a
    failure a build error is triggered.
    
    However, there are cases where this is known to fail (e.g.,
    with meta-swupd the rootfs for swupd images is other than IMAGE_ROOTFS).
    
    Because of that, check IMAGE_ROOTFS exists before trying to get the
    size of it. Also, in case of any error catched as err, simply print
    out a warning.
    
    (From OE-Core rev: b4929542ff01a24bea5edd1c40e3174f55e213ff)
    
    Signed-off-by: Mikko Ylinen <mikko ylinen intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 meta/classes/buildstats.bbclass |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)
---
diff --git a/meta/classes/buildstats.bbclass b/meta/classes/buildstats.bbclass
index 8c2b7b3..599a219 100644
--- a/meta/classes/buildstats.bbclass
+++ b/meta/classes/buildstats.bbclass
@@ -163,12 +163,13 @@ python run_buildstats () {
             bs = os.path.join(bsdir, "build_stats")
             with open(bs, "a") as f:
                 rootfs = d.getVar('IMAGE_ROOTFS', True)
-                try:
-                    rootfs_size = subprocess.check_output(["du", "-sh", rootfs],
-                            stderr=subprocess.STDOUT).decode('utf-8')
-                except subprocess.CalledProcessError as e:
-                    bb.error("Failed to get rootfs size: %s" % e.output)
-                f.write("Uncompressed Rootfs size: %s" % rootfs_size)
+                if os.path.isdir(rootfs):
+                    try:
+                        rootfs_size = subprocess.check_output(["du", "-sh", rootfs],
+                                stderr=subprocess.STDOUT).decode('utf-8')
+                        f.write("Uncompressed Rootfs size: %s" % rootfs_size)
+                    except subprocess.CalledProcessError as err:
+                        bb.warn("Failed to get rootfs size: %s" % err.output.decode('utf-8'))
 
     elif isinstance(e, bb.build.TaskFailed):
         # Can have a failure before TaskStarted so need to mkdir here too


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]