ConfigurationΒΆ

env

Array of env dictionaries to define for each Repo

notification

If present email to notify for push/sync/remove action

root

Root FS Path for Repositories

repo_base_url

Root URL to serve Repositories (Usefull if you use a CDN, a Static HTTP Server or a Reverse Proxy to serve RPM)

latest

Label for the Up-to-date Storage Repository

workers

Numbers of worker to build metadata

includepkgs_deps

Whether to Include dependencies packages for includepkgs of this repository if the dependency is not specified in excludepkgs. The default is False.

deltas

Enable DeltaRPM

no-database

Do not generate sqlite databases. The default is False.

dnf_config

DNF Configuration files

num-deltas

Number of older versions to make deltas against

The default value for all repositories is 1.

You could customize the value per repo.

  • 0 is disabled

  • -1 is unlimited

Create packagemanager.yml configuration file (default location is /etc/pyrmin/)

packagemanager:
  env:
   - name: prod
     color-class: danger
     icon-class: "fa fa-dot-circle"
   - name: preprod
     color-class: warning
     icon-class: "fa fa-dot-circle"
   - name: qualif
     color-class: info
     icon-class: "fa fa-dot-circle"
  dnf_config: /etc/pyrmin/dnf.conf
  root: /data/repos
  repo_base_url: https://localhost/repos/
  latest: latest
  # notification: root@localhost
  # user_repos: False
  # no-database: False
  # workers: 1
  # deltas: false
  # num-deltas:
  #   default: 1
  #   repo_id_1: 0
  #   repo_id_2: -1
  # max-delta-rpm-size: 1000000000
  # includepkgs_deps: false
  # permissions:
  #  read:
  #    users:
  #      - read_username
  #  write:
  #    users:
  #      - write_username

Then Create a DNF Configuration File to Manage Your Repositories

You can begin with the DNF host config and customize the configuration

cp /etc/dnf/dnf.conf /etc/pyrmin/

You can merge remote repositories together by declaring more than 1 baseurl or mirrorlist in the repo config section.

Here an example with Cent OS Base & Cent OS Update repositories in order to enable deltarpm creation

[centos7]
name=Cent OS 7 - Cent OS Base & Updates
mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=os
           http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=updates
enable=1