Serious regression in multiprocess_exec()
cover Serious regression in multiprocess_exec()
This fixes a serious regression in multiprocess_exec() which prevented it from returning anything. This caused package_do_filedeps() in package.bbclass to no longer add any runtime dependencies based on what oe.package.filedeprunner() was supposed to return...
Since the change to multiprocess_exec() will _not_ trigger do_package to be rerun for the affected packages, I have also included a small typo correction to a comment in do_package so its sstate is invalidated.
The following changes since commit c16795477ea7e2159b5d3808268912b572887e2d:
qemu: add PACKAGECONFIG for numa (2014-08-27 12:13:38 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib pkj/multiprocess_exec
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=pkj/multiprocess_exec
Peter Kjellerstedt (2):
lib/oe/utils: Make multiprocess_exec() return anything
package: Correct two typos in a comment
meta/classes/package.bbclass | 6 +++--- meta/lib/oe/utils.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-)
Signature · 1 line
1.9.0
PATCH 1/2 lib/oe/utils: Make multiprocess_exec() return anything
The variable "results" was accidentally used for multiple different things at the same time, which unintentionally discarded anything that was supposed to be returned from the function...
--- meta/lib/oe/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
meta/lib/oe/utils.py +2 -2
@@ -167,11 +167,11 @@ def multiprocess_exec(commands, function): imap = pool.imap(function, commands) try: - results = list(imap) + res = list(imap) pool.close() pool.join() results = [] - for result in results: + for result in res: if result is not None: results.append(result) return results
Signature · 1 line
1.9.0
PATCH 2/2 package: Correct two typos in a comment
In reply to Peter KjellerstedtThis quite coincidentally invalidates the sstate for do_package which is needed due to the correction of oe.utils.multiprocess_exec().
--- meta/classes/package.bbclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
meta/classes/package.bbclass +3 -3
@@ -1930,9 +1930,9 @@ python do_package () { # Optimisations ########################################################################### - # Contunually rexpanding complex expressions is inefficient, particularly when - # we write to the datastore and invalidate the expansion cache. This code - # pre-expands some frequently used variables + # Continually expanding complex expressions is inefficient, particularly + # when we write to the datastore and invalidate the expansion cache. This + # code pre-expands some frequently used variables def expandVar(x, d): d.setVar(x, d.getVar(x, True))
Signature · 1 line
1.9.0