Dne 27.4.2017 v 17:30 Vít Ondruch napsal(a):

Dne 26.4.2017 v 15:52 Miroslav Suchý napsal(a):
## Bootstrap chroot
This does not work as expected. Trying to setup RHEL6 (and 7 probably as
well) buildroot on Rawhide fails:


the "--no-bootstrap-chroot" option or
"config_opts['use_bootstrap_container'] = False" described bellow should

This appears to be caused by remaint of old days:

$ cat ~/.config/mock.cfg | grep yum
config_opts['yum_command'] = '/usr/bin/yum-deprecated'

Should not be issue for most of you.



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.

buildsys mailing list -- buildsys@lists.fedoraproject.org
To unsubscribe send an email to buildsys-leave@lists.fedoraproject.org