[OE-core] [PATCH v3] oe: Fix opkg status list parse - Missing postinst
Raul Martins
raulgildons at gmail.com
Wed Dec 12 07:38:19 UTC 2018
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 at alta-rt.com>
---
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 e5512d0..4273891 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())
--
2.7.4
More information about the Openembedded-core
mailing list