[gnome-continuous-yocto/gnomeostree-3.28-rocko: 6122/8267] bitbake: bitbake: Fix return value checks from subprocess.call()'s



commit bc9c714e8b0cccfc60aea4ad1be3a0666427a401
Author: Mikko Rapeli <mikko rapeli bmw de>
Date:   Thu Jun 1 18:51:33 2017 +0300

    bitbake: bitbake: Fix return value checks from subprocess.call()'s
    
    Python function subprocess.call() returns the return value of the
    executed process. If return values are not checked, errors may
    go unnoticed and bad things can happen.
    
    Change all callers of subprocess.call() which do not check for
    the return value to use subprocess.check_call() which raises
    CalledProcessError if the subprocess returns with non-zero value.
    
    https://docs.python.org/2/library/subprocess.html#using-the-subprocess-module
    
    All users of the function were found with:
    
    $ git grep "subprocess\.call" | \
      egrep -v 'if.*subprocess\.call|=\ +subprocess\.call|return.*subprocess\.call'
    
    Tested similar patch on top of yocto jethro. Only compile tested
    core-image-minimal on poky master branch.
    
    (Bitbake rev: d2cf67bcaf001acb6be8fc5884fb450649849847)
    
    Signed-off-by: Mikko Rapeli <mikko rapeli bmw de>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 bitbake/lib/bb/ui/ncurses.py |    2 +-
 bitbake/lib/bb/utils.py      |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/bitbake/lib/bb/ui/ncurses.py b/bitbake/lib/bb/ui/ncurses.py
index d81e413..ca845a3 100644
--- a/bitbake/lib/bb/ui/ncurses.py
+++ b/bitbake/lib/bb/ui/ncurses.py
@@ -297,7 +297,7 @@ class NCursesUI:
 #                            bb.error("log data follows (%s)" % logfile)
 #                            number_of_lines = data.getVar("BBINCLUDELOGS_LINES", d)
 #                            if number_of_lines:
-#                                subprocess.call('tail -n%s %s' % (number_of_lines, logfile), shell=True)
+#                                subprocess.check_call('tail -n%s %s' % (number_of_lines, logfile), 
shell=True)
 #                            else:
 #                                f = open(logfile, "r")
 #                                while True:
diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py
index 077fddc..6a44db5 100644
--- a/bitbake/lib/bb/utils.py
+++ b/bitbake/lib/bb/utils.py
@@ -680,7 +680,7 @@ def remove(path, recurse=False):
             if _check_unsafe_delete_path(path):
                 raise Exception('bb.utils.remove: called with dangerous path "%s" and recurse=True, refusing 
to delete!' % path)
         # shutil.rmtree(name) would be ideal but its too slow
-        subprocess.call(['rm', '-rf'] + glob.glob(path))
+        subprocess.check_call(['rm', '-rf'] + glob.glob(path))
         return
     for name in glob.glob(path):
         try:


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