diff options
author | Raul Martins <raulgildons@gmail.com> | 2018-12-12 05:38:19 -0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-12-15 17:10:44 +0000 |
commit | 0d3ca08347eb0c8b9615a0197c213a32f52033c8 (patch) | |
tree | d81d3ccaa55bad54f30ac8027b8fca1de314b1e8 | |
parent | ce6bf125aba7344d56368885605949e373b06393 (diff) | |
download | openembedded-core-contrib-0d3ca08347eb0c8b9615a0197c213a32f52033c8.tar.gz |
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 <raul.martins@alta-rt.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/lib/oe/rootfs.py | 18 |
1 files 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()) |