From 2253e9f12734c6e6aa489942b5e4628eca1fa29d Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 9 May 2013 14:55:04 +0000 Subject: classes/lib: Fix getcmdstatus breakage I mistakenly thought subprocess had getcmdstatus in python 2. It doesn't so lets add a wrapper and have this work in both worlds. Signed-off-by: Richard Purdie --- meta/classes/kernel-yocto.bbclass | 4 ++-- meta/classes/package.bbclass | 4 ++-- meta/classes/sanity.bbclass | 5 ++--- meta/lib/oe/patch.py | 4 ++-- meta/lib/oe/utils.py | 10 ++++++++++ meta/recipes-core/psplash/psplash_git.bb | 4 ++-- 6 files changed, 20 insertions(+), 11 deletions(-) (limited to 'meta') diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index c81e70e678..d513ad2b63 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -254,7 +254,7 @@ do_kernel_configme() { } python do_kernel_configcheck() { - import re, string, sys, subprocess + import re, string, sys bb.plain("NOTE: validating kernel config, see log.do_kernel_configcheck for details") @@ -265,7 +265,7 @@ python do_kernel_configcheck() { pathprefix = "export PATH=%s:%s; " % (d.getVar('PATH', True), "${S}/scripts/util/") cmd = d.expand("cd ${S}; kconf_check -config- %s/meta-series ${S} ${B}" % kmeta) - ret, result = subprocess.getstatusoutput("%s%s" % (pathprefix, cmd)) + ret, result = oe.utils.getstatusoutput("%s%s" % (pathprefix, cmd)) config_check_visibility = d.getVar( "KCONF_AUDIT_LEVEL", True ) or 1 if config_check_visibility == 1: diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 1dba185b3e..7d0684c95c 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -696,7 +696,7 @@ python fixup_perms () { } python split_and_strip_files () { - import stat, errno, subprocess + import stat, errno dvar = d.getVar('PKGD', True) pn = d.getVar('PN', True) @@ -732,7 +732,7 @@ python split_and_strip_files () { # 16 - kernel module def isELF(path): type = 0 - ret, result = subprocess.getstatusoutput("file '%s'" % path) + ret, result = oe.utils.getstatusoutput("file '%s'" % path) if ret: bb.error("split_and_strip_files: 'file %s' failed" % path) diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index 3836c0404d..1fb4a6c629 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass @@ -342,13 +342,12 @@ def check_gcc_march(sanity_data): f = open("gcc_test.c", "w") f.write("int main (){ __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4; return 0;}\n") f.close() - import subprocess # Check if GCC could work without march - status,result = subprocess.getstatusoutput("${BUILD_PREFIX}gcc gcc_test.c -o gcc_test") + status,result = oe.utils.getstatusoutput("${BUILD_PREFIX}gcc gcc_test.c -o gcc_test") if status != 0: # Check if GCC could work with march - status,result = subprocess.getstatusoutput("${BUILD_PREFIX}gcc -march=native gcc_test.c -o gcc_test") + status,result = oe.utils.getstatusoutput("${BUILD_PREFIX}gcc -march=native gcc_test.c -o gcc_test") if status == 0: result = True else: diff --git a/meta/lib/oe/patch.py b/meta/lib/oe/patch.py index 8de73a7037..244f6c5cf2 100644 --- a/meta/lib/oe/patch.py +++ b/meta/lib/oe/patch.py @@ -17,7 +17,7 @@ class CmdError(bb.BBHandledException): def runcmd(args, dir = None): - import subprocess, pipes + import pipes if dir: olddir = os.path.abspath(os.curdir) @@ -30,7 +30,7 @@ def runcmd(args, dir = None): args = [ pipes.quote(str(arg)) for arg in args ] cmd = " ".join(args) # print("cmd: %s" % cmd) - (exitstatus, output) = subprocess.getstatusoutput(cmd) + (exitstatus, output) = oe.utils.getstatusoutput(cmd) if exitstatus != 0: raise CmdError(exitstatus >> 8, output) return output diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py index ed9409613a..ec8260d9bd 100644 --- a/meta/lib/oe/utils.py +++ b/meta/lib/oe/utils.py @@ -1,3 +1,10 @@ +try: + # Python 2 + import commands as cmdstatus +except ImportError: + # Python 3 + import subprocess as cmdstatus + def read_file(filename): try: f = file( filename, "r" ) @@ -123,3 +130,6 @@ def packages_filter_out_system(d): if pkg not in blacklist and localepkg not in pkg: pkgs.append(pkg) return pkgs + +def getstatusoutput(cmd): + return cmdstatus.getstatusoutput(cmd) diff --git a/meta/recipes-core/psplash/psplash_git.bb b/meta/recipes-core/psplash/psplash_git.bb index 392fada689..fdb5e77896 100644 --- a/meta/recipes-core/psplash/psplash_git.bb +++ b/meta/recipes-core/psplash/psplash_git.bb @@ -71,7 +71,7 @@ ALTERNATIVE_PRIORITY = "100" ALTERNATIVE_LINK_NAME[psplash] = "${bindir}/psplash" python do_compile () { - import shutil, subprocess + import shutil # Build a separate executable for each splash image convertscript = "%s/make-image-header.sh" % d.getVar('S', True) @@ -80,7 +80,7 @@ python do_compile () { outputfiles = d.getVar('SPLASH_INSTALL', True).split() for localfile, outputfile in zip(localfiles, outputfiles): if localfile.endswith(".png"): - outp = subprocess.getstatusoutput('%s %s POKY' % (convertscript, localfile)) + outp = oe.utils.getstatusoutput('%s %s POKY' % (convertscript, localfile)) print(outp[1]) fbase = os.path.splitext(os.path.basename(localfile))[0] shutil.copyfile("%s-img.h" % fbase, destfile) -- cgit 1.2.3-korg