Bug 1748895 - On Fedora 31 the ruby module does not meet the criteria.
Summary: On Fedora 31 the ruby module does not meet the criteria.
Keywords:
Status: NEW
Alias: None
Product: Fedora Modules
Classification: Fedora
Component: ruby
Version: unspecified
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Vít Ondruch
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-09-04 11:55 UTC by Lukas Ruzicka
Modified: 2019-09-27 15:23 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-09-04 12:14:35 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Fedora Pagure modularity issue 156 None None None 2019-09-27 12:31:47 UTC

Description Lukas Ruzicka 2019-09-04 11:55:48 UTC
Description of problem:

In Fedora 31, the ruby module has streams with no default profile set, which in my understanding violates the criteria. Each stream of the module should have a valid defaults profile, so that it can be installed using the "dnf module install <module>:<stream>" command. 

How reproducible:

Always

Steps to Reproduce:
1. dnf module list ruby

Actual results:

The master stream is malformed!

Expected results:

The module has a default profile for all its streams.

More info:

-------- List module ---------
Showing information for: ruby
========================================
Stream: master
Default stream: no
Available profiles: default
Default profile: none
------------------------------
Stream: 2.5
Default stream: no
Available profiles: default
Default profile: default
------------------------------
Stream: 2.6
Default stream: no
Available profiles: default
Default profile: default
------------------------------

Comment 1 Vít Ondruch 2019-09-04 12:14:35 UTC
We had this discussion previously:

https://pagure.io/fesco/issue/2178

*** This bug has been marked as a duplicate of bug 1729150 ***

Comment 2 Jun Aruga 2019-09-04 12:55:10 UTC
> In Fedora 31, the ruby module has streams with no default profile set, which in my understanding violates the criteria. Each stream of the module should have a valid defaults profile, so that it can be installed using the "dnf module install <module>:<stream>" command. 

modules/ruby has the default profile on Fedora 30. See below settings.
https://pagure.io/releng/fedora-module-defaults/blob/f31/f/ruby.yaml
modules/ruby does not have the default stream intentionally.
See the discussion https://bugzilla.redhat.com/show_bug.cgi?id=1729150 for detail.

> The master stream is malformed!

Oh "master" stream is not allowed anymore? What is the alternative?
How to fix this?

I like keeping the status: NEW until I understand how to fix it.

Comment 3 Lukas Ruzicka 2019-09-05 08:41:44 UTC
Hello, 

I have no objection against a "master" stream in your module. The described problem lies in the fact that the master stream does not have a default profile set. The "table" in my previous comment shows, that streams 2.5 and 2.6 include a profile called "default" that is set as a *default* profile. In that case, DNF reports it in the output of "dnf module list ruby".
It also shows that the master stream does not have such a *default* profile, even if there is a profile called "default". Pretty confusing, right?

For better understanding, let us say that you do not have a profile called "default", but you call it a "server" and you have another called "client". The *default profile* specifies what to install, if the user does not pick up a specific profile. In case the "server" is the *default* profile, "server" would be installed using "dnf module install module:stream".

The ruby.yaml in the fedora-module-defaults does not even show a master stream, have you removed it?:

===========================
document: modulemd-defaults
version: 1
data:
    module: ruby
    profiles:
        2.5: [default]
        2.6: [default]
========================

I think what only should be necessary to fix the problem is to alter the ruby.yaml file and build the modules:

===========================
document: modulemd-defaults
version: 1
data:
    module: ruby
    profiles:
        master: [default]
        2.5: [default]
        2.6: [default]
========================

Comment 4 Vít Ondruch 2019-09-05 10:59:18 UTC
@jaruga: Maybe the question should be why we have "master" stream.

Comment 5 Jun Aruga 2019-09-05 11:17:44 UTC
Thanks for the explanation.

> The ruby.yaml in the fedora-module-defaults does not even show a master stream, have you removed it?:

No, I have not removed it. Because the fedora-module-defaults yaml files are not created automatically from something, but created manually by each maintainer. When I created the initial file, I did not include "master" in it.

https://pagure.io/releng/fedora-module-defaults/blob/f31/f/ruby.yaml

I do not intend to add "master" stream to the ruby.yaml file, because "master" stream is a kind of development stream.

> @jaruga: Maybe the question should be why we have "master" stream.

Good point. The role of "master" stream is to test the module's installation and check if the proper binary RPMs are included in the module and the the result of "dnf module ruby info", before releasing "2.5" and "2.6" stream. It is like a development stream. Because right now there is no way to test it before releasing a module in my understanding. Or Budhi can do?


Note You need to log in before you can comment on or make changes to this bug.