Rename all *PkgsList classeds to PkgsList to enable dynamic calling.

Signed-off-by: Fredrik Gustafsson <fredr...@axis.com>
---
 .../oe/package_managers/deb/package_manager.py    |  4 ++--
 .../oe/package_managers/ipk/package_manager.py    | 12 +++++++-----
 .../oe/package_managers/rpm/package_manager.py    |  2 +-
 meta/lib/oe/rootfs.py                             | 12 ++----------
 meta/lib/oe/sdk.py                                | 15 ++-------------
 5 files changed, 14 insertions(+), 31 deletions(-)

diff --git a/meta/lib/oe/package_managers/deb/package_manager.py 
b/meta/lib/oe/package_managers/deb/package_manager.py
index 0ef8e91eea..f33390d1cb 100644
--- a/meta/lib/oe/package_managers/deb/package_manager.py
+++ b/meta/lib/oe/package_managers/deb/package_manager.py
@@ -367,7 +367,7 @@ class PkgPM(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()
+        return PkgsList(self.d, self.target_rootfs).list_pkgs()
 
     def package_info(self, pkg):
         """
@@ -538,7 +538,7 @@ def opkg_query(cmd_output):
 
     return output
 
-class DpkgPkgsList(PkgsList):
+class PkgsList(PkgsList):
 
     def list_pkgs(self):
         cmd = [bb.utils.which(os.getenv('PATH'), "dpkg-query"),
diff --git a/meta/lib/oe/package_managers/ipk/package_manager.py 
b/meta/lib/oe/package_managers/ipk/package_manager.py
index 8e47003c93..e46b14ab31 100644
--- a/meta/lib/oe/package_managers/ipk/package_manager.py
+++ b/meta/lib/oe/package_managers/ipk/package_manager.py
@@ -333,7 +333,7 @@ class PkgPM(OpkgDpkgPM):
             bb.utils.remove(os.path.join(self.opkg_dir, "lists"), True)
 
     def list_installed(self):
-        return OpkgPkgsList(self.d, self.target_rootfs, 
self.config_file).list_pkgs()
+        return PkgsList(self.d, self.target_rootfs, 
self.config_file).list_pkgs()
 
     def dummy_install(self, pkgs):
         """
@@ -539,10 +539,12 @@ def opkg_query(cmd_output):
 
     return output
 
-class OpkgPkgsList(PkgsList):
-    def __init__(self, d, rootfs_dir, config_file):
-        super(OpkgPkgsList, self).__init__(d, rootfs_dir)
-
+class PkgsList(PkgsList):
+    def __init__(self, d, rootfs_dir, config_file = ""):
+        super(PkgsList, self).__init__(d, rootfs_dir)
+        
+        if config_file == "":
+            config_file = self.d.getVar('IPKGCONF_TARGET')
         self.opkg_cmd = bb.utils.which(os.getenv('PATH'), "opkg")
         self.opkg_args = "-f %s -o %s " % (config_file, rootfs_dir)
         self.opkg_args += self.d.getVar("OPKG_ARGS")
diff --git a/meta/lib/oe/package_managers/rpm/package_manager.py 
b/meta/lib/oe/package_managers/rpm/package_manager.py
index 57a5c9ec38..06b1921676 100644
--- a/meta/lib/oe/package_managers/rpm/package_manager.py
+++ b/meta/lib/oe/package_managers/rpm/package_manager.py
@@ -400,7 +400,7 @@ class PkgIndexer(RpmIndexer):
                         self.do_write_index(dir_path)
 
 
-class RpmPkgsList(PkgsList):
+class PkgsList(PkgsList):
     def list_pkgs(self):
         return PkgPM(self.d, self.rootfs_dir, self.d.getVar('TARGET_VENDOR'), 
needfeed=False).list_installed()
 
diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
index b71c93cf54..1f56225a18 100644
--- a/meta/lib/oe/rootfs.py
+++ b/meta/lib/oe/rootfs.py
@@ -370,16 +370,8 @@ def image_list_installed_packages(d, rootfs_dir=None):
     if not rootfs_dir:
         rootfs_dir = d.getVar('IMAGE_ROOTFS')
 
-    img_type = d.getVar('IMAGE_PKGTYPE')
-    from oe.package_managers.rpm.package_manager import RpmPkgsList
-    from oe.package_managers.ipk.package_manager import OpkgPkgsList
-    from oe.package_managers.deb.package_manager import DpkgPkgsList
-    if img_type == "rpm":
-        return RpmPkgsList(d, rootfs_dir).list_pkgs()
-    elif img_type == "ipk":
-        return OpkgPkgsList(d, rootfs_dir, 
d.getVar("IPKGCONF_TARGET")).list_pkgs()
-    elif img_type == "deb":
-        return DpkgPkgsList(d, rootfs_dir).list_pkgs()
+    import importlib
+    return importlib.import_module('oe.package_managers.' + 
d.getVar('IMAGE_PKGTYPE') + '.package_manager').PkgsList(d, 
rootfs_dir).list_pkgs()
 
 if __name__ == "__main__":
     """
diff --git a/meta/lib/oe/sdk.py b/meta/lib/oe/sdk.py
index 1fac0bed5b..7b17afde78 100644
--- a/meta/lib/oe/sdk.py
+++ b/meta/lib/oe/sdk.py
@@ -116,19 +116,8 @@ def sdk_list_installed_packages(d, target, 
rootfs_dir=None):
 
         rootfs_dir = [sdk_output, os.path.join(sdk_output, 
target_path)][target is True]
 
-    from oe.package_managers.rpm.package_manager import RpmPkgsList
-    from oe.package_managers.ipk.package_manager import OpkgPkgsList
-    from oe.package_managers.deb.package_manager import DpkgPkgsList
-    img_type = d.getVar('IMAGE_PKGTYPE')
-    if img_type == "rpm":
-        arch_var = ["SDK_PACKAGE_ARCHS", None][target is True]
-        os_var = ["SDK_OS", None][target is True]
-        return RpmPkgsList(d, rootfs_dir).list_pkgs()
-    elif img_type == "ipk":
-        conf_file_var = ["IPKGCONF_SDK", "IPKGCONF_TARGET"][target is True]
-        return OpkgPkgsList(d, rootfs_dir, d.getVar(conf_file_var)).list_pkgs()
-    elif img_type == "deb":
-        return DpkgPkgsList(d, rootfs_dir).list_pkgs()
+    import importlib
+    return importlib.import_module('oe.package_managers.' + 
d.getVar('IMAGE_PKGTYPE') + '.package_manager').PkgsList(d, 
rootfs_dir).list_pkgs()
 
 def populate_sdk(d, manifest_dir=None):
     env_bkp = os.environ.copy()
-- 
2.20.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#139930): 
https://lists.openembedded.org/g/openembedded-core/message/139930
Mute This Topic: https://lists.openembedded.org/mt/75100012/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to