On Thu, Jun 21, 2018 at 9:43 AM Stephen John Smoogen <smooge@gmail.com> wrote:
On 21 June 2018 at 09:05, Stephen Gallagher <sgallagh@redhat.com> wrote:
>
>
> On Thu, Jun 21, 2018 at 8:51 AM Petr Pisar <ppisar@redhat.com> wrote:
>>
>> On 2018-06-21, Stephen Gallagher <sgallagh@redhat.com> wrote:
>> > On Thu, Jun 21, 2018 at 5:17 AM Kevin Kofler <kevin.kofler@chello.at>
>> > wrote:
>> >> Will the repositories be enabled or disabled by default?
>> >>
>> >
>> > Enabled by default. Packaging policy will require that modules with a
>> > default stream may not override packages in the standard repo.
>> >
>> How are packagers supposed to implement a seamless move from a bare
>> package to
>> a module not to disrupt users?
>>
>> Example: I have a gscan2pdf package that I want to move to a module.
>> According to the policy firtst I have to remove the package from
>> a repository. Now the user cannot install the package. Then the module
>> review will be approved and the module built. And finally package is
>> available to users again.
>>
>> I don't think this is a great user experience.
>
>
> I oversimplified that last statement, sorry. I shouldn't post before
> breakfast. What you're requesting is permissible; if you are the maintainer
> of a package and want to move it into a module with a default stream to
> replace the version in the standard repos, that's fine.
>
> My statement was more about protecting against "I have Node.js 8.x in the
> traditional repos, but 10.x in the default module stream, which overrides
> it, thus resulting in a different experience with and without the modular
> repos enabled." If you decide to replace a package with a module default
> stream, it will need to follow the stable updates policy for the current
> Fedora release. (So if I wanted to move from Node.js 8.x bare RPMs to a
> module, then the 8.x module stream would have to be the default, not 10.x).
>

Maybe I am misunderstanding it, but this is the scenario this brings up:

Say I have a package which has now required NodeJS 10.x so I need to
put that as a requirement to fix a bug. In my mind, I am not replacing
Nodejs because it isn't my package.. it is just something that the OS
is providing. I put in the Requires and fix my problem..

To the user, that causes a problem because it then replaces their
Nodejs-8 they may have been using for some other app.

What is going to warn me/stop me that I should not have done that
before the package gets into updates?


It's going to fail the dependency check in Bodhi and you will get an email. If it depends on a non-default stream, then it must be built as a module that depends on that non-default stream.