Example modules

This repository contains module definitions prepared by the Modularity team as examples for wider audience.

Maintaner's notes

Until there are more sane tools to do a module depsolving, here is my current way of finding the module's runtime dependecies (uses httpd as working example):

  1. Install all API packages into a clean mock chroot, then list and save all installed packages:

    mock -r fedora-24-x86_64 --clean \
    && mock -r fedora-24-x86_64 --install httpd httpd-devel \
    && mock -r fedora-24-x86_64 --quiet --dnf-cmd list installed >httpd.rpms
  2. Ask DNF to download sources for all the listed packages into current directory:

    sed '/\x1B\[[0-9;]*[a-zA-Z]/d' httpd.rpms \
    | sed '/^\(Last metadata expiration check\|Installed Packages\)/d' \
    | cut -d' ' -f1 \
    | xargs sudo dnf download --source

    Note: The first two seds are removing extraneous ANSI color codes and DNF info.

  3. Use the downloaded packages' names as rpm contents. To get you started, you can use my extract-rationales script to produce a basic mapping from package names to their summaries.