]> 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>
Thu, 5 Apr 2018 14:11:12 +0000 (15:11 +0100)
commitb02b54192ce71606aac30c21f3ff2199fa70a529
treed0e10f220ab171ce19c8af3babbfb373c5b9315d
parent94e21cf21f8d8adad352ef2f94d4f75e36cd843a
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.

(From OE-Core rev: f5a1013ffa9815f22e13989e2bcb83f966e7ce2c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup do to merge conflicts]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
meta/lib/oe/package_manager.py