deb-mock/docs/Feature-package-managers.md
robojerk 4c0dcb2522
Some checks failed
Build Deb-Mock Package / build (push) Successful in 54s
Lint Code / Lint All Code (push) Failing after 1s
Test Deb-Mock Build / test (push) Failing after 36s
enhance: Add comprehensive .gitignore for deb-mock project
- Add mock-specific build artifacts (chroot/, mock-*, mockroot/)
- Include package build files (*.deb, *.changes, *.buildinfo)
- Add development tools (.coverage, .pytest_cache, .tox)
- Include system files (.DS_Store, Thumbs.db, ._*)
- Add temporary and backup files (*.tmp, *.bak, *.backup)
- Include local configuration overrides (config.local.yaml, .env.local)
- Add test artifacts and documentation builds
- Comprehensive coverage for Python build system project

This ensures build artifacts, chroot environments, and development
tools are properly ignored in version control.
2025-08-18 23:37:49 -07:00

1.1 KiB

layout title
default Feature DNF

DNF

This is default package manager for mock. You can enforce it (e.g. in older Mock) using>

config_opts['package_manager'] = 'dnf'

YUM

Yum is still used in RHEL 7 and olders. You can enable it using

config_opts['package_manager'] = 'yum'

MicroDNF

MicroDNF is written in C and does not need Python. It is present in minimal OCI containers. It can be enabled using:

config_opts['package_manager'] = 'microdnf'

However, MicroDNF still does not have buildep command. The current implementation still installs DNF (using microdnf) and use DNF to query the build deps.

You can use following options in the config:

config_opts['microdnf_command'] = '/usr/bin/microdnf'
# "dnf-install" is special keyword which tells mock to use install but with DNF
config_opts['microdnf_install_command'] = 'dnf-install microdnf dnf dnf-plugins-core distribution-gpg-keys'
config_opts['microdnf_builddep_command'] = '/usr/bin/dnf'
config_opts['microdnf_builddep_opts'] = []
config_opts['microdnf_common_opts'] = []