diff options
author | Mariano Lopez <mariano.lopez@linux.intel.com> | 2016-05-24 12:44:12 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-05-30 09:30:30 +0100 |
commit | 9b4b150ccbcd2f7a0b27d083eb406578584af3fa (patch) | |
tree | de717c177eba29a108488781e2d5899c6dabf901 /meta/lib/oeqa | |
parent | 667a4549bd51a6e4b487006f4cc1542d2961757a (diff) | |
download | openembedded-core-contrib-9b4b150ccbcd2f7a0b27d083eb406578584af3fa.tar.gz |
oeqa/utils/package_manager.py: Add get_package_manager()
This new file just contain one function to return an OE package
manager, this depends in the current packaging method.
[YOCTO #8694]
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/lib/oeqa')
-rw-r--r-- | meta/lib/oeqa/utils/package_manager.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/meta/lib/oeqa/utils/package_manager.py b/meta/lib/oeqa/utils/package_manager.py new file mode 100644 index 00000000000..099ecc97288 --- /dev/null +++ b/meta/lib/oeqa/utils/package_manager.py @@ -0,0 +1,29 @@ +def get_package_manager(d, root_path): + """ + Returns an OE package manager that can install packages in root_path. + """ + from oe.package_manager import RpmPM, OpkgPM, DpkgPM + + pkg_class = d.getVar("IMAGE_PKGTYPE", True) + if pkg_class == "rpm": + pm = RpmPM(d, + root_path, + d.getVar('TARGET_VENDOR', True)) + pm.create_configs() + + elif pkg_class == "ipk": + pm = OpkgPM(d, + root_path, + d.getVar("IPKGCONF_TARGET", True), + d.getVar("ALL_MULTILIB_PACKAGE_ARCHS", True)) + + elif pkg_class == "deb": + pm = DpkgPM(d, + root_path, + d.getVar('PACKAGE_ARCHS', True), + d.getVar('DPKG_ARCH', True)) + + pm.write_index() + pm.update() + + return pm |