]> code.ossystems Code Review - openembedded-core.git/commit
package_manager: don't race on a file when installing complementary packages
authorRoss Burton <ross.burton@intel.com>
Tue, 18 Apr 2017 15:19:12 +0000 (16:19 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 19 Apr 2017 09:16:44 +0000 (10:16 +0100)
commitf5a1013ffa9815f22e13989e2bcb83f966e7ce2c
tree045bdaa7926b9509b285de01e979ade0fbae0d76
parent2b939cd143549a3a6fc640c7c512c4ac5c246bff
package_manager: don't race on a file when installing complementary packages

PackageManager.install_complementary() uses WORKDIR/installed_pkgs.txt as a
temporary file but if two tasks are executing for the same recipe which uses
this file (e.g. bitbake my-image my-image:do_populate_sdk) then it's possible
for the file to be overwritten or deleted.

Instead of using a static filename, use tempfile to generate a unique name and
ensure it is cleaned up when finished.

Also move the glob generation/expansion earlier in the function as if there are
no globs to install, we don't need to generate a package list.

Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/lib/oe/package_manager.py