From: Raul Martins <raulgildons@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: Raul Martins <raul.martins@alta-rt.com>
Subject: [PATCH] oe: Fix opkg status list parse - Missing postinst
Date: Tue, 11 Dec 2018 11:41:59 -0200 [thread overview]
Message-ID: <1544535719-15934-1-git-send-email-raul.martins@alta-rt.com> (raw)
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
reply other threads:[~2018-12-11 13:42 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1544535719-15934-1-git-send-email-raul.martins@alta-rt.com \
--to=raulgildons@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=raul.martins@alta-rt.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.