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.

(From OE-Core rev: 2253e9f12734c6e6aa489942b5e4628eca1fa29d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2013-05-09 14:55:04 +00:00
parent d529c11fa5
commit b54339d633
6 changed files with 20 additions and 11 deletions

View File

@ -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:

View File

@ -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)

View File

@ -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:

View File

@ -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

View File

@ -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)

View File

@ -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)