diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-01-23 17:43:40 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-01-23 23:30:44 +0000 |
commit | ad750dd1cc9d789abe723daddd098ce41d8547f5 (patch) | |
tree | a04de472a68fb60b1a783b3065cd06f6e096a44e /meta | |
parent | da58e27a0f8fc8200f1953f05888834abd79c9f8 (diff) | |
download | openembedded-core-contrib-ad750dd1cc9d789abe723daddd098ce41d8547f5.tar.gz |
classes/oeqa: Replace subprocess.check_call() with check_output()
If you use subprocess.check_output() the traceback will contain the output
when the command fails which is very useful for debugging. There is no
good reason not to use this everywhere.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/sstate.bbclass | 4 | ||||
-rw-r--r-- | meta/classes/staging.bbclass | 6 | ||||
-rw-r--r-- | meta/classes/uninative.bbclass | 2 | ||||
-rw-r--r-- | meta/lib/oe/rootfs.py | 6 | ||||
-rw-r--r-- | meta/lib/oeqa/sdk/utils/sdkbuildproject.py | 2 | ||||
-rw-r--r-- | meta/lib/oeqa/utils/buildproject.py | 2 | ||||
-rw-r--r-- | meta/lib/oeqa/utils/targetbuild.py | 4 |
7 files changed, 13 insertions, 13 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index a767a0203b9..0fdeb9dfe8d 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass @@ -573,14 +573,14 @@ python sstate_hardcode_path () { sstate_hardcode_cmd = "%s | xargs %s | %s | xargs %s %s" % (sstate_scan_cmd, sstate_grep_cmd, sstate_filelist_cmd, xargs_no_empty_run_cmd, sstate_sed_cmd) bb.note("Removing hardcoded paths from sstate package: '%s'" % (sstate_hardcode_cmd)) - subprocess.check_call(sstate_hardcode_cmd, shell=True, cwd=sstate_builddir) + subprocess.check_output(sstate_hardcode_cmd, shell=True, cwd=sstate_builddir) # If the fixmefn is empty, remove it.. if os.stat(fixmefn).st_size == 0: os.remove(fixmefn) else: bb.note("Replacing absolute paths in fixmepath file: '%s'" % (sstate_filelist_relative_cmd)) - subprocess.check_call(sstate_filelist_relative_cmd, shell=True) + subprocess.check_output(sstate_filelist_relative_cmd, shell=True) } def sstate_package(ss, d): diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 1a4668e5d3e..fc387eaf4bb 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -290,7 +290,7 @@ def staging_processfixme(fixme, target, recipesysroot, recipesysrootnative, d): fixme_path = d.getVar(fixmevar) cmd += " -e 's:FIXME_%s:%s:g'" % (fixmevar, fixme_path) bb.note(cmd) - subprocess.check_call(cmd, shell=True) + subprocess.check_output(cmd, shell=True) def staging_populate_sysroot_dir(targetsysroot, nativesysroot, native, d): @@ -333,7 +333,7 @@ def staging_populate_sysroot_dir(targetsysroot, nativesysroot, native, d): staging_processfixme(fixme, targetdir, targetsysroot, nativesysroot, d) for p in postinsts: - subprocess.check_call(p, shell=True) + subprocess.check_output(p, shell=True) # # Manifests here are complicated. The main sysroot area has the unpacked sstate @@ -561,7 +561,7 @@ python extend_recipe_sysroot() { staging_processfixme(fixme[f], multilibs[f].getVar("RECIPE_SYSROOT"), recipesysroot, recipesysrootnative, d) for p in postinsts: - subprocess.check_call(p, shell=True) + subprocess.check_output(p, shell=True) for dep in configuredeps: c = setscenedeps[dep][0] diff --git a/meta/classes/uninative.bbclass b/meta/classes/uninative.bbclass index ba7ca63b8f8..410fb72d26e 100644 --- a/meta/classes/uninative.bbclass +++ b/meta/classes/uninative.bbclass @@ -60,7 +60,7 @@ python uninative_event_fetchloader() { os.symlink(localpath, tarballpath) cmd = d.expand("mkdir -p ${UNINATIVE_STAGING_DIR}-uninative; cd ${UNINATIVE_STAGING_DIR}-uninative; tar -xjf ${UNINATIVE_DLDIR}/%s/${UNINATIVE_TARBALL}; ${UNINATIVE_STAGING_DIR}-uninative/relocate_sdk.py ${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux ${UNINATIVE_LOADER} ${UNINATIVE_LOADER} ${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux/${bindir_native}/patchelf-uninative ${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux${base_libdir_native}/libc*.so" % chksum) - subprocess.check_call(cmd, shell=True) + subprocess.check_output(cmd, shell=True) with open(loaderchksum, "w") as f: f.write(chksum) diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py index 5b842ba46a7..9c8a0ebb7e3 100644 --- a/meta/lib/oe/rootfs.py +++ b/meta/lib/oe/rootfs.py @@ -303,10 +303,10 @@ class Rootfs(object, metaclass=ABCMeta): bb.note("> Executing %s intercept ..." % script) try: - subprocess.check_call(script_full) + subprocess.check_output(script_full) except subprocess.CalledProcessError as e: - bb.warn("The postinstall intercept hook '%s' failed (exit code: %d)! See log for details!" % - (script, e.returncode)) + bb.warn("The postinstall intercept hook '%s' failed (exit code: %d)! See log for details! (Output: %s)" % + (script, e.returncode, e.output)) with open(script_full) as intercept: registered_pkgs = None diff --git a/meta/lib/oeqa/sdk/utils/sdkbuildproject.py b/meta/lib/oeqa/sdk/utils/sdkbuildproject.py index cc34e0c9f57..4e4e5077c08 100644 --- a/meta/lib/oeqa/sdk/utils/sdkbuildproject.py +++ b/meta/lib/oeqa/sdk/utils/sdkbuildproject.py @@ -24,7 +24,7 @@ class SDKBuildProject(BuildProject): self._download_archive() cmd = 'tar xf %s%s -C %s' % (self.targetdir, self.archive, self.targetdir) - subprocess.check_call(cmd, shell=True) + subprocess.check_output(cmd, shell=True) #Change targetdir to project folder self.targetdir = os.path.join(self.targetdir, self.fname) diff --git a/meta/lib/oeqa/utils/buildproject.py b/meta/lib/oeqa/utils/buildproject.py index 386a9278818..b3c487b6c66 100644 --- a/meta/lib/oeqa/utils/buildproject.py +++ b/meta/lib/oeqa/utils/buildproject.py @@ -29,7 +29,7 @@ class BuildProject(metaclass=ABCMeta): return cmd = "wget -O %s %s" % (self.localarchive, self.uri) - subprocess.check_call(cmd, shell=True) + subprocess.check_output(cmd, shell=True) # This method should provide a way to run a command in the desired environment. @abstractmethod diff --git a/meta/lib/oeqa/utils/targetbuild.py b/meta/lib/oeqa/utils/targetbuild.py index c001602b54d..6f237b56f3d 100644 --- a/meta/lib/oeqa/utils/targetbuild.py +++ b/meta/lib/oeqa/utils/targetbuild.py @@ -45,7 +45,7 @@ class BuildProject(metaclass=ABCMeta): cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd) cmd = cmd + "wget -O %s %s" % (self.localarchive, self.uri) - subprocess.check_call(cmd, shell=True) + subprocess.check_output(cmd, shell=True) # This method should provide a way to run a command in the desired environment. @abstractmethod @@ -114,7 +114,7 @@ class SDKBuildProject(BuildProject): self._download_archive() cmd = 'tar xf %s%s -C %s' % (self.targetdir, self.archive, self.targetdir) - subprocess.check_call(cmd, shell=True) + subprocess.check_output(cmd, shell=True) #Change targetdir to project folder self.targetdir = os.path.join(self.targetdir, self.fname) |