From Fedora Project Wiki
(initial version, unfinished)
 
(Replaced content with "{{admon/important|This page is deprecated| All Fedora Modularity Documentation has moved to the new [https://docs.pagure.org/modularity/ Fedora Modularity Documentation we...")
(38 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= Adding and building a module for Fedora =
{{admon/important|This page is deprecated| All Fedora Modularity Documentation has moved to the new [https://docs.pagure.org/modularity/ Fedora Modularity Documentation website] with source hosted along side the code in the [https://pagure.io/modularity Fedora Modularity website git repository]}}
 
This document describes the process of adding a new module to the Fedora Modularity project, how to build it locally and how to build it in Fedora infrastructure
 
== Process and policy for how to add a module to Fedora ==
 
TBD
 
== Write a new modulemd file ==
A modulemd file is a yaml file that contains the module metadata like description, license and dependencies. The [https://pagure.io/modulemd/raw/master/f/spec.yaml sample file] in the upstream git repository of modulemd contains a complete documentation of the required and optional yaml tags.
 
The Modularity team uses [http://pkgs.stg.fedoraproject.org/cgit/modules/testmodule.git/tree/testmodule.yaml a shorter modulemd file] to test builds, but it can also be used as a base for new modules. Another good example is
[http://pkgs.stg.fedoraproject.org/cgit/modules/base-runtime.git/plain/base-runtime.yaml base-runtime.yml]
 
There is a [https://github.com/fedora-modularity/check_modulemd python program] that checks modulemd files for errors. You need to install some packages to use this:
* python2-aexpect - dependency for python-avocado
* python2-avocado - avocado testing framework
* python2-modulemd - Module metadata manipulation library
* python-enchant - spell checker library (needed only for check_modulemd.py)
* hunspell-en-US - English dictionary (needed only for check_modulemd.py)
<br>
Then run <pre>./run-checkmmd.sh /path/to/modulemd/file</pre>

Revision as of 07:57, 20 February 2017

Important.png
This page is deprecated
All Fedora Modularity Documentation has moved to the new Fedora Modularity Documentation website with source hosted along side the code in the Fedora Modularity website git repository