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]

(From OE-Core rev: 9b4b150ccbcd2f7a0b27d083eb406578584af3fa)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mariano Lopez 2016-05-24 12:44:12 +00:00 committed by Richard Purdie
parent daf0cc3745
commit 6a7138ebb6
1 changed files with 29 additions and 0 deletions

View File

@ -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