[OE-core] [PATCH] package.py: log rpmdeps call

Martin Jansa martin.jansa at gmail.com
Tue Feb 18 12:27:02 UTC 2014


* I've noticed errors like this in log.do_package:

  DEBUG: Executing python function package_do_filedeps
  sh: 1: Syntax error: "(" unexpected
  sh: 1: Syntax error: "(" unexpected
  DEBUG: Python function package_do_filedeps finished

  which are actually caused by some filenames included in package
  containing '()' characters

  Maybe we should change meta/classes/package.bbclass to
  fail when some filedeprunner call fails like this and fix
  filedeprunner to escape '()' and other possibly dangerous chars
  it's called like this:
  processed = list(pool.imap(oe.package.filedeprunner, pkglist))

Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
---
 meta/lib/oe/package.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py
index 9a0ddb8..1f78a8d 100644
--- a/meta/lib/oe/package.py
+++ b/meta/lib/oe/package.py
@@ -89,7 +89,9 @@ def filedeprunner(arg):
 
         return provides, requires
 
-    dep_pipe = os.popen(rpmdeps + " " + " ".join(pkgfiles))
+    rpmdepscmd = rpmdeps + " " + " ".join(pkgfiles)
+    bb.debug(1, "runrpmdeps: %s" % rpmdepscmd)
+    dep_pipe = os.popen(rpmdepscmd)
 
     provides, requires = process_deps(dep_pipe, pkg, pkgdest, provides, requires)
 
-- 
1.8.5.3




More information about the Openembedded-core mailing list