mirror of
https://git.yoctoproject.org/poky
synced 2026-05-09 05:29:32 +00:00
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. (From OE-Core rev: ad750dd1cc9d789abe723daddd098ce41d8547f5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user