#1656 Stream expansion does not exclude dependencides for incompatible platforms
Opened by ppisar. Modified

When building a perl-libwww-perl:6.48 module with these modular dependencies:

    dependencies:
        - buildrequires:
              platform: [f34]
              perl: ['5.30', '5.32']
              perl-IO-Socket-SSL: []
          requires:
              platform: [f34]
              perl: ['5.30', '5.32']
              perl-IO-Socket-SSL: []

The build was rejected with:

$ fedpkg module-build
Submitting the module build...
Could not execute module_build: The build failed with:
Cannot find any module builds for perl-IO-Socket-SSL:master

It seems that MBS searches for perl-IO-Socket-SSL:master, because
it enumerates it https://mbs.fedoraproject.org/module-build-service/2/module-builds/?name=perl-IO-Socket-SSL&state=5&short=1, but perl-IO-Socket-SSL:master was never built for platform:f34. On the other hand there is perl-IO-Socket-SSL:2.068 built for platform:f34, but MBS did not considered it.

I remember I jkaluza told me that MBS expansion was very naive. I request correcting how MBS expands the streams. Especially to ignore incompatible module builds instead of raising an error on first mismatch.

I worked around it by:

-              perl-IO-Socket-SSL: []
+              perl-IO-Socket-SSL: [-master]

This issue has been migrated to Fedora Forge:
https://forge.fedoraproject.org/koji/mbs/issues/1656

Please continue any further discussion there.

Metadata