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.
Please log in to add feedback.
This update has been submitted for testing by msuchy.
karma: -1
Previously meant to post a +1, not -1.
karma: +1
This update has been pushed to testing.
msuchy edited this update.
msuchy edited this update.
Works
Works great! LGTM! =)
Works great, no issues encountered so far!
Seems good
https://bugzilla.redhat.com/show_bug.cgi?id=1446847
Bodhi is disabling automatic push to stable due to negative karma. The maintainer may push manually if they determine that the issue is not severe.
This update has reached 3 days in testing and can be pushed to stable now if the maintainer wishes
no issues
After this update, fedora-review built rpm installation in mock is always failing, also my custom repository used during mock build is always failing to read its metadata. Downgrading to previous update is working very very fine. Hence -1 to this update
This version of mock attempts to enforce the presence of
dnf dnf-plugins-core distribution-gpg-keys
in the chroot, which breaks builds of minimized environments (such as those using only microdnf). Version 1.3.4 worked properly.No sir, those packages are present only in bootstrap chroot. Not in final chroot. Please read the release notes.
Over the past two weeks of using this, I ran into a bug / unwanted (and undocumented) change in behavior: local RPM packages can't be installed into the build environment anymore. I reported this issue at https://github.com/rpm-software-management/mock/issues/72
Changing my karma from +1 to -1 as a result, since this is a regression of the expected behavior for the default configuration.
@msuchy yes, I realized that and modified our scripts to pass
config_opts['use_bootstrap_container'] = False
, but it is still a change in expected behavior. If nothing else, it should probably fall back to using the non-bootstrap version if the packages needed for bootstrap are not present.works for me
LGTM
Works fine for me.
no regressions noted
ah I wish for such important package above people would have tested this new mock update functionality and then given karma. For me this package is still No-Go to f26 stable repo.
works for me
This update has been obsoleted by mock-1.4.2-1.fc26.