dnf.modularity(pdf.php) - phpMan

DNF.MODULARITY(7)                     DNF                    DNF.MODULARITY(7)
NAME
       dnf.modularity - Modularity in DNF
       Modularity  is new way of building, organizing and delivering packages.
       For more details see: https://docs.pagure.org/modularity/
DEFINITIONS
       modulemd
              Every repository can contain modules metadata with modulemd doc-
              uments.   These  documents  hold  metadata about modules such as
              Name, Stream or list of packages.
       (non-modular) package
              Package that doesn't belong to a module.
       modular package
              Package that belongs to a module. It is listed in modulemd under
              the  artifacts section.  Modular packages can be also identified
              by having %{modularitylabel} RPM header set.
       (module) stream
              Stream is a collection of packages, a virtual repository. It  is
              identified  with  Name  and  Stream from modulemd separated with
              colon, for example "postgresql:9.6".
              Module streams can be active or inactive. active means  the  RPM
              packages  from  this stream are included in the set of available
              packages.  Packages from  inactive  streams  are  filtered  out.
              Streams  are  active  either if marked as default or if they are
              explicitly enabled by a user action. Streams that satisfy depen-
              dencies  of  default  or  enabled  streams  are  also considered
              active.  Only one stream of a particular module can be active at
              a given point in time.
PACKAGE FILTERING
       Without modules, packages with the highest version are used by default.
       Module  streams can distribute packages with lower versions than avail-
       able in the repositories available to the  operating  system.  To  make
       such  packages  available  for  installs  and upgrades, the non-modular
       packages are filtered out when their name or provide matches against  a
       modular  package  name  from any enabled, default, or dependent stream.
       Modular source packages will not cause non-modular binary  packages  to
       be filtered out.
HOTFIX REPOSITORIES
       In  special cases, a user wants to cherry-pick individual packages pro-
       vided outside module streams and make  them  available  on  along  with
       packages  from  the  active  streams.  Under normal circumstances, such
       packages are filtered out or rejected from getting  on  the  system  by
       Fail-safe  mechanisms.   To make the system use packages from a reposi-
       tory regardless of their modularity,  specify  module_hotfixes=true  in
       the .repo file. This protects the repository from package filtering.
       Please  note  the hotfix packages do not override module packages, they
       only become part of available package set. It's the package Epoch, Ver-
       sion and Release what determines if the package is the latest.
FAIL-SAFE MECHANISMS
   Repositories with module metadata are unavailable
       When  a repository with module metadata is unavailable, package filter-
       ing must keep working.  Non-modular RPMs must  remain  unavailable  and
       must never get on the system.
       This happens when:
       o user disables a repository via --disablerepo or uses --repoid
       o user removes a .repo file from disk
       o repository is not available and has skip_if_unavailable=true
       DNF  keeps  copies  of  the latest modulemd for every active stream and
       uses them if there's no modulemd available for the stream.  This  keeps
       package filtering working correctly.
       The  copies  are  made  any time a transaction is resolved and started.
       That includes RPM transactions as well as any dnf  module  <enable|dis-
       able|reset> operations.
       When the fail-safe data is used, dnf show such modules as part of @mod-
       ulefailsafe repository.
   Orphaned modular packages
       All packages that are built as a part of a module have  %{modularityla-
       bel}  RPM  header set.  If such package becomes part of RPM transaction
       and cannot be associated with any available modulemd, DNF prevents from
       getting  it  on  the  system  (package  is  available,  but  cannot  be
       installed, upgraded, etc.). Packages from Hotfix repositories  or  Com-
       mandline repository are not affected by Fail-safe mechanisms.
AUTHOR
       See AUTHORS in DNF source distribution.
COPYRIGHT
       2012-2020, Red Hat, Licensed under GPLv2+
4.7.0                            Apr 08, 2024                DNF.MODULARITY(7)