def load(self): Pkg = DebPackage Prv = DebProvides NPrv = DebNameProvides PreReq = DebPreRequires Req = DebRequires OrReq = DebOrRequires OrPreReq = DebOrPreRequires Upg = DebUpgrades Cnf = DebConflicts Brk = DebBreaks prog = iface.getProgress(self._cache) inst = self.getInstalled() sysarch = DEBARCH for section, offset in self.getSections(prog): arch = section.get("architecture") if arch and arch != sysarch and arch != "all": continue if inst: try: want, flag, status = section.get("status", "").split() except ValueError: continue if status != "installed": continue name = section.get("package") version = section.get("version") prvargs = [(NPrv, name, version)] prvdict = {name: True} value = section.get("provides") if value: for prvname in value.split(","): prvname = prvname.strip() prvargs.append((Prv, intern(prvname), None)) prvdict[prvname] = True reqargs = [] value = section.get("depends") if value: for relation in parserelations(value): if type(relation) is not list: n, r, v = relation reqargs.append((Req, intern(n), r, v)) else: reqargs.append((OrReq, tuple(relation))) value = section.get("pre-depends") if value: for relation in parserelations(value): if type(relation) is not list: n, r, v = relation reqargs.append((PreReq, n, r, v)) else: reqargs.append((OrPreReq, tuple(relation))) upgargs = [(Upg, name, '<', version)] cnfargs = [] value = section.get("conflicts") if value: for relation in parserelations(value): n, r, v = relation cnfargs.append((Cnf, n, r, v)) value = section.get("breaks") if value: for relation in parserelations(value): n, r, v = relation cnfargs.append((Brk, n, r, v)) newargs = [] for args in reqargs: req = args[0](*args[1:]) if not system_provides.matches(req): newargs.append(args) reqargs = newargs pkg = self.buildPackage((Pkg, name, version), prvargs, reqargs, upgargs, cnfargs) pkg.loaders[self] = offset self._sections[pkg] = intern(section.get("section", ""))
def load(self): Pkg = DebPackage Prv = DebProvides NPrv = DebNameProvides PreReq = DebPreRequires Req = DebRequires OrReq = DebOrRequires OrPreReq = DebOrPreRequires Upg = DebUpgrades Cnf = DebConflicts prog = iface.getProgress(self._cache) inst = self.getInstalled() for section, offset in self.getSections(prog): if inst: try: want, flag, status = section.get("status", "").split() except ValueError: continue if status != "installed": continue name = section.get("package") version = section.get("version") prvargs = [(NPrv, name, version)] prvdict = {name: True} value = section.get("provides") if value: for prvname in value.split(","): prvname = prvname.strip() prvargs.append((Prv, intern(prvname), None)) prvdict[prvname] = True reqargs = [] value = section.get("depends") if value: for relation in parserelations(value): if type(relation) is not list: n, r, v = relation reqargs.append((Req, intern(n), r, v)) else: reqargs.append((OrReq, tuple(relation))) value = section.get("pre-depends") if value: for relation in parserelations(value): if type(relation) is not list: n, r, v = relation reqargs.append((PreReq, n, r, v)) else: reqargs.append((OrPreReq, tuple(relation))) upgargs = [(Upg, name, '<', version)] cnfargs = [] value = section.get("conflicts") if value: for relation in parserelations(value): n, r, v = relation cnfargs.append((Cnf, n, r, v)) pkg = self.buildPackage((Pkg, name, version), prvargs, reqargs, upgargs, cnfargs) pkg.loaders[self] = offset self._sections[pkg] = intern(section.get("section", ""))
def load(self): Pkg = DebPackage Prv = DebProvides NPrv = DebNameProvides PreReq = DebPreRequires Req = DebRequires OrReq = DebOrRequires OrPreReq = DebOrPreRequires Upg = DebUpgrades Cnf = DebConflicts Brk = DebBreaks prog = iface.getProgress(self._cache) inst = self.getInstalled() sysarch = DEBARCH for section, offset in self.getSections(prog): arch = section.get("architecture") if arch and arch != sysarch and arch != "all": continue if inst: try: want, flag, status = section.get("status", "").split() except ValueError: continue if status != "installed": continue name = section.get("package") version = section.get("version") prvargs = [(NPrv, name, version)] prvdict = {name: True} value = section.get("provides") if value: for prvname in value.split(","): prvname = prvname.strip() prvargs.append((Prv, intern(prvname), None)) prvdict[prvname] = True reqargs = [] value = section.get("depends") if value: for relation in parserelations(value): if type(relation) is not list: n, r, v = relation reqargs.append((Req, intern(n), r, v)) else: reqargs.append((OrReq, tuple(relation))) value = section.get("pre-depends") if value: for relation in parserelations(value): if type(relation) is not list: n, r, v = relation reqargs.append((PreReq, n, r, v)) else: reqargs.append((OrPreReq, tuple(relation))) upgargs = [(Upg, name, '<', version)] recargs = [] value = section.get("recommends") if value: for relation in parserelations(value): if type(relation) is not list: n, r, v = relation recargs.append((Req, intern(n), r, v)) else: recargs.append((OrReq, tuple(relation))) cnfargs = [] value = section.get("conflicts") if value: for relation in parserelations(value): n, r, v = relation cnfargs.append((Cnf, n, r, v)) value = section.get("breaks") if value: for relation in parserelations(value): n, r, v = relation cnfargs.append((Brk, n, r, v)) newargs = [] for args in reqargs: req = args[0](*args[1:]) if not system_provides.matches(req): newargs.append(args) reqargs = newargs pkg = self.buildPackage((Pkg, name, version), prvargs, reqargs, upgargs, cnfargs, recargs) pkg.loaders[self] = offset self._sections[pkg] = intern(section.get("section", ""))