Using Modules#

Prerequisites#

$ dnf install fedora-repos-modular

Listing Modules#

To list available modules:

$ dnf module list

Displaying Module Info#

$ dnf module info <name>

Installing a Module#

To enable a module:

$ dnf module enable ``\ ``:

To install a module:

$ dnf module install ``\ ``:

Development#

Prerequisites#

$ dnf install python-qpid module-build-service

Authentication#

Make sure the browser is configured for Kerberos.

Get Kerberos ticket:

$ kinit <username>@FEDORAPROJECT.ORG

Become a member of mock group:

$ sudo usermod -a -G mock <username>
$ newgrp

See also:

Getting Module Source#

$ fedpkg clone modules/<module> modules/<module>
$ cd modules/<module>

Defining a Module#

See also:

Creating Local Build#

To create a local build:

$ fedpkg module-build-local -s ``\ ```platform:f28 <platform:f28>`__

or:

$ mbs-manager build_module_locally --file ``\ `` -s ``\ ```platform:f28 <platform:f28>`__

To install the local module, create /etc/yum.repos.d/local.repo:

[local]
name=Local Repository
baseurl=file:///home/<username>/modulebuild/builds/module-<name>-<stream>-<timestamp>/results/
gpgcheck=0
enabled=1

Then execute the following:

$ dnf module list
$ dnf module install <name>:<stream>

See also:

Creaeting COPR Build#

To create a COPR build:

$ copr build-module --yaml <module definition> <repo>

To install the module:

$ dnf copr enable <repo>
$ dnf module install <module>:<stream>

See also How to build modules in Copr.

Creating Official Build#

To create an official build:

$ fedpkg module-build

The build taks will appear in Fedora’s MBS at https://mbs.fedoraproject.org/module-build-service/1/module-builds/.

To check build status:

``$ fedpkg module-build-info ``

Wait until all components are in COMPLETE state.

To cancel a build:

$ fedpkg module-build-cancel &lt;build ID&gt;

Testing#

Option #1#

  • create a Bodhi update

  • disable auto-push to stable

  • enable updates-testing-modular

  • wait until the module is pushed to testing (~24 hr)

Option #2#

  • submit request to sysadmin-mbs group to run a compose

Option #3#

To download a module from Koji:

$ dnf install perl-ExtUtils-MakeMaker
$ git clone https://pagure.io/moduleprovides.git
$ cd moduleprovides
$ perl Makefile.PL
$ make
$ bin/moduleprovides --name <module>
$ bin/moduledownload --arch x86_64 '<module>:<stream>:<timestamp>:<hash>'

Then configure dnf repo pointing to the local module.

See also:

References#