Building Fedora modules locally

This page walks you through building modules locally on your machine.

Prerequisities

You need to install the module-build-service as well as fedpkg:

$ sudo dnf install module-build-service fedpkg

and add yourself to the mock group:

$ sudo usermod -a -G mock USERNAME
$ newgrp

Step 1: Build your module

Local builds are started using fedpkg from whithin your dist-git repository.

For example, to submit a build of the testmodule:master module, run:

$ fedpkg clone modules/nodejs
$ cd nodejs
$ git checkout master
$ fedpkg module-build-local

When the build finishes, you’ll be able to find the results in:

~/modulebuild/builds/MODULE/results/

where MODULE is "module-NAME-STREAM-VERSION", so for example "module-testmodule-master-20180612122805".

Step 2: Test your module

This requires Fedora 28 or higher.

To test your module, add the repository to your system by creating an entry similar to this in /etc/yum.repos.d/test.repo:

[local]
name=My Local Repository
baseurl=file:///home/adam/modulebuild/builds/module-testmodule-master-20180612122805/results/
gpgcheck=0
enabled=1

Please replace "adam" with your user name, and "module-testmodule-master-20180612122805" with the actual value for your module.

Now, when you list the available modules on your system, you should be able to see it and install it:

$ dnf module list
$ dnf module install testmodule:master