summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
authorJulian Andres Klode <julian.klode@canonical.com>2025-01-22 09:34:37 +0100
committerJulian Andres Klode <julian.klode@canonical.com>2025-01-22 09:55:11 +0100
commit09c76cb29b61e1d523a30287f8a9bf0cb0b608e7 (patch)
tree9414ac9ba3395e04a55c1ebb99405f36e48ed500 /apt-pkg
parent61f8f40f921cde13c5b97abbdf900646745e8e30 (diff)
sqv, gpgv: Do not fail if Dir::Etc::Trusted is set and trusted.gpg.d is missing
This should remain a warning case for now. So push the errors to a stack and see if we can find any file. Explictly warn again if Dir::Etc::trusted is set, as it is like _super_ deprecated. Reported-By: Cyril Brulebois <kibi@debian.org> in Bug#1032131
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/contrib/gpgv.cc12
1 files changed, 10 insertions, 2 deletions
diff --git a/apt-pkg/contrib/gpgv.cc b/apt-pkg/contrib/gpgv.cc
index 173bfdf22..c6eabc690 100644
--- a/apt-pkg/contrib/gpgv.cc
+++ b/apt-pkg/contrib/gpgv.cc
@@ -395,12 +395,20 @@ void ExecGPGV(std::string const &File, std::string const &FileGPG,
}
}
- std::vector<std::string> Parts;
if (not FoundKeyring)
{
- Parts = GetListOfFilesInDir(_config->FindDir("Dir::Etc::TrustedParts"), std::vector<std::string>{"gpg", "asc"}, true);
+ // Either trusted or trustedparts must exist
+ _error->PushToStack();
+ auto Parts = GetListOfFilesInDir(_config->FindDir("Dir::Etc::TrustedParts"), std::vector<std::string>{"gpg", "asc"}, true);
if (auto trusted = _config->FindFile("Dir::Etc::Trusted"); not trusted.empty())
+ {
+ apt_warning(std::cerr, statusfd, fd, "Loading %s from deprecated option Dir::Etc::Trusted\n", trusted.c_str());
Parts.push_back(trusted);
+ }
+ if (Parts.empty())
+ _error->MergeWithStack();
+ else
+ _error->RevertToStack();
for (auto &Part : Parts)
{
if (Debug)