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 <build ID>
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: