| Summary: | package info field | ||
|---|---|---|---|
| Product: | PackageKit | Reporter: | Daniel Nicoletti <dantti85-pk> |
| Component: | backend-apt | Assignee: | Ken VanDine <ken.vandine> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | high | CC: | jw+debian |
| Version: | unspecified | ||
| Hardware: | x86-64 (AMD64) | ||
| OS: | Linux (All) | ||
| Whiteboard: | |||
| i915 platform: | i915 features: | ||
|
Description
Daniel Nicoletti
2008-07-22 15:10:09 UTC
Example code for this can be found in UpdateManager.py:
def matchPackageOrigin(self, pkg, matcher):
""" match 'pkg' origin against 'matcher', take versions between
installedVersion and candidateVersion into account too
Useful if installed pkg A v1.0 is available in both
-updates (as v1.2) and -security (v1.1). we want to display
it as a security update then
"""
inst_ver = pkg._pkg.CurrentVer
cand_ver = self._depcache.GetCandidateVer(pkg._pkg)
# init with empty match
update_origin = matcher[(None,None)]
for ver in pkg._pkg.VersionList:
# discard is < than installed ver
if (inst_ver and
apt_pkg.VersionCompare(ver.VerStr, inst_ver.VerStr) <= 0):
#print "skipping '%s' " % ver.VerStr
continue
# check if we have a match
for(verFileIter,index) in ver.FileList:
if matcher.has_key((verFileIter.Archive, verFileIter.Origin)):
indexfile = pkg._list.FindIndex(verFileIter)
if indexfile: # and indexfile.IsTrusted:
match = matcher[verFileIter.Archive, verFileIter.Origin]
if match.importance > update_origin.importance:
update_origin = match
return update_origin
self.matcher = self.initMatcher(dist)
def initMatcher(self, dist):
# (origin, archive, description, importance)
matcher_templates = [
("%s-security" % dist, "Ubuntu", _("Important security updates"),10),
("%s-updates" % dist, "Ubuntu", _("Recommended updates"), 9),
("%s-proposed" % dist, "Ubuntu", _("Proposed updates"), 8),
("%s-backports" % dist, "Ubuntu", _("Backports"), 7),
(dist, "Ubuntu", _("Distribution updates"), 6)
]
matcher = {}
for (origin, archive, desc, importance) in matcher_templates:
matcher[(origin, archive)] = self.UpdateOrigin(desc, importance)
matcher[(None,None)] = self.UpdateOrigin(_("Other updates"), -1)
return matcher
Thanks,
James
This is already fixed in 0.3.0. I adapted and pushed the code which reports updates as security updates if they succeed one some minutes ago. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.