* [PATCH] oe: Fix opkg status list parse - Missing postinst
@ 2018-12-11 13:41 Raul Martins
0 siblings, 0 replies; only message in thread
From: Raul Martins @ 2018-12-11 13:41 UTC (permalink / raw)
To: openembedded-core; +Cc: Raul Martins
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>
---
meta/lib/oe/rootfs.py | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
index e5512d0..9bdc72c 100644
--- a/meta/lib/oe/rootfs.py
+++ b/meta/lib/oe/rootfs.py
@@ -507,9 +507,9 @@ class DpkgOpkgRootfs(Rootfs):
return pkg_depends_list
pkgs = {}
- pkg_name = ""
+ pkg_name = None
pkg_status_match = False
- pkg_depends = ""
+ pkg_depends = None
with open(status_file) as status:
data = status.read()
@@ -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 = ""
+ pkg_depends = None
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 is not None 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
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2018-12-11 13:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-11 13:41 [PATCH] oe: Fix opkg status list parse - Missing postinst Raul Martins
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.