as an RFE for koji to provide support for
choosing between chroot/nspawn.
Cheers
-- Dennis
On 04/26/2017 02:35 PM, Dennis Gilmore wrote:
Please do not push this stable until there has been sufficient time
to
test in koji and possibly develop new features in koji to make
supporting chroot or systemd-nspawn configurable per tag/target
Dennis
El mié, 26-04-2017 a las 15:52 +0200, Miroslav Suchý escribió:
> Hi,
> I just released new version of Mock.
>
> I submitted it to updates-testing F26, F25 and EPEL-7 so please test
> it
> before it hit stable.
>
> From the release notes:
>
https://github.com/rpm-software-management/mock/wiki/Release-Notes
> -1.4.1
>
> There are new features:
>
> * Mock previously used chroot technology. Few past releases Mock
> offered
> systemd-nspawn which is modern container technology for better
> isolation. This release use systemd-nspawn as default. If you want
> to
> preserve previous behaviour you can use `--old-chroot` option.
> * Mock now uses bootstrap chroot to install target chroot. This is
> big
> change and see special paragraph at the bottom of this release notes.
> * Chroot now contains `/dev/hwrng` and `/dev/prandom` when they
> exists
> in host [[#33](https://github.com/rpm-software-management/mock/issues
> /33)]
> * We added %distro_section macro to Mageia configs
>
> There are some bugfixes:
>
> * Resultdir is now chowned to user who executed mock so they can
> delete
> the files.
> * Previously we declared that package state plugin is enabled by
> default, but the plugin was in fact disabled. It is now enabled by
> default (as stated in mock documentation)
> [[RHBZ#1277187](https://bugzilla.redhat.com/show_bug.cgi?id=1277187)]
> .
> * Creating directories for mount points have been delayed after mount
> of
> tmpfs [[#57](https://github.com/rpm-software-management/mock/issues/5
> 7)]
> * Exit code of machinectl is now ignored as machinectl set non-zero
> code
> even for non-fatal errors. Errors which are quite often not relevant
> nor
> important for mock.
> * hw_info plugin does not crash when output contains non-ASCII
> characters
> [[#68](https://github.com/rpm-software-management/mock/issues/68)]
>
> Notes:
> * This version has not been released for EL6. If you are using EL6
> and
> you want to use latest Mock, please upgrade you infrastructure to
> EL7.
> * Configs for s390 architecture has been removed as it is not
> supported
> any more.
> * Configs for aarch64 and ppc64le now use different GPG key as those
> architectures has been moved from Secondary to Primary.
> * Epel5 config points now to
Vault.centos.org. Note that EL5 has
> been
> EOLed. We will keep epel-5 config for some time. But any issue with
> building for epel-5 target will not be fixed.
>
> ## Bootstrap chroot
>
> 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.
>
>
> --
> Miroslav Suchy, RHCA
> Red Hat, Senior Software Engineer, #brno, #devexp, #fedora-buildsys
> _______________________________________________
> buildsys mailing list -- buildsys(a)lists.fedoraproject.org
> To unsubscribe send an email to buildsys-leave(a)lists.fedoraproject.or
> g
>
>
> _______________________________________________
> buildsys mailing list -- buildsys(a)lists.fedoraproject.org
> To unsubscribe send an email to buildsys-leave(a)lists.fedoraproject.org
--
Dennis Gregorovic
Associate Manager, PnT DevOps
Red Hat
dgregor(a)redhat.com T: +1 978.392.3112 M: +1 617.901.9799