diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2012-05-29 22:53:06 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-05-30 10:56:15 +0100 |
commit | a07d03cc6f67c88feb9813ae7deb6e4a93552dfe (patch) | |
tree | d95be4dce79dfdce785d92b18f82dfa656a529f4 | |
parent | b1ea93143a473f006b31ab22f88baf41661971a7 (diff) | |
download | openembedded-core-a07d03cc6f67c88feb9813ae7deb6e4a93552dfe.tar.gz openembedded-core-a07d03cc6f67c88feb9813ae7deb6e4a93552dfe.tar.bz2 openembedded-core-a07d03cc6f67c88feb9813ae7deb6e4a93552dfe.zip |
meta: replace os.system with subprocess.call
Replace os.system with subprocess.call since the older function would
fail (more or less) silently if the executed program cannot be found
More info:
http://docs.python.org/library/subprocess.html#subprocess-replacements
[YOCTO #2454]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/archiver.bbclass | 3 | ||||
-rw-r--r-- | meta/classes/distrodata.bbclass | 5 | ||||
-rw-r--r-- | meta/classes/imagetest-qemu.bbclass | 9 | ||||
-rw-r--r-- | meta/classes/insane.bbclass | 15 | ||||
-rw-r--r-- | meta/classes/kernel.bbclass | 4 | ||||
-rw-r--r-- | meta/classes/package.bbclass | 33 | ||||
-rw-r--r-- | meta/classes/package_deb.bbclass | 3 | ||||
-rw-r--r-- | meta/classes/package_ipk.bbclass | 13 | ||||
-rw-r--r-- | meta/classes/package_tar.bbclass | 6 | ||||
-rw-r--r-- | meta/classes/sanity.bbclass | 13 | ||||
-rw-r--r-- | meta/classes/sstate.bbclass | 9 | ||||
-rw-r--r-- | meta/lib/oe/distro_check.py | 3 | ||||
-rw-r--r-- | meta/recipes-core/uclibc/uclibc.inc | 7 | ||||
-rw-r--r-- | meta/recipes-extended/cups/cups14.inc | 3 |
14 files changed, 74 insertions, 52 deletions
diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass index ac8aa957e3..67eac84314 100644 --- a/meta/classes/archiver.bbclass +++ b/meta/classes/archiver.bbclass @@ -362,6 +362,7 @@ def dumpdata(d): def create_diff_gz(d): '''creating .diff.gz in ${DEPLOY_DIR_SRC}/${P}-${PR}.diff.g gz for mapping all content in 's' including patches to xxx.diff.gz''' import shutil + import subprocess work_dir = d.getVar('WORKDIR', True) exclude_from = d.getVar('ARCHIVE_EXCLUDE_FROM', True).split() @@ -387,7 +388,7 @@ def create_diff_gz(d): try: shutil.copy(i, dest) except IOError: - os.system('fakeroot cp -rf ' + i + " " + dest ) + subprocess.call('fakeroot cp -rf ' + i + " " + dest, shell=True) bb.note("Creating .diff.gz in ${DEPLOY_DIR_SRC}/${P}-${PR}.diff.gz") cmd = "LC_ALL=C TZ=UTC0 diff --exclude-from=" + work_dir + "/temp/exclude-from-file -Naur " + s + '.org' + ' ' + s + " | gzip -c > " + diff_file diff --git a/meta/classes/distrodata.bbclass b/meta/classes/distrodata.bbclass index 4b2dee5b10..df6d300666 100644 --- a/meta/classes/distrodata.bbclass +++ b/meta/classes/distrodata.bbclass @@ -231,6 +231,7 @@ python do_checkpkg() { import sys import re import tempfile + import subprocess """ sanity check to ensure same name and type. Match as many patterns as possible @@ -373,7 +374,7 @@ python do_checkpkg() { f.close() if status != "ErrHostNoDir" and re.match("Err", status): logpath = d.getVar('LOG_DIR', True) - os.system("cp %s %s/" % (f.name, logpath)) + subprocess.call("cp %s %s/" % (f.name, logpath), shell=True) os.unlink(f.name) return status @@ -432,7 +433,7 @@ python do_checkpkg() { """if host hasn't directory information, no need to save tmp file""" if status != "ErrHostNoDir" and re.match("Err", status): logpath = d.getVar('LOG_DIR', True) - os.system("cp %s %s/" % (f.name, logpath)) + subprocess.call("cp %s %s/" % (f.name, logpath), shell=True) os.unlink(f.name) return status diff --git a/meta/classes/imagetest-qemu.bbclass b/meta/classes/imagetest-qemu.bbclass index d56b44b5c4..f51eeba98c 100644 --- a/meta/classes/imagetest-qemu.bbclass +++ b/meta/classes/imagetest-qemu.bbclass @@ -28,6 +28,7 @@ def qemuimagetest_main(d): import re import os import shutil + import subprocess """ Test Controller for automated testing. @@ -58,7 +59,7 @@ def qemuimagetest_main(d): logpath = d.getVar('TEST_LOG', True) bb.utils.mkdirhier("%s/%s" % (logpath, scen)) caselog = os.path.join(logpath, "%s/log_%s.%s" % (scen, case, d.getVar('DATETIME', True))) - os.system("touch %s" % caselog) + subprocess.call("touch %s" % caselog, shell=True) """export TEST_TMP, TEST_RESULT, DEPLOY_DIR and QEMUARCH""" os.environ["PATH"] = d.getVar("PATH", True) @@ -78,7 +79,7 @@ def qemuimagetest_main(d): """run Test Case""" bb.note("Run %s test in scenario %s" % (case, scen)) - os.system("%s" % fulltestpath) + subprocess.call("%s" % fulltestpath, shell=True) """function to check testcase list and remove inappropriate cases""" def check_list(list): @@ -168,7 +169,7 @@ def qemuimagetest_main(d): test_status = d.getVar('TEST_STATUS', True) if os.path.exists(test_status): os.remove(test_status) - os.system("touch %s" % test_status) + subprocess.call("touch %s" % test_status, shell=True) """initialize result file""" resultpath = d.getVar('TEST_RESULT', True) @@ -180,7 +181,7 @@ def qemuimagetest_main(d): if os.path.exists(sresultfile): os.remove(sresultfile) - os.system("touch %s" % resultfile) + subprocess.call("touch %s" % resultfile, shell=True) os.symlink(resultfile, sresultfile) f = open(sresultfile, "a") f.write("\tTest Result for %s %s\n" % (machine, pname)) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 49e904a27f..4d139e813f 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -267,6 +267,7 @@ def package_qa_check_unsafe_references_in_scripts(path, name, d, elf, messages): if not elf: import stat + import subprocess pn = d.getVar('PN', True) # Ensure we're checking an executable script @@ -275,7 +276,7 @@ def package_qa_check_unsafe_references_in_scripts(path, name, d, elf, messages): # grep shell scripts for possible references to /exec_prefix/ exec_prefix = d.getVar('exec_prefix', True) statement = "grep -e '%s/' %s > /dev/null" % (exec_prefix, path) - if os.system(statement) == 0: + if subprocess.call(statement, shell=True) == 0: error_msg = pn + ": Found a reference to %s/ in %s" % (exec_prefix, path) package_qa_handle_error("unsafe-references-in-scripts", error_msg, d) error_msg = "Shell scripts in base_bindir and base_sbindir should not reference anything in exec_prefix" @@ -609,6 +610,8 @@ def package_qa_check_rdepends(pkg, pkgdest, skip, d): # The PACKAGE FUNC to scan each package python do_package_qa () { + import subprocess + bb.note("DO PACKAGE QA") logdir = d.getVar('T', True) @@ -619,7 +622,7 @@ python do_package_qa () { if os.path.exists(compilelog): statement = "grep -e 'CROSS COMPILE Badness:' -e 'is unsafe for cross-compilation' %s > /dev/null" % compilelog - if os.system(statement) == 0: + if subprocess.call(statement, shell=True) == 0: bb.warn("%s: The compile log indicates that host include and/or library paths were used.\n \ Please check the log '%s' for more information." % (pkg, compilelog)) @@ -628,7 +631,7 @@ python do_package_qa () { if os.path.exists(installlog): statement = "grep -e 'CROSS COMPILE Badness:' -e 'is unsafe for cross-compilation' %s > /dev/null" % installlog - if os.system(statement) == 0: + if subprocess.call(statement, shell=True) == 0: bb.warn("%s: The install log indicates that host include and/or library paths were used.\n \ Please check the log '%s' for more information." % (pkg, installlog)) @@ -684,6 +687,8 @@ python do_qa_staging() { } python do_qa_configure() { + import subprocess + configs = [] workdir = d.getVar('WORKDIR', True) bb.note("Checking autotools environment for common misconfiguration") @@ -691,7 +696,7 @@ python do_qa_configure() { statement = "grep -e 'CROSS COMPILE Badness:' -e 'is unsafe for cross-compilation' %s > /dev/null" % \ os.path.join(root,"config.log") if "config.log" in files: - if os.system(statement) == 0: + if subprocess.call(statement, shell=True) == 0: bb.fatal("""This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities. Rerun configure task after fixing this. The path was '%s'""" % root) @@ -713,7 +718,7 @@ Rerun configure task after fixing this. The path was '%s'""" % root) if gt not in deps: for config in configs: gnu = "grep \"^[[:space:]]*AM_GNU_GETTEXT\" %s >/dev/null" % config - if os.system(gnu) == 0: + if subprocess.call(gnu, shell=True) == 0: bb.fatal("""%s required but not in DEPENDS for file %s. Missing inherit gettext?""" % (gt, config)) diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 90af59712c..116e10b9de 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -313,12 +313,12 @@ module_conf_rfcomm = "alias bt-proto-3 rfcomm" python populate_packages_prepend () { def extract_modinfo(file): - import tempfile, re + import tempfile, re, subprocess tempfile.tempdir = d.getVar("WORKDIR", True) tf = tempfile.mkstemp() tmpfile = tf[1] cmd = "PATH=\"%s\" %sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("PATH", True), d.getVar("HOST_PREFIX", True) or "", file, tmpfile) - os.system(cmd) + subprocess.call(cmd, shell=True) f = open(tmpfile) l = f.read().split("\000") f.close() diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 58320dd7ef..41139ef921 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -183,7 +183,7 @@ def splitfile(file, debugfile, debugsrcdir, d): # The debug information is then processed for src references. These # references are copied to debugsrcdir, if defined. - import commands, stat + import commands, stat, subprocess dvar = d.getVar('PKGD', True) pathprefix = "export PATH=%s; " % d.getVar('PATH', True) @@ -205,14 +205,14 @@ def splitfile(file, debugfile, debugsrcdir, d): # We need to extract the debug src information here... if debugsrcdir: - os.system("%s'%s' -b '%s' -d '%s' -i -l '%s' '%s'" % (pathprefix, debugedit, workparentdir, debugsrcdir, sourcefile, file)) + subprocess.call("%s'%s' -b '%s' -d '%s' -i -l '%s' '%s'" % (pathprefix, debugedit, workparentdir, debugsrcdir, sourcefile, file), shell=True) bb.mkdirhier(os.path.dirname(debugfile)) - os.system("%s'%s' --only-keep-debug '%s' '%s'" % (pathprefix, objcopy, file, debugfile)) + subprocess.call("%s'%s' --only-keep-debug '%s' '%s'" % (pathprefix, objcopy, file, debugfile), shell=True) # Set the debuglink to have the view of the file path on the target - os.system("%s'%s' --add-gnu-debuglink='%s' '%s'" % (pathprefix, objcopy, debugfile, file)) + subprocess.call("%s'%s' --add-gnu-debuglink='%s' '%s'" % (pathprefix, objcopy, debugfile, file), shell=True) if newmode: os.chmod(file, origmode) @@ -225,7 +225,7 @@ def splitfile2(debugsrcdir, d): # The debug src information processed in the splitfile2 is further procecessed # and copied to the destination here. - import commands, stat + import commands, stat, subprocess sourcefile = d.expand("${WORKDIR}/debugsources.list") if debugsrcdir and os.path.isfile(sourcefile): @@ -252,14 +252,14 @@ def splitfile2(debugsrcdir, d): processdebugsrc += "fgrep -z '%s' | " processdebugsrc += "(cd '%s' ; cpio -pd0mL --no-preserve-owner '%s%s' 2>/dev/null)" - os.system(processdebugsrc % (sourcefile, workbasedir, workparentdir, dvar, debugsrcdir)) + subprocess.call(processdebugsrc % (sourcefile, workbasedir, workparentdir, dvar, debugsrcdir), shell=True) # The copy by cpio may have resulted in some empty directories! Remove these for root, dirs, files in os.walk("%s%s" % (dvar, debugsrcdir)): for d in dirs: dir = os.path.join(root, d) #bb.note("rmdir -p %s" % dir) - os.system("rmdir -p %s 2>/dev/null" % dir) + subprocess.call("rmdir -p %s 2>/dev/null" % dir, shell=True) # Also remove debugsrcdir if its empty for p in nosuchdir[::-1]: @@ -275,14 +275,14 @@ def runstrip(file, elftype, d): # 4 - executable # 8 - shared library - import commands, stat + import commands, stat, subprocess pathprefix = "export PATH=%s; " % d.getVar('PATH', True) strip = d.getVar("STRIP", True) # Handle kernel modules specifically - .debug directories here are pointless if file.find("/lib/modules/") != -1 and file.endswith(".ko"): - return os.system("%s'%s' --strip-debug --remove-section=.comment --remove-section=.note --preserve-dates '%s'" % (pathprefix, strip, file)) + return subprocess.call("%s'%s' --strip-debug --remove-section=.comment --remove-section=.note --preserve-dates '%s'" % (pathprefix, strip, file), shell=True) newmode = None if not os.access(file, os.W_OK) or os.access(file, os.R_OK): @@ -301,7 +301,7 @@ def runstrip(file, elftype, d): stripcmd = "'%s' %s '%s'" % (strip, extraflags, file) bb.debug(1, "runstrip: %s" % stripcmd) - ret = os.system("%s%s" % (pathprefix, stripcmd)) + ret = subprocess.call("%s%s" % (pathprefix, stripcmd), shell=True) if newmode: os.chmod(file, origmode) @@ -427,6 +427,7 @@ python package_do_split_locales() { } python perform_packagecopy () { + import subprocess dest = d.getVar('D', True) dvar = d.getVar('PKGD', True) @@ -434,9 +435,9 @@ python perform_packagecopy () { # Start by package population by taking a copy of the installed # files to operate on - os.system('rm -rf %s/*' % (dvar)) + subprocess.call('rm -rf %s/*' % (dvar), shell=True) # Preserve sparse files and hard links - os.system('tar -cf - -C %s -ps . | tar -xf - -C %s' % (dest, dvar)) + subprocess.call('tar -cf - -C %s -ps . | tar -xf - -C %s' % (dest, dvar), shell=True) } # We generate a master list of directories to process, we start by @@ -668,7 +669,7 @@ python fixup_perms () { } python split_and_strip_files () { - import commands, stat, errno + import commands, stat, errno, subprocess dvar = d.getVar('PKGD', True) pn = d.getVar('PN', True) @@ -838,7 +839,7 @@ python split_and_strip_files () { os.unlink(fpath) # This could leave an empty debug directory laying around # take care of the obvious case... - os.system("rmdir %s 2>/dev/null" % os.path.dirname(fpath)) + subprocess.call("rmdir %s 2>/dev/null" % os.path.dirname(fpath), shell=True) # Process the debugsrcdir if requested... # This copies and places the referenced sources for later debugging... @@ -870,7 +871,7 @@ python split_and_strip_files () { } python populate_packages () { - import glob, stat, errno, re + import glob, stat, errno, re, subprocess workdir = d.getVar('WORKDIR', True) outdir = d.getVar('DEPLOY_DIR', True) @@ -896,7 +897,7 @@ python populate_packages () { package_list.append(pkg) d.setVar('PACKAGES', ' '.join(package_list)) pkgdest = d.getVar('PKGDEST', True) - os.system('rm -rf %s' % pkgdest) + subprocess.call('rm -rf %s' % pkgdest, shell=True) seen = [] diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass index 4096fa2b89..0a3e976ff7 100644 --- a/meta/classes/package_deb.bbclass +++ b/meta/classes/package_deb.bbclass @@ -205,6 +205,7 @@ deb_log_check() { python do_package_deb () { import re, copy import textwrap + import subprocess workdir = d.getVar('WORKDIR', True) if not workdir: @@ -384,7 +385,7 @@ python do_package_deb () { conffiles.close() os.chdir(basedir) - ret = os.system("PATH=\"%s\" dpkg-deb -b %s %s" % (localdata.getVar("PATH", True), root, pkgoutdir)) + ret = subprocess.call("PATH=\"%s\" dpkg-deb -b %s %s" % (localdata.getVar("PATH", True), root, pkgoutdir), shell=True) if ret != 0: bb.utils.prunedir(controldir) bb.utils.unlockfile(lf) diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass index 73ec0ee14e..c86ea0314d 100644 --- a/meta/classes/package_ipk.bbclass +++ b/meta/classes/package_ipk.bbclass @@ -15,6 +15,8 @@ python package_ipk_fn () { } python package_ipk_install () { + import subprocess + pkg = d.getVar('PKG', True) pkgfn = d.getVar('PKGFN', True) rootfs = d.getVar('IMAGE_ROOTFS', True) @@ -52,14 +54,14 @@ python package_ipk_install () { if not os.access(os.path.join(ipkdir,"Packages"), os.R_OK) or not os.access(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN"),os.R_OK): - ret = os.system('opkg-make-index -p %s %s ' % (os.path.join(ipkdir, "Packages"), ipkdir)) + ret = subprocess.call('opkg-make-index -p %s %s ' % (os.path.join(ipkdir, "Packages"), ipkdir), shell=True) if (ret != 0 ): raise bb.build.FuncFailed f = open(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN"),"w") f.close() - ret = os.system('opkg-cl -o %s -f %s update' % (rootfs, conffile)) - ret = os.system('opkg-cl -o %s -f %s install %s' % (rootfs, conffile, pkgfn)) + ret = subprocess.call('opkg-cl -o %s -f %s update' % (rootfs, conffile), shell=True) + ret = subprocess.call('opkg-cl -o %s -f %s install %s' % (rootfs, conffile, pkgfn), shell=True) if (ret != 0 ): raise bb.build.FuncFailed } @@ -262,6 +264,7 @@ package_generate_archlist () { python do_package_ipk () { import re, copy import textwrap + import subprocess workdir = d.getVar('WORKDIR', True) outdir = d.getVar('PKGWRITEDIRIPK', True) @@ -419,8 +422,8 @@ python do_package_ipk () { conffiles.close() os.chdir(basedir) - ret = os.system("PATH=\"%s\" %s %s %s" % (localdata.getVar("PATH", True), - d.getVar("OPKGBUILDCMD",1), pkg, pkgoutdir)) + ret = subprocess.call("PATH=\"%s\" %s %s %s" % (localdata.getVar("PATH", True), + d.getVar("OPKGBUILDCMD",1), pkg, pkgoutdir), shell=True) if ret != 0: bb.utils.unlockfile(lf) raise bb.build.FuncFailed("opkg-build execution failed") diff --git a/meta/classes/package_tar.bbclass b/meta/classes/package_tar.bbclass index 68b1bf0fed..332fa3f230 100644 --- a/meta/classes/package_tar.bbclass +++ b/meta/classes/package_tar.bbclass @@ -9,6 +9,7 @@ python package_tar_fn () { } python package_tar_install () { + import subprocess pkg = d.getVar('PKG', True) pkgfn = d.getVar('PKGFN', True) rootfs = d.getVar('IMAGE_ROOTFS', True) @@ -29,12 +30,13 @@ python package_tar_install () { bb.debug(1, "%s does not exist, skipping" % pkgfn) raise bb.build.FuncFailed - ret = os.system('zcat %s | tar -xf -' % pkgfn) + ret = subprocess.call('zcat %s | tar -xf -' % pkgfn, shell=True) if ret != 0: raise bb.build.FuncFailed } python do_package_tar () { + import subprocess workdir = d.getVar('WORKDIR', True) if not workdir: bb.error("WORKDIR not defined, unable to package") @@ -85,7 +87,7 @@ python do_package_tar () { if not glob('*'): bb.note("Not creating empty archive for %s-%s-%s" % (pkg, localdata.getVar('PKGV', True), localdata.getVar('PKGR', True))) continue - ret = os.system("tar -czf %s %s" % (tarfn, '.')) + ret = subprocess.call("tar -czf %s %s" % (tarfn, '.'), shell=True) if ret != 0: bb.error("Creation of tar %s failed." % tarfn) } diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index a2b45bcda9..df4cd0bf28 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass @@ -282,6 +282,7 @@ def check_sanity_validmachine(sanity_data): def check_sanity(sanity_data): from bb import note, error, data, __version__ + import subprocess try: from distutils.version import LooseVersion @@ -495,16 +496,16 @@ def check_sanity(sanity_data): f.write(current_abi) elif abi == "2" and current_abi == "3": bb.note("Converting staging from layout version 2 to layout version 3") - os.system(sanity_data.expand("mv ${TMPDIR}/staging ${TMPDIR}/sysroots")) - os.system(sanity_data.expand("ln -s sysroots ${TMPDIR}/staging")) - os.system(sanity_data.expand("cd ${TMPDIR}/stamps; for i in */*do_populate_staging; do new=`echo $i | sed -e 's/do_populate_staging/do_populate_sysroot/'`; mv $i $new; done")) + subprocess.call(sanity_data.expand("mv ${TMPDIR}/staging ${TMPDIR}/sysroots"), shell=True) + subprocess.call(sanity_data.expand("ln -s sysroots ${TMPDIR}/staging"), shell=True) + subprocess.call(sanity_data.expand("cd ${TMPDIR}/stamps; for i in */*do_populate_staging; do new=`echo $i | sed -e 's/do_populate_staging/do_populate_sysroot/'`; mv $i $new; done"), shell=True) f = file(abifile, "w") f.write(current_abi) elif abi == "3" and current_abi == "4": bb.note("Converting staging layout from version 3 to layout version 4") if os.path.exists(sanity_data.expand("${STAGING_DIR_NATIVE}${bindir_native}/${MULTIMACH_HOST_SYS}")): - os.system(sanity_data.expand("mv ${STAGING_DIR_NATIVE}${bindir_native}/${MULTIMACH_HOST_SYS} ${STAGING_BINDIR_CROSS}")) - os.system(sanity_data.expand("ln -s ${STAGING_BINDIR_CROSS} ${STAGING_DIR_NATIVE}${bindir_native}/${MULTIMACH_HOST_SYS}")) + subprocess.call(sanity_data.expand("mv ${STAGING_DIR_NATIVE}${bindir_native}/${MULTIMACH_HOST_SYS} ${STAGING_BINDIR_CROSS}"), shell=True) + subprocess.call(sanity_data.expand("ln -s ${STAGING_BINDIR_CROSS} ${STAGING_DIR_NATIVE}${bindir_native}/${MULTIMACH_HOST_SYS}"), shell=True) f = file(abifile, "w") f.write(current_abi) @@ -512,7 +513,7 @@ def check_sanity(sanity_data): messages = messages + "Staging layout has changed. The cross directory has been deprecated and cross packages are now built under the native sysroot.\nThis requires a rebuild.\n" elif abi == "5" and current_abi == "6": bb.note("Converting staging layout from version 5 to layout version 6") - os.system(sanity_data.expand("mv ${TMPDIR}/pstagelogs ${SSTATE_MANIFESTS}")) + subprocess.call(sanity_data.expand("mv ${TMPDIR}/pstagelogs ${SSTATE_MANIFESTS}"), shell=True) f = file(abifile, "w") f.write(current_abi) elif abi == "7" and current_abi == "8": diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index ae019379bd..4242f88544 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass @@ -145,6 +145,7 @@ def sstate_install(ss, d): def sstate_installpkg(ss, d): import oe.path + import subprocess def prepdir(dir): # remove dir if it exists, ensure any parent directories do exist @@ -195,7 +196,7 @@ def sstate_installpkg(ss, d): sstate_hardcode_cmd = "sed -e 's:^:%s:g' %s | xargs %s" % (sstateinst, fixmefn, sstate_sed_cmd) print "Replacing fixme paths in sstate package: %s" % (sstate_hardcode_cmd) - os.system(sstate_hardcode_cmd) + subprocess.call(sstate_hardcode_cmd, shell=True) # Need to remove this or we'd copy it into the target directory and may # conflict with another writer @@ -309,6 +310,8 @@ python sstate_cleanall() { } def sstate_hardcode_path(d): + import subprocess + # Need to remove hardcoded paths and fix these when we install the # staging packages. # @@ -343,14 +346,14 @@ def sstate_hardcode_path(d): sstate_hardcode_cmd = "%s | xargs %s | %s | xargs --no-run-if-empty %s" % (sstate_scan_cmd, sstate_grep_cmd, sstate_filelist_cmd, sstate_sed_cmd) print "Removing hardcoded paths from sstate package: '%s'" % (sstate_hardcode_cmd) - os.system(sstate_hardcode_cmd) + subprocess.call(sstate_hardcode_cmd, shell=True) # If the fixmefn is empty, remove it.. if os.stat(fixmefn).st_size == 0: os.remove(fixmefn) else: print "Replacing absolute paths in fixmepath file: '%s'" % (sstate_filelist_relative_cmd) - os.system(sstate_filelist_relative_cmd) + subprocess.call(sstate_filelist_relative_cmd, shell=True) def sstate_package(ss, d): import oe.path diff --git a/meta/lib/oe/distro_check.py b/meta/lib/oe/distro_check.py index cc836de38d..455135e650 100644 --- a/meta/lib/oe/distro_check.py +++ b/meta/lib/oe/distro_check.py @@ -343,6 +343,7 @@ def compare_in_distro_packages_list(distro_check_dir, d): return matching_distros def create_log_file(d, logname): + import subprocess logpath = d.getVar('LOG_DIR', True) bb.utils.mkdirhier(logpath) logfn, logsuffix = os.path.splitext(logname) @@ -351,7 +352,7 @@ def create_log_file(d, logname): slogfile = os.path.join(logpath, logname) if os.path.exists(slogfile): os.remove(slogfile) - os.system("touch %s" % logfile) + subprocess.call("touch %s" % logfile, shell=True) os.symlink(logfile, slogfile) d.setVar('LOG_FILE', logfile) return logfile diff --git a/meta/recipes-core/uclibc/uclibc.inc b/meta/recipes-core/uclibc/uclibc.inc index 55ab0c92b3..67692793dc 100644 --- a/meta/recipes-core/uclibc/uclibc.inc +++ b/meta/recipes-core/uclibc/uclibc.inc @@ -167,9 +167,10 @@ python () { "/^### ABI$/a\\\nCONFIG_%s=y\n\n" % ("${UCLIBC_ABI}")) } -do_patch_append() { - os.system("ln -sf ${STAGING_INCDIR}/linux ${S}/include/linux") - os.system("ln -sf ${STAGING_INCDIR}/asm ${S}/include/asm") +python do_patch_append() { + import subprocess + subprocess.call("ln -sf ${STAGING_INCDIR}/linux ${S}/include/linux", shell=True) + subprocess.call("ln -sf ${STAGING_INCDIR}/asm ${S}/include/asm", shell=True) } do_configure() { diff --git a/meta/recipes-extended/cups/cups14.inc b/meta/recipes-extended/cups/cups14.inc index 7c1968220d..85d8ca232f 100644 --- a/meta/recipes-extended/cups/cups14.inc +++ b/meta/recipes-extended/cups/cups14.inc @@ -57,9 +57,10 @@ fakeroot do_install () { } python do_package_append() { + import subprocess # Change permissions back the way they were, they probably had a reason... workdir = d.getVar('WORKDIR', True) - os.system('chmod 0511 %s/install/cups/var/run/cups/certs' % workdir) + subprocess.call('chmod 0511 %s/install/cups/var/run/cups/certs' % workdir, shell=True) } PACKAGES =+ "${PN}-lib ${PN}-libimage" |