def __ge__(self, other): if other.cp != self.cp: return self.cp >= other.cp result = portage.vercmp(self.version, other.version) if result >= 0: return True if result == 0 and self.built and other.built: return self.build_time >= other.build_time return False
def __ge__(self, other): if other.cp != self.cp: return False if portage.vercmp(self.version, other.version) >= 0: return True return False
new_updates = [dict() for x in range(0)] # find category by globbing in this repo cat = glob.glob(f"*/{pn}/{pn}*.ebuild")[0].split("/")[0] # find the newest version for each slot loc_slots = {} local_versions = pdb.xmatch('match-visible', f"{cat}/{pn}::rindeal") for v in local_versions: slot = pdb.aux_get(v, ["SLOT"])[0] # add if not yet present if not slot in loc_slots: loc_slots[slot] = v continue # update slot if newer version was found if portage.vercmp(loc_slots[slot], v) < 0: loc_slots[slot] = v # now compare current and server versions for each slot for slot in loc_slots: pkg = loc_slots[slot] loc_ver = portage.pkgsplit(pkg)[1] rem_ver = remote_versions[code][slot] if portage.vercmp(loc_ver, rem_ver) < 0: new_updates.append({ 'cat': cat, 'pn': pn, 'loc_slot': slot, 'loc_ver': loc_ver,