summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Oberritter <obi@opendreambox.org>2018-03-28 21:42:16 +0200
committerAndreas Oberritter <obi@opendreambox.org>2020-07-02 15:10:00 +0200
commit1800b5b0eb5e6361d88e64c80545b3a3342fe49b (patch)
tree6f24e427a23a90b90b5713602f34568891a7769e
parent69864eb0e3a9e3d139c5bebf3e71c9fa8a8f3f81 (diff)
downloadopenembedded-core-contrib-1800b5b0eb5e6361d88e64c80545b3a3342fe49b.tar.gz
package_manager.py: Move logic from DpkgPkgsList to DpkgPM
This mimics the behavior of RPM and allows accessing the newly set admindir variable of DpkgPM. Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
-rw-r--r--meta/lib/oe/package_manager.py29
1 files changed, 14 insertions, 15 deletions
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index 7a20772ac6..cfe9f5d676 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -356,21 +356,8 @@ class OpkgPkgsList(PkgsList):
class DpkgPkgsList(PkgsList):
-
def list_pkgs(self):
- cmd = [bb.utils.which(os.getenv('PATH'), "dpkg-query"),
- "--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}\nProvides: ${Provides}\n\n")
-
- try:
- cmd_output = subprocess.check_output(cmd, stderr=subprocess.STDOUT).strip().decode("utf-8")
- except subprocess.CalledProcessError as e:
- bb.fatal("Cannot get the installed packages list. Command '%s' "
- "returned %d:\n%s" % (' '.join(cmd), e.returncode, e.output.decode("utf-8")))
-
- return opkg_query(cmd_output)
+ return DpkgPM(self.d, self.rootfs_dir, self.d.getVar('PACKAGE_ARCHS'), self.d.getVar('DPKG_ARCH')).list_installed()
class PackageManager(object, metaclass=ABCMeta):
@@ -1741,7 +1728,19 @@ class DpkgPM(OpkgDpkgPM):
"returned %d:\n%s" % (cmd, e.returncode, e.output.decode("utf-8")))
def list_installed(self):
- return DpkgPkgsList(self.d, self.target_rootfs).list_pkgs()
+ cmd = [bb.utils.which(os.getenv('PATH'), "dpkg-query"),
+ "--admindir=%s" % self.admindir,
+ "-W"]
+
+ 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")
+ except subprocess.CalledProcessError as e:
+ bb.fatal("Cannot get the installed packages list. Command '%s' "
+ "returned %d:\n%s" % (' '.join(cmd), e.returncode, e.output.decode("utf-8")))
+
+ return opkg_query(cmd_output)
def package_info(self, pkg):
"""