aboutsummaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRaul Martins <raulgildons@gmail.com>2018-12-12 05:38:19 -0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-12-15 17:10:44 +0000
commit0d3ca08347eb0c8b9615a0197c213a32f52033c8 (patch)
treed81d3ccaa55bad54f30ac8027b8fca1de314b1e8 /meta
parentce6bf125aba7344d56368885605949e373b06393 (diff)
downloadopenembedded-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>
Diffstat (limited to 'meta')
-rw-r--r--meta/lib/oe/rootfs.py18
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())