From 877d38db08aa7060d16405443cf70539c559fe82 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Tue, 30 May 2017 07:48:13 +0200 Subject: package_manager: flush installed_pkgs file before oe-pkgdata-util uses it * since this commit: commit f5a1013ffa9815f22e13989e2bcb83f966e7ce2c Author: Ross Burton Date: Tue Apr 18 16:19:12 2017 +0100 package_manager: don't race on a file when installing complementary packages the file isn't closed before oe-pkgdata-util uses it and this temporary file might look empty to oe-pkgdata-util, because it wasn't flushed yet. Which resulted in almost empty debugfs tarballs and no locale packages in regular rootfs. * without this change: 124K May 30 07:41 core-image-full-cmdline-raspberrypi3-64-20170530054003-dbg.rootfs.tar.gz * with this change: 173M May 30 07:29 core-image-full-cmdline-raspberrypi3-64-20170530052715-dbg.rootfs.tar.gz Signed-off-by: Martin Jansa Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/lib/oe/package_manager.py | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py index caccd7baa9..bc4e3013f0 100644 --- a/meta/lib/oe/package_manager.py +++ b/meta/lib/oe/package_manager.py @@ -399,6 +399,7 @@ class PackageManager(object, metaclass=ABCMeta): pkgs = self.list_installed() output = oe.utils.format_pkg_list(pkgs, "arch") installed_pkgs.write(output) + installed_pkgs.flush() cmd = [bb.utils.which(os.getenv('PATH'), "oe-pkgdata-util"), "-p", self.d.getVar('PKGDATA_DIR'), "glob", installed_pkgs.name, -- cgit 1.2.3-korg