Released on 2020-04-02.
Mock 2.2 new features:
-
/etc/mock/site-defaults.cfgwas moved from /etc to %doc, and the config file is now much smaller (and moved tomock-core-configs). Even before the file was meant to be documentation-only (everything commented-out), but since it was also configuration file - with frequent updates in RPM - it was very easy to stop following what’s new there (#555). -
Mock no more strictly depends on
mock-core-configspackage, but depends onmock-configsinstead. Even thoughmock-core-configspackage still providesmock-configs, but other packages can as well, so users now can provide alternatives tomock-core-configs(#544). -
New
config_opts['isolation']option invented (alternative to--isolation) to replace booleanconfig_opts['use_nspawn']. The possible values arenspawn,simpleandauto(default). Whenautois specified mock tries to usenspawnand if it is not possible, it falls-back tosimplechroot. This is useful to make mock work by default in environments like Fedora Toolbox, Podman and Docker. The olduse_nspawnoption still works, butisolationhas preference (#337 and #550). -
The
LANGis set toC.UTF-8by default (and always) for chrooted processes. Previously mock inherited this value from host environment, and defaulted toC.UTF-8otherwise. This was done to make mock more deterministic, users can change the default byconfig_opts['environment']['LANG'](#451).
Mock 2.2 bugfixes:
-
Fix for doubled log entries in some situations (#539, RHBZ#1805631).
-
Fix to make mock work in Fedora Toolbox even with
--bootstrap-chroot(#550). -
Fix for mock in
--privilegeddocker container whereos.getlogin()did not work (#551). -
When
--bootstrap-chrootis enabled, things likerpm -qa --root ...are executed in bootstrap chroot, instead of on host. This is to assure that the RPM used is compatible with target chroot RPMDB (#525). -
The
mock --chroot -- CMD ARG1 ARG2command was fixed so it works correctly for both--isolation=simple|nspawnanduse_bootstrap=True|False, the caveats in--shelland--chrootare now better documented in manual page (#550). -
Mock
--chainwith--isolation=simplewas fixed to work with external URLs (#542). -
Killing of forgotten chrooted processes was made more robust. We now kill also “daemons” started on background during chroot initialization – when packages are installed to mock chroot and some package scriptlet mistakenly spawns background process (#183).
-
The
--use-bootstrap-imagewas fixed to work on EL7 properly (#536). -
Stuff below
<bootstrap_root>/tmpis now passed down to mock chroot even with--isolation=nspawn(default). Previously - everything mock prepared below that directory was automatically overmounted bysystemd-nspawn. So newly, stuff like--install /tmp/some.rpmor repositories likefile:///tmp/test-repowill be correctly used through--bootstrap-chroot. This fix requires new-enoughsystemd-nspawnwhich supports$SYSTEMD_NSPAWN_TMPFS_TMPenvironment variable (#502). -
Mock configuration; the host-local
baseurl=file:///some/path/$basearchrepositories with dnf variables inside were fixed for--bootstrap-chroot(RHBZ#1815703). -
Mock configuration; the host-local
metalink=file:///some/host/file(and mirrorlist) repositories were are fixed for bootstrap (RHBZ#1816696). -
With bootstrap, we use configured yum commands instead of hard-wired
/usr/bin/yum(#518). -
The
package_stateplugin was fixed to cleanup RPMDB before executingrpm -qa. This broke builds on targets with incompatible RPMDB backends before (e.g. OpenMandriva).
Mock-core-configs 32.6
-
The
site-defaults.cfgconfig file was moved from mock tomock-core-configs. -
The
config_opts['isolation']is now used instead ofconfig_opts['use_nspawn'], when necessary. -
We declare the minimal version of
mockbyRequires:now. At this point it is version 2.2+. -
The default bootstrap image was specified for Amazon Linux conifgs.
Following contributors contributed to this release:
- Neal Gompa
- Owen W. Taylor
- Paul Howarth
Thank you.