Release 6.7 - 2026-03-02
New features and important changes
-
The default mock
umaskhas been changed from0002to0022to prevent permission issues. The previous setting caused unexpected default permissions during image builds inside Mock. -
New
expand_specplugin: This plugin expands the specfile into expanded-spec.txt within the results directory. This ensures access to a fully parsed and accurate specfile from within the chroot. (Issue #1705) -
/bin/yumsupport for--calculate-dependencies: The--calculate-dependenciescommand now supports the yum package manager for building older distributions. This allows the use of appropriate bootstrap images with/bin/yumwithout issues. Additionally,mock-hermetic-repohas been updated with a--compatibilityflag to create repositories compatible with bothdnfandyum. -
The
traceLog()decorator, used for tracking when internal methods are entered and exited, has been disabled. Warning: We plan to remove this decorator entirely; please follow issue#1681 for updates. In the meantime, you can export theMOCK_TRACE_LOG=trueenvironment variable to revert this change and re-enable the logging. -
The suggested location for the host certificates bundle has been updated from
/etc/pki/tls/certs/ca-bundle.crtto/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem, following the droppingOfCertPemFile Fedora Change.These bundles are automatically synced into Mock chroots for specific targets (e.g., openSUSE). This new location is also compatible with EPEL 8 hosts. Fixes issue#1667,
Bugfixes
-
RISC-V Personality Recognition: Mock now recognizes
riscv32andriscv64architectures when selecting the execution personality for the RPM/DNF stack (see personality(2)). -
mock --scrub=allnow correctly backs up successful builds from the buildroot. This resolves issue#1639. The backup process now usesmvsemantics instead ofcp, which avoids file duplication, preserves timestamps, and improves performance. Following a security review, the use ofutil.runwas replaced withos.replaceto ensure files are overwritten safely. Internal logs and comments inbackup_build_resultshave also been clarified. -
Mock no longer fails if
resolv.confis missing on the host. While builds requiring network access (--enable-networking) will still fail later, Mock will no longer crash with aFileNotFoundErrorduring the initialization phase. -
Hermetic builds now provide access to the “offline repository” from within the (directory with RPM files) via the
/hermetic_repobind-mount (PR#1712).While some packages expect
/var/cache/{dnf|yum}to be populated with these downloaded RPMs,dnf4does not do so for the “offline” repositories (baseurl=file://...) used in hermetic builds (unlikednf5withkeepcache=1). Providing/hermetic_repoensures that buildroot packages are always easily accessible. -
Bootstrap image caching for hermetic builds now utilizes skopeo sync instead of
podman pull|savecommands. Skopeo handles digests more reliably, ensuring the correct image is always used. -
The
file_util.rmtreecleanup process has been significantly accelerated, particularly for large buildroots. For example, the cleanup time for a tree containing ~2M files has been reduced from over 13 minutes to approximately one minute. -
Fixed the
mock --helpoutput to inform user about--scrub=bootstrap. -
The
unbreqplugin now supports both--isolation=simpleand--no-bootstrap-chrootoptions. Additionally, the plugin no longer crashes when encountering(foo if bar)expressions inBuildRequires. -
The performance of
unbreqhas been significantly improved through caching and parallelization, and the plugin now logs standard output for failed commands. -
The Mock package now pulls in
dnf5by default on Enterprise Linux 11+ distributions.
Mock Core Configs 44.2 changes
- openSUSE Tumbleweed configs now use DNF5 for the package manager.
The following contributors have contributed to this release:
- Marián Konček
- Miroslav Suchý
- mkoncek
- Neal Gompa
- nikitych
- Pavel Raiskup
- Sérgio M. Basto
- Simone Caronni
- Tomas Kopecek
- Yuming Zhu
Thank You!