5d346f8 Fix -debuginfo/-debugsource packages handling in KojiContentGenerator.

Authored and Committed by jkaluza 4 years ago
    Fix -debuginfo/-debugsource packages handling in KojiContentGenerator.
    
    Our current code has following issues with -debuginfo/-debugsource handling:
    
    - The foo-debuginfo is included in the MMD only when foo is included there,
      but some special packages contain custom -debuginfo sub-packages like
      foo-common-debuginfo without matching foo-common sub-package. With our
      current code, the foo-common-debuginfo is never included in the final MMD.
    - The foo-debugsource is included in the MMD only when foo.src.rpm,
      but some special packages contain custom -debuginfo sub-package.
    
    This commit changes the handling of -debuginfo/-debugsource like this:
    
    - The RPMs to include in the final MMD are evaluated in particular order now.
      At first we evaluate non-debug RPMs and then debug RPMs.
    - When handling the foo-debuginfo/foo-debugsource RPM, we include it in
      final MMD only in one of these cases:
      - The "foo" is included in the MMD file (it means it is not filtered out).
      - The "foo" package does not exist at all (it means only foo-debuginfo exists
        and we need to include this package unless filtered out) and in the same time
        the SRPM from which this -debuginfo/-debugsource RPM has been built is included
        in a final MMD (it means that there is at least some package from this build
        included - this handles case when only foo.src.rpm and foo-debugsource.rpm
        would be included in a final MMD, which would be wrong.)
    
    We also respect filters here, so it is possible to explicitely filter out also
    -debuginfo/-debugsource packages.
    
        
file modified
+182 -0