From Fedora Project Wiki
(No more module reviews - the packages have been reviewed already.)
No edit summary
Line 14: Line 14:
This step includes creating new repositories or branches in dist-git for both RPM packages and modules.
This step includes creating new repositories or branches in dist-git for both RPM packages and modules.


==== How ====
==== Overview ====


'''Packages''' should be handled the same way as they are now. That means:
'''Packages''' should be handled the same way as they are now. That means:
Line 28: Line 28:
Of course, to request any repositories in the dist-git, one needs to be a Fedora packager.
Of course, to request any repositories in the dist-git, one needs to be a Fedora packager.


==== What ====
==== Steps ====


'''Packages:''' Follow the [[Package_Review_Process#Contributor|Package Review Process for Contributors]].  
'''Packages:''' Follow the [[Package_Review_Process#Contributor|Package Review Process for Contributors]].  
Line 36: Line 36:
=== '''Step 2''': build it ===
=== '''Step 2''': build it ===


==== How ====
==== Overview ====


This step is about submitting a module build to the Fedora infrastructure. The resulting binaries will not be included in any release in this step. Anyone who is a Fedora packager should be able to build modules they own. There is no review or approval at this point.
This step is about submitting a module build to the Fedora infrastructure. The resulting binaries will not be included in any release in this step. Anyone who is a Fedora packager should be able to build modules they own. There is no review or approval at this point.


==== What ====
==== Steps ====


Use the ''fedpkg module-build'' command inside your local copy of the module dist-git repository.
Use the ''fedpkg module-build'' command inside your local copy of the module dist-git repository.
Line 46: Line 46:
=== '''Step 3''': add it to the release ===
=== '''Step 3''': add it to the release ===


==== How ====
==== Overview ====


In order to make a module available to the end user, it needs to be released. Technically, this means including the module in a compose.
In order to make a module available to the end user, it needs to be released. Technically, this means including the module in a compose.
Line 52: Line 52:
No review is done at this point, as all the software that is being added already passed the [[Package Review Process]].
No review is done at this point, as all the software that is being added already passed the [[Package Review Process]].


==== What ====
==== Steps ====


Currently, adding a module is done by submitting a PR to the [https://pagure.io/pungi-fedora/ pagure.io/pungi-fedora] repository to include your module in the compose. This is defined in the [https://pagure.io/pungi-fedora/blob/f28/f/variants-fedora.xml variants-fedora.xml] file. Search for the "<modules>" element.
Currently, adding a module is done by submitting a PR to the [https://pagure.io/pungi-fedora/ pagure.io/pungi-fedora] repository to include your module in the compose. This is defined in the [https://pagure.io/pungi-fedora/blob/f28/f/variants-fedora.xml variants-fedora.xml] file. Search for the "<modules>" element.
Line 60: Line 60:
=== '''Step 4''': set / change the default ===
=== '''Step 4''': set / change the default ===


==== How ====
==== Overview ====


Setting or changing a '''default stream''' of a module is in most cases similar to changing a major version of a package. An exception to this is setting a default stream of a new module which does not replace any packages in the base. Setting or changing the default stream requires a [[Changes/Policy|Fedora Change]] request when, and is only allowed in between Fedora releases.
Setting or changing a '''default stream''' of a module is in most cases similar to changing a major version of a package. An exception to this is setting a default stream of a new module which does not replace any packages in the base. Setting or changing the default stream requires a [[Changes/Policy|Fedora Change]] request when, and is only allowed in between Fedora releases.
Line 66: Line 66:
On the other hand, changing a '''default installation profile''' does not affect any other packages, as the package set that is available is still the same. No change request is required for this.
On the other hand, changing a '''default installation profile''' does not affect any other packages, as the package set that is available is still the same. No change request is required for this.


==== What ====
==== Steps ====


Submit an issue to Fedora Releng in [https://pagure.io/releng/issues pagure.io/releng]. If you are requesting to change a default stream, you also need to [[Changes/Policy#For_developers|submit a Fedora Change]]
Submit an issue to Fedora Releng in [https://pagure.io/releng/issues pagure.io/releng]. If you are requesting to change a default stream, you also need to [[Changes/Policy#For_developers|submit a Fedora Change]]


To check the current defaults, have a look at the [https://pagure.io/releng/fedora-module-defaults fedora module defaults repository].
To check the current defaults, have a look at the [https://pagure.io/releng/fedora-module-defaults fedora module defaults repository].

Revision as of 13:17, 16 March 2018

This proposal describes the processes for:

  • adding new modules (and packages that are part of these modules) to Fedora including dist-git repository requests and reviews
  • managing default module streams in Fedora

The process

The process has four main steps:

new repositories --> build it --> add it to the release --> set / change the default

Step 1: new repositories

This step includes creating new repositories or branches in dist-git for both RPM packages and modules.

Overview

Packages should be handled the same way as they are now. That means:

  • When adding a new package (creating a new dist-git repository), the package goes through the Package Review Process. This is to check the compliance with the Fedora Packaging Guidelines.
  • When adding a new branch to an existing package, no formal review is necessary.

Repositories and branches for modules should not require any review. This is because:

  • At this point, modules are not included in any release.
  • Modules themselves do not provide any content. New content is provided by packages that need to pass a review.

Of course, to request any repositories in the dist-git, one needs to be a Fedora packager.

Steps

Packages: Follow the Package Review Process for Contributors.

Modules: TBD (either filing a ticket somewhere, or using the fedrepo-req tool)

Step 2: build it

Overview

This step is about submitting a module build to the Fedora infrastructure. The resulting binaries will not be included in any release in this step. Anyone who is a Fedora packager should be able to build modules they own. There is no review or approval at this point.

Steps

Use the fedpkg module-build command inside your local copy of the module dist-git repository.

Step 3: add it to the release

Overview

In order to make a module available to the end user, it needs to be released. Technically, this means including the module in a compose.

No review is done at this point, as all the software that is being added already passed the Package Review Process.

Steps

Currently, adding a module is done by submitting a PR to the pagure.io/pungi-fedora repository to include your module in the compose. This is defined in the variants-fedora.xml file. Search for the "<modules>" element.

In the near future, the process will change to be a bit more pleasant experience. New modules will be added as updates through Bodhi.

Step 4: set / change the default

Overview

Setting or changing a default stream of a module is in most cases similar to changing a major version of a package. An exception to this is setting a default stream of a new module which does not replace any packages in the base. Setting or changing the default stream requires a Fedora Change request when, and is only allowed in between Fedora releases.

On the other hand, changing a default installation profile does not affect any other packages, as the package set that is available is still the same. No change request is required for this.

Steps

Submit an issue to Fedora Releng in pagure.io/releng. If you are requesting to change a default stream, you also need to submit a Fedora Change

To check the current defaults, have a look at the fedora module defaults repository.