From 0d3ca08347eb0c8b9615a0197c213a32f52033c8 Mon Sep 17 00:00:00 2001 From: Raul Martins Date: Wed, 12 Dec 2018 05:38:19 -0200 Subject: oe: Fix opkg status list parse - Missing postinst While parsing opkg package status, last package status was not properly handled, resulting in final image without postinst and pkg depends Signed-off-by: Raul Martins Signed-off-by: Richard Purdie --- meta/lib/oe/rootfs.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py index e5512d09ef..4273891699 100644 --- a/meta/lib/oe/rootfs.py +++ b/meta/lib/oe/rootfs.py @@ -519,17 +519,29 @@ class DpkgOpkgRootfs(Rootfs): m_status = re.match("^Status:.*unpacked", line) m_depends = re.match("^Depends: (.*)", line) + #Only one of m_pkg, m_status or m_depends is not None at time + #If m_pkg is not None, we started a new package if m_pkg is not None: - if pkg_name and pkg_status_match: - pkgs[pkg_name] = _get_pkg_depends_list(pkg_depends) - + #Get Package name pkg_name = m_pkg.group(1) + #Make sure we reset other variables pkg_status_match = False pkg_depends = "" elif m_status is not None: + #New status matched pkg_status_match = True elif m_depends is not None: + #New depends macthed pkg_depends = m_depends.group(1) + else: + pass + + #Now check if we can process package depends and postinst + if "" != pkg_name and pkg_status_match: + pkgs[pkg_name] = _get_pkg_depends_list(pkg_depends) + else: + #Not enough information + pass # remove package dependencies not in postinsts pkg_names = list(pkgs.keys()) -- cgit 1.2.3-korg