def searchPkgs(self, pkg): if not pkg: return None name, ver, rel, epoch, arch = rpmutils.splitPkgName3(pkg) repo2Pkgs = {} if self._rootSack: pkgs = self._rootSack.searchPkg(name, epoch, ver, rel, arch) repo2Pkgs.update({"/": pkgs}) if self._localSack: repo2Pkgs.update(self._localSack.searchPkg2(name, epoch, ver, rel, arch)) if self._repoSack: repo2Pkgs.update(self._repoSack.searchPkg2(name, epoch, ver, rel, arch)) return repo2Pkgs
def _selectInstalledPkgs(self, context, pkgs): removePkgs = [] for pkg in pkgs: name, ver, rel, epoch, arch = rpmutils.splitPkgName3(pkg) installRootpkgs = context.searchInstallRootPkgs(name, epoch, ver, rel, arch) if not installRootpkgs: Log.cout(Log.WARNING, 'No installed [%s] in installRoot' % pkg) continue if len(installRootpkgs) > 1: Log.cout(Log.ERROR, 'Too many package: [%s] is installed' % pkg) return None removePkgs.append(installRootpkgs[0]) return removePkgs
def searchPkgs(self, pkg): if not pkg: return None name, ver, rel, epoch, arch = rpmutils.splitPkgName3(pkg) repo2Pkgs = {} if self._rootSack: pkgs = self._rootSack.searchPkg(name, epoch, ver, rel, arch) repo2Pkgs.update({'/': pkgs}) if self._localSack: repo2Pkgs.update( self._localSack.searchPkg2(name, epoch, ver, rel, arch)) if self._repoSack: repo2Pkgs.update( self._repoSack.searchPkg2(name, epoch, ver, rel, arch)) return repo2Pkgs
def _selectInstalledPkgs(self, context, pkgs): removePkgs = [] for pkg in pkgs: name, ver, rel, epoch, arch = rpmutils.splitPkgName3(pkg) installRootpkgs = context.searchInstallRootPkgs( name, epoch, ver, rel, arch) if not installRootpkgs: Log.cout(Log.WARNING, 'No installed [%s] in installRoot' % pkg) continue if len(installRootpkgs) > 1: Log.cout(Log.ERROR, 'Too many package: [%s] is installed' % pkg) return None removePkgs.append(installRootpkgs[0]) return removePkgs
def _selectPkg(self, context, pkg): pkgs = [] name, ver, rel, epoch, arch = rpmutils.splitPkgName3(pkg) installRootPkgs = context.searchInstallRootPkgs(name, epoch, ver, rel, arch) if installRootPkgs: pkgs.extend(installRootPkgs) availablePkgs = context.searchAvailablePkgs(name, epoch, ver, rel, arch) if availablePkgs: pkgs.extend(availablePkgs) if not pkgs: return None sorter = PackageArchSorter(arch) pkgs = sorter.sort(pkgs) return pkgs[0]
def _selectPkg(self, context, pkg): pkgs = [] name, ver, rel, epoch, arch = rpmutils.splitPkgName3(pkg) installRootPkgs = context.searchInstallRootPkgs( name, epoch, ver, rel, arch) if installRootPkgs: pkgs.extend(installRootPkgs) availablePkgs = context.searchAvailablePkgs(name, epoch, ver, rel, arch) if availablePkgs: pkgs.extend(availablePkgs) if not pkgs: return None sorter = PackageArchSorter(arch) pkgs = sorter.sort(pkgs) return pkgs[0]