summaryrefslogtreecommitdiff
path: root/meta/classes/sstate.bbclass
diff options
context:
space:
mode:
authorMartin Jansa <martin.jansa@gmail.com>2012-12-04 02:31:15 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-12-05 15:34:01 +0000
commitd84f7d7a12b4271f7b2bfde9fb356d750abff15d (patch)
tree211ff2e356b91cbe4f8fc62759c17179af6ab24b /meta/classes/sstate.bbclass
parentacdd76482efc3caf80e9e0b7359be7ca724ae09a (diff)
downloadopenembedded-core-d84f7d7a12b4271f7b2bfde9fb356d750abff15d.tar.gz
openembedded-core-d84f7d7a12b4271f7b2bfde9fb356d750abff15d.tar.bz2
openembedded-core-d84f7d7a12b4271f7b2bfde9fb356d750abff15d.zip
sstate.bbclass: fix detection of owners matching sstate files
* without this patch: Python 2.7.3 >>> sstate_search_cmd = "grep -rl /OE/jansa-test/shr-core/tmp-eglibc/pkgdata/armv7a-vfp-neon-oe-linux-gnueabi/runtime-reverse/vim-common /OE/jansa-test/shr-core/tmp-eglibc/sstate-control --exclude=master.list | sed -e 's:^.*/::' -e 's:\.populate-sysroot::'" >>> cmd_array = sstate_search_cmd.split(' ') >>> search_output = subprocess.Popen(cmd_array, stdout=subprocess.PIPE).communicate()[0] grep: |: No such file or directory grep: sed: No such file or directory * Adding shell=True and using cmd string instead of array makes it work: >>> search_output = subprocess.Popen(sstate_search_cmd, shell=True, stdout=subprocess.PIPE).communicate()[0] >>> print search_output manifest-armv7a-vfp-neon-gvim.package manifest-armv7a-vfp-neon-vim-tiny.package manifest-armv7a-vfp-neon-vim.package But still isn't 100% reliable, I guess it's caused by some other package being removed from sstate while grep is already running. So sometimes grep can show error on STDERR >>> search_output = subprocess.Popen(sstate_search_cmd, shell=True, stdout=subprocess.PIPE).communicate()[0] grep: /OE/jansa-test/shr-core/tmp-eglibc/sstate-control/manifest-armv7a-vfp-neon-systemtap.package: No such file or directory Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/sstate.bbclass')
-rw-r--r--meta/classes/sstate.bbclass3
1 files changed, 1 insertions, 2 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 967ae9b559..832b39e7ee 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -169,8 +169,7 @@ def sstate_install(ss, d):
if realmatch:
match.append(f)
sstate_search_cmd = "grep -rl %s %s --exclude=master.list | sed -e 's:^.*/::' -e 's:\.populate-sysroot::'" % (f, d.expand("${SSTATE_MANIFESTS}"))
- cmd_array = sstate_search_cmd.split(' ')
- search_output = subprocess.Popen(cmd_array, stdout=subprocess.PIPE).communicate()[0]
+ search_output = subprocess.Popen(sstate_search_cmd, shell=True, stdout=subprocess.PIPE).communicate()[0]
if search_output != "":
match.append("Matched in %s" % search_output.rstrip())
if match: