Only include the latest version of each source package

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>

The Sources file for unstable will contain multiple records for a single
source package when one or more architectures has out-of-date binaries.
As the latest version is that which will be considered for migration, only
that version should be added to the list of available sources.

This is not currently an issue in live use, as the data files are already
pre-processed by britney before being passed to britney2.
debian
Adam D. Barratt 15 years ago
parent 5809c672b7
commit 0cf4dc85f6

@ -406,7 +406,14 @@ class Britney:
get_field = Packages.Section.get
while Packages.Step():
pkg = get_field('Package')
sources[pkg] = [get_field('Version'),
ver = get_field('Version')
# There may be multiple versions of the source package
# (in unstable) if some architectures have out-of-date
# binaries. We only ever consider the source with the
# largest version for migration.
if pkg in sources and apt_pkg.VersionCompare(sources[pkg][0], ver) > 0:
continue
sources[pkg] = [ver,
get_field('Section'),
[],
get_field('Maintainer'),

Loading…
Cancel
Save