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") if pkg_class == "rpm": pm = RpmPM(d, root_path, d.getVar('TARGET_VENDOR')) pm.create_configs() elif pkg_class == "ipk": pm = OpkgPM(d, root_path, d.getVar("IPKGCONF_TARGET"), d.getVar("ALL_MULTILIB_PACKAGE_ARCHS")) elif pkg_class == "deb": pm = DpkgPM(d, root_path, d.getVar('PACKAGE_ARCHS'), d.getVar('DPKG_ARCH')) pm.write_index() pm.update() return pm
def get_package_manager(d, dest): """ Instantiate an instance of the PM object for the image's package manager d -- the bitbake datastore dest -- the target / of any package manager operations """ from oe.package_manager import RpmPM from oe.package_manager import OpkgPM from oe.package_manager import DpkgPM ptype = d.getVar('IMAGE_PKGTYPE', True) pm = None if ptype == 'rpm': pm = RpmPM(d, dest, d.getVar('TARGET_VENDOR', True)) elif ptype == 'ipk': pm = OpkgPM(d, dest, d.getVar('IPKGCONF_TARGET', True), d.getVar('ALL_MULTILIB_PACKAGE_ARCHS', True)) elif ptype == 'deb': pm = DpkgPM(d, dest, d.getVar('PACKAGE_ARCHS', True), d.getVar('DPKG_ARCH', True)) pm.write_index() pm.update() return pm