From: "Jan Luebbe" <jlu@pengutronix.de>
To: openembedded-core@lists.openembedded.org
Cc: Jan Luebbe <jlu@pengutronix.de>
Subject: [OE-core][PATCH 3/5] lib/oe/package_manager: collect provided package names when using debs
Date: Wed, 1 Apr 2020 16:58:03 +0200 [thread overview]
Message-ID: <20200401145805.6936-4-jlu@pengutronix.de> (raw)
In-Reply-To: <20200401145805.6936-1-jlu@pengutronix.de>
This is needed for a later change to avoid installing packages which are
already provided by an installed package.
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
---
meta/lib/oe/package_manager.py | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index 072372892732..e862915b1b75 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -40,6 +40,7 @@ def opkg_query(cmd_output):
ver = ""
filename = ""
dep = []
+ prov = []
pkgarch = ""
for line in cmd_output.splitlines()+['']:
line = line.rstrip()
@@ -64,6 +65,10 @@ def opkg_query(cmd_output):
dep.append("%s [REC]" % recommend)
elif line.startswith("PackageArch: "):
pkgarch = line.split(": ")[1]
+ elif line.startswith("Provides: "):
+ provides = verregex.sub('', line.split(": ")[1])
+ for provide in provides.split(", "):
+ prov.append(provide)
# When there is a blank line save the package information
elif not line:
@@ -72,12 +77,13 @@ def opkg_query(cmd_output):
filename = "%s_%s_%s.ipk" % (pkg, ver, arch)
if pkg:
output[pkg] = {"arch":arch, "ver":ver,
- "filename":filename, "deps": dep, "pkgarch":pkgarch }
+ "filename":filename, "deps": dep, "pkgarch":pkgarch, "provs": prov}
pkg = ""
arch = ""
ver = ""
filename = ""
dep = []
+ prov = []
pkgarch = ""
return output
@@ -355,7 +361,7 @@ class DpkgPkgsList(PkgsList):
"--admindir=%s/var/lib/dpkg" % self.rootfs_dir,
"-W"]
- cmd.append("-f=Package: ${Package}\nArchitecture: ${PackageArch}\nVersion: ${Version}\nFile: ${Package}_${Version}_${Architecture}.deb\nDepends: ${Depends}\nRecommends: ${Recommends}\n\n")
+ cmd.append("-f=Package: ${Package}\nArchitecture: ${PackageArch}\nVersion: ${Version}\nFile: ${Package}_${Version}_${Architecture}.deb\nDepends: ${Depends}\nRecommends: ${Recommends}\nProvides: ${Provides}\n\n")
try:
cmd_output = subprocess.check_output(cmd, stderr=subprocess.STDOUT).strip().decode("utf-8")
--
2.26.0.rc2
next prev parent reply other threads:[~2020-04-01 14:58 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-01 14:58 [OE-core][PATCH 0/5] fix populate_sdk for package_deb Jan Luebbe
2020-04-01 14:58 ` [OE-core][PATCH 1/5] lib/oe/package_manager: make sure to not remove packages in apt install Jan Luebbe
2020-04-01 14:58 ` [OE-core][PATCH 2/5] lib/oe/package_manager: fix handling of last package Jan Luebbe
2020-04-01 14:58 ` Jan Luebbe [this message]
2020-04-01 14:58 ` [OE-core][PATCH 4/5] lib/oe/package_manager: avoid installing provided packages via apt Jan Luebbe
2020-04-01 14:58 ` [OE-core][PATCH 5/5] lib/oe/package_manager: don't try to rm /var/lib/opkg Jan Luebbe
2020-04-03 16:05 ` Peter Kjellerstedt
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=20200401145805.6936-4-jlu@pengutronix.de \
--to=jlu@pengutronix.de \
--cc=openembedded-core@lists.openembedded.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox