diff options
author | David Kalnischkies <david@kalnischkies.de> | 2016-11-11 13:15:27 +0100 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2016-11-11 23:40:39 +0100 |
commit | 7434f15cb688f3a394accba2ce10615adcb9c48a (patch) | |
tree | 63483149f01f0bd2ec696f44fff9cfc5fb2968e2 /apt-pkg | |
parent | d0c7d4d6328418b7c9f434a3398e5f7e08b7359c (diff) |
show distribution mismatch for changed codenames
We have the last Release file around for other checks, so its trivial to
look if the new Release file contains a new codename (e.g. the user has
"testing" in the sources and it flipped from stretch to buster).
Such a change can be okay and expected, but also be a hint of problems,
so a warning if we see it happen seems okay. We can only print it once
anyhow and frontends and co are likely to ignore/hide it.
Diffstat (limited to 'apt-pkg')
-rw-r--r-- | apt-pkg/acquire-item.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc index 54cb9db71..154b9a16e 100644 --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@ -1608,6 +1608,14 @@ bool pkgAcqMetaBase::VerifyVendor(string const &) /*{{{*/ if (TransactionManager->MetaIndexParser->CheckDist(ExpectedDist) == false) _error->Warning(_("Conflicting distribution: %s (expected %s but got %s)"), Desc.Description.c_str(), ExpectedDist.c_str(), NowCodename.c_str()); + // might be okay, might be not + if (TransactionManager->LastMetaIndexParser != nullptr) + { + auto const LastCodename = TransactionManager->LastMetaIndexParser->GetCodename(); + if (LastCodename.empty() == false && NowCodename.empty() == false && LastCodename != NowCodename) + _error->Warning(_("Conflicting distribution: %s (expected %s but got %s)"), + Desc.Description.c_str(), LastCodename.c_str(), NowCodename.c_str()); + } return true; } /*}}}*/ |