]> git.saurik.com Git - apt.git/commit
don't warn if untransformed distribution matches
authorDavid Kalnischkies <david@kalnischkies.de>
Fri, 11 Nov 2016 12:05:38 +0000 (13:05 +0100)
committerDavid Kalnischkies <david@kalnischkies.de>
Fri, 11 Nov 2016 22:40:39 +0000 (23:40 +0100)
commitd0c7d4d6328418b7c9f434a3398e5f7e08b7359c
tree4a29050c1cff44bea2b192350733dfa16707ad2c
parenta9b724eedd0c9d8c36725c5b8f57d51ea9f7dcd1
don't warn if untransformed distribution matches

A suite or codename entry in the Release file is checked against the
distribution field in the sources.list entry that lead to the download of that
Release file. This distribution entry can contain slashes in the distribution
field:

    deb http://security.debian.org/debian wheezy/updates main

However, the Release file may only contain "wheezy" in the Codename field and
not "wheezy/updates". So a transformation needs to take place that removes the
last / and everything that comes after (e.g. "/updates"). This fails, however,
for valid cases like a reprepro snapshot where the given Codename contains
slashes but is perfectly fine and doesn't need to be transformed. Since that
transformation is essentially just a workaround for special cases like the
security repository, it should be checked if the literal Codename without any
transformations happened is valid and only if isn't the dist should be checked
against the transformated one.

This way special cases like security.debian.org are handled and reprepro
snapshots work too.

The initial patch was taken as insperationto move whole transformation
to CheckDist() which makes this method more accepting & easier to use
(but according to codesearch.d.n we are the only users anyhow).

Thanks: Lukas Anzinger for initial patch
Closes: 644610
apt-pkg/acquire-item.cc
apt-pkg/metaindex.cc
test/integration/test-bug-841874-warning-for-mismatching-distribution