Control: tags -1 + patch

Hi,

here is a little patch that may fix the issue. Bug was discovered in #1131311: - dh-sequence-nodejs automatically added "Provides: node-rollup-plugin-terser (= 1.0.0)" into node-rollup-plugin-terser 7.0.2+~cs8.6.4-1. - This is fixed in pkg-js-tools 0.17.3, and a workaround is set in version 7.0.2+~cs8.6.4-2

However, the message given by apt in its log was totally wrong (se bellow).

This little patch avoid checking the bad version.



----
Example of bad logs:

  The following packages have unmet dependencies:
   node-rollup-plugin-terser : Depends: node-babel-code-frame (>= 7)
                               Depends: node-babel-parser (>= 7)
Depends: node-jest-worker (>= 27~) but it is not going to be installed Depends: node-serialize-javascript but it is not going to be installed Depends: node-terser (>= 5) but it is not going to be installed
                               Depends: nodejs:any
  E: Unable to satisfy dependencies. Reached two conflicting assignments:
1. node-rollup-plugin-terser:amd64=7.0.2+~cs8.6.4-1 is selected for install
     2. node-rollup-plugin-terser:amd64 Depends node-jest-worker (>= 27~)
        but none of the choices are installable:
        - node-jest-worker:amd64 is not selected for install because:
1. node-rollup-plugin-terser:amd64=7.0.2+~cs8.6.4-1 is selected for install 2. node-jest-worker:amd64 Breaks node-rollup-plugin-terser (< 7.0.2-6~)

diff --git a/apt-pkg/pkgcache.cc b/apt-pkg/pkgcache.cc
index 3377facac..c9204af0f 100644
--- a/apt-pkg/pkgcache.cc
+++ b/apt-pkg/pkgcache.cc
@@ -786,6 +786,12 @@ bool pkgCache::DepIterator::IsIgnorable(PrvIterator const 
&Prv) const
    // Implicit group-conflicts should not be applied on providers of other 
groups
    if (IsMultiArchImplicit() && Prv.OwnerPkg()->Group != Pkg->Group)
       return true;
+   // Self-provides (where the provider is the target package) should be
+   // ignored: the real version is already checked directly in AllTargets(),
+   // and the provide version may differ from the package version (e.g.
+   // embedded component versions via ${nodejs:Provides}).
+   if (Prv.OwnerPkg()->Group == TargetPkg()->Group)
+      return true;
 
    return false;
 }

Reply via email to