Submitting module builds in Fedora

With Modularity, you no longer build individual packages. Instead, you need to submit a module build.

Module builds are triggered using fedpkg from within your dist-git repository.

$ fedpkg clone modules/NAME
$ cd NAME
$ fedpkg switch-branch BRANCH
$ fedpkg module-build
  • NAME — name of the module

  • BRANCH — name of the stream branch of the module

Please note the module build ID. You will need it to verify the build state and to publish the module later.

To watch the state of your module build, run:

$ fedpkg module-build-watch BUILD_ID

When the module is in a "ready" state, the build has successfully completed.

Rebuild strategies

In case you want to control which packages get rebuilt and which get reused, you can enforce a specific rebuild strategy while submitting a build.

There are different rebuild strategies to choose from:

  • all — All packages in the module get rebuilt.

  • only-changed — Only packages that have changed since the last successful build get rebuilt. This is the default in Fedora.

  • changed-and-after — This one leverages build groups (buildorder). Packages that have changed changed since the last successful build get rebuilt, and also all packages with a buildorder higher than any of the changed ones get rebuilt as well.

To enforce a specific rebuild strategy, submit the module build with the following command:

$ fedpkg module-build --optional rebuild_strategy=STRATEGY
  • STRATEGY — name of a specific build strategy (listed above)