diff options
| author | Zheyu Shen <zheyushen@microsoft.com> | 2026-04-07 09:43:42 +0000 |
|---|---|---|
| committer | Julian Andres Klode <jak@debian.org> | 2026-04-07 09:43:42 +0000 |
| commit | 1e99b5bf84197ae90e669791a6b28604db8139f3 (patch) | |
| tree | 975fce7efc9e04c5213206977aa81310751f73a0 | |
| parent | 2757f593507ced8145fc75d986721dff6d45daa5 (diff) | |
fix apt patterns parsing bug for pre-depends
| -rw-r--r-- | apt-pkg/cachefilter-patterns.cc | 6 | ||||
| -rw-r--r-- | doc/apt-patterns.7.xml | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/apt-pkg/cachefilter-patterns.cc b/apt-pkg/cachefilter-patterns.cc index e79e1afb5..73157765e 100644 --- a/apt-pkg/cachefilter-patterns.cc +++ b/apt-pkg/cachefilter-patterns.cc @@ -33,6 +33,7 @@ static const constexpr struct // FIXME: The words after ~D should be case-insensitive {"DDepends:"sv, "?depends"sv, true}, {"DPre-Depends:"sv, "?pre-depends"sv, true}, + {"DPreDepends:"sv, "?predepends"sv, true}, {"DSuggests:"sv, "?suggests"sv, true}, {"DRecommends:"sv, "?recommends"sv, true}, {"DConflicts:"sv, "?conflicts"sv, true}, @@ -43,6 +44,7 @@ static const constexpr struct {"D"sv, "?depends"sv, true}, {"RDepends:"sv, "?reverse-depends"sv, true}, {"RPre-Depends:"sv, "?reverse-pre-depends"sv, true}, + {"RPreDepends:"sv, "?reverse-predepends"sv, true}, {"RSuggests:"sv, "?reverse-suggests"sv, true}, {"RRecommends:"sv, "?reverse-recommends"sv, true}, {"RConflicts:"sv, "?reverse-conflicts"sv, true}, @@ -446,7 +448,7 @@ std::unique_ptr<APT::CacheFilter::Matcher> PatternParser::aPattern(std::unique_p return std::make_unique<Patterns::PackageIsConfigFiles>(); if (node->matches("?depends", 1, 1)) return std::make_unique<Patterns::VersionDepends>(aPattern(node->arguments[0])); - if (node->matches("?predepends", 1, 1)) + if (node->matches("?pre-depends", 1, 1) || node->matches("?predepends", 1, 1)) return std::make_unique<Patterns::VersionDepends>(aPattern(node->arguments[0]), pkgCache::Dep::PreDepends); if (node->matches("?suggests", 1, 1)) return std::make_unique<Patterns::VersionDepends>(aPattern(node->arguments[0]), pkgCache::Dep::Suggests); @@ -464,7 +466,7 @@ std::unique_ptr<APT::CacheFilter::Matcher> PatternParser::aPattern(std::unique_p return std::make_unique<Patterns::VersionDepends>(aPattern(node->arguments[0]), pkgCache::Dep::Enhances); if (node->matches("?reverse-depends", 1, 1)) return std::make_unique<Patterns::PackageReverseDepends>(aPattern(node->arguments[0])); - if (node->matches("?reverse-predepends", 1, 1)) + if (node->matches("?reverse-pre-depends", 1, 1) || node->matches("?reverse-predepends", 1, 1)) return std::make_unique<Patterns::PackageReverseDepends>(aPattern(node->arguments[0]), pkgCache::Dep::PreDepends); if (node->matches("?reverse-suggests", 1, 1)) return std::make_unique<Patterns::PackageReverseDepends>(aPattern(node->arguments[0]), pkgCache::Dep::Suggests); diff --git a/doc/apt-patterns.7.xml b/doc/apt-patterns.7.xml index 40a8dd2fb..7f7ad3db0 100644 --- a/doc/apt-patterns.7.xml +++ b/doc/apt-patterns.7.xml @@ -173,7 +173,7 @@ <variablelist> <varlistentry> <term><code>?depends(PATTERN)</code></term><term><code>~DPATTERN</code></term> - <term><code>?pre-depends(PATTERN)</code></term><term><code>~DPre-Depends:PATTERN</code></term> + <term><code>?predepends(PATTERN)</code></term><term><code>~DPreDepends:PATTERN</code></term> <term><code>?suggests(PATTERN)</code></term><term><code>~DSuggests:PATTERN</code></term> <term><code>?recommends(PATTERN)</code></term><term><code>~DRecommends:PATTERN</code></term> <term><code>?conflicts(PATTERN)</code></term><term><code>~DConflicts:PATTERN</code></term> |
