From: Raul Martins Date: Wed, 12 Dec 2018 07:38:19 +0000 (-0200) Subject: oe: Fix opkg status list parse - Missing postinst X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~15856 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0d3ca08347eb0c8b9615a0197c213a32f52033c8;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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 --- diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py index e5512d09efd..4273891699f 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())