| |
@@ -16,6 +16,7 @@
|
| |
* Packages provided at runtime by the default stream of a module *MUST* depend only on packages provided by packages from default module streams or the non-modular package set. By extension, default streams of a module *MUST NOT* have a dependency on any non-default stream.footnote:[It is highly recommended that default streams have no module dependencies besides the platform to avoid potential future conflicts during upgrades.]
|
| |
* Packages provided from default streams *MAY* depend on content from other default streams. If they do so, this dependency *MUST* be encoded in the module metadata.footnote:[This is so that if the maintainers of either module wishes to change its default stream, it is easy to see what other modules would be impacted and coordinate it.]
|
| |
* All packages provided at runtime by the default stream of a module *MUST* provide all the same functionality that a downstream consumer would expect from a package in the non-modular package set.footnote:[If a package is not filtered out from the default module stream, it is going to be part of the default-available content and therefore must be treated (and supported) just like a non-modular package.]
|
| |
+ * All packages provided at runtime by the default stream of a module *SHOULD* be declared as a module API or bundled appropriately.footnote:[This ensures that all packages installable with `dnf install package` are fully supported as any non-modular package.]
|
| |
* The default stream of a module *MUST NOT* change to a different stream within a released Fedora version.footnote:[This is an extension of the https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/#stable-releases[stable updates policy].] The default stream *MAY* be changed in Rawhide or during Fedora upgrades. Changes to default streams *MUST* be approved via a https://docs.fedoraproject.org/en-US/program_management/changes_policy/#_change_process[Fedora Change proposal].
|
| |
* Packages *MAY* convert from a non-modular package to a modular default stream (or the reverse) only in Rawhide or during Fedora upgrades.
|
| |
* Default streams *MUST NOT* provide a binary RPM with the same package name as a non-modular RPM in the same release except in the case of a transition from one to the other.footnote:[Modular packages shadow non-modular ones. This rule ensures that we don't have any shadowed packages in the default package set.]
|
| |
Approved at https://pagure.io/modularity/issue/146.