There are new features:
--bootstrap-chroot
, but first see knows bugs and issues.There is initial support for Fedora Modularity. You can add to config:
config_opts['module_enable'] = ['list', 'of', 'modules'] config_opts['module_install'] = ['module1/profile', 'module2/profile']
This will call dnf module enable list of modules
and dnf module install module1/profile module2/profile
during the init phase.
There are some bugfixes:
umount_root
is set to false [#1447658]--login
so profile.d
scripts are executed [#1450516] [#1462373]dnf repoquery
instead of repoquery for chroots which uses DNF.--mount
will mount LVM volumes [#1448017]There are new features:
--old-chroot
option./dev/hwrng
and /dev/prandom
when they exists in host [#33]There are some bugfixes:
Notes:
Mock is calling dnf --installroot
to install packages for target architecture into target directory. This works. Mostly. The only problem that use host DNF and rpm to install packages. But this can cause problem when new RPM feature is introduces. Like Soft dependencies or Rich dependencies. When you have EL6 host and try to install Fedora rawhide package with Rich dependency then rpm will fail and you cannot do anything about it. You can upgrade your build machine to Fedora rawhide, but that is often not possible when it is part of critical infrastructure.
So we introduced Boostrap chroot. And 'we' actually means Michael Cullen who implement it. And Igor Gnatenko who proposed this idea. Big kudos for both of them.
Bootstrap chroot means that we first create very minimal chroot for target platform and we call DNF/YUM from that platform. For example: when you are on RHEL7 and you want to build package for fedora-26-x86_64
, mock will first create chroot called fedora-26-x86_64-bootstrap
, it will install DNF and rpm there (fc26 versions). Then it will call DNF from fedora-26-x86_64-bootstrap
to install all needed packages to fedora-26-x86_64
chroot.
The disadvantage is that you will need more storage in /var/lib/mock
, the build is little bit slower. But you will hardly notice that unless you disabled yum_cache
and root_cache
plugins for some reasons.
The advantage is that you can use stable version of OS to build packages for even most recent OS. And vice versa.
If you want to preserve previous behaviour you can use --no-bootstrap-chroot
command line option or set:
config_opts['use_bootstrap_container'] = False
in your configuration.
Updates may require up to 24 hours to propagate to mirrors. If the following command doesn't work, please retry later:
sudo dnf upgrade --refresh --advisory=FEDORA-2017-3d88d9f8b5
Please login to add feedback.
This update has been submitted for testing by msuchy.
This update has obsoleted mock-1.4.1-1.fc26, and has inherited its bugs and notes.
Works great! LGTM! =)
This update has been pushed to testing.
I'm able to build epel6/rhel6 packages again, but only with explicitly specified:
I'm not sure if this is desired state. +1 if it is. I've just adjusted my config files.
Works
@mzink yes, this is desired state. You may want to merge your .rpmnew files with
rpmconf -o mock
@msuchy - perfect. (Epel6 was working out of the box. I had to change our internal IT buildconfig which is not bundled in mock rpm)
This update has reached the stable karma threshold and can be pushed to stable now if the maintainer wishes.
msuchy edited this update.
works for me
LGTM
This update has been submitted for stable by msuchy.
This update has been pushed to stable.