def __add_to_revdeps(self, package, revdeps): metadata_xml = os.path.join(self.package_path(package), ctx.const.metadata_xml) meta_doc = xmlext.parse(metadata_xml) try: pkg = xmlext.getNode(meta_doc, "Package") except: pkg = None if pkg is None: # If package info is broken or not available, skip it. ctx.ui.warning( _("Installation info for package \"{}\" is broken. " "Reinstall it to fix this problem.").format(package)) del self.installed_db[package] return deps = xmlext.getNode(pkg, 'RuntimeDependencies') if deps: for dep in xmlext.getTagByName(deps, 'Dependency'): revdep = revdeps.setdefault(xmlext.getNodeText(dep), {}) revdep[package] = xmlext.toString(dep) for anydep in xmlext.getTagByName(deps, 'AnyDependency'): for dep in xmlext.getTagByName(anydep, 'Dependency'): revdep = revdeps.setdefault(xmlext.getNodeText(dep), {}) revdep[package] = xmlext.toString(anydep)
def __generate_groups(doc): groups = {} group = xmlext.getTagByName(doc, "Group") for gr in group: name = xmlext.getNodeText(gr, "Name") groups[name] = xmlext.toString(gr) return groups
def __generate_components(doc): components = {} component = xmlext.getTagByName(doc, "Component") for comp in component: name = xmlext.getNodeText(comp, "Name") components[name] = xmlext.toString(comp) return components
def __generate_packages(doc): pdict = {} for x in xmlext.getTagByName(doc, "Package"): name = xmlext.getNodeText(x, "Name") compressed_data = gzip.zlib.compress( xmlext.toString(x).encode('utf-8')) pdict[name] = compressed_data return pdict
def __generate_sources(doc): pdict = {} for x in xmlext.getTagByName(doc, "SpecFile"): source = xmlext.getNode(x, "Source") name = xmlext.getNodeText(source, "Name") compressed_data = gzip.zlib.compress( xmlext.toString(x).encode('utf-8')) pdict[name] = compressed_data return pdict
def __generate_revdeps(doc): revdeps = {} for node in xmlext.getTagByName(doc, "Package"): name = xmlext.getNodeText(node, 'Name') deps = xmlext.getNode(node, 'RuntimeDependencies') if deps: for dep in xmlext.getTagByName(deps, "Dependency"): revdeps.setdefault(xmlext.getNodeText(dep), set()).add( (name, xmlext.toString(dep))) return revdeps
def __generate_revdeps(doc): revdeps = {} for spec in xmlext.getTagByName(doc, "SpecFile"): src = xmlext.getNode(spec, "Source") name = xmlext.getNodeText(src, "Name") deps = xmlext.getNode(src, "BuildDependencies") if deps: for dep in xmlext.getTagByName(deps, "Dependency"): revdeps.setdefault(xmlext.getNodeText(dep), set()).add( (name, xmlext.toString(dep))) return revdeps
def __generate_sources(doc): sources = {} pkgstosrc = {} for spec in xmlext.getTagByName(doc, "SpecFile"): src = xmlext.getNode(spec, "Source") src_name = xmlext.getNodeText(src, "Name") compressed_data = gzip.zlib.compress( xmlext.toString(spec).encode('utf-8')) sources[src_name] = compressed_data for package in xmlext.getTagByName(spec, "Package"): pkgstosrc[xmlext.getNodeText(package, "Name")] = src_name return sources, pkgstosrc