I have filed https://pagure.io/koji/issue/398 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@lists.fedoraproject.org >> To unsubscribe send an email to buildsys-le...@lists.fedoraproject.or >> g >> >> >> _______________________________________________ >> buildsys mailing list -- buildsys@lists.fedoraproject.org >> To unsubscribe send an email to buildsys-le...@lists.fedoraproject.org -- Dennis Gregorovic Associate Manager, PnT DevOps Red Hat dgre...@redhat.com T: +1 978.392.3112 M: +1 617.901.9799
signature.asc
Description: OpenPGP digital signature
_______________________________________________ buildsys mailing list -- buildsys@lists.fedoraproject.org To unsubscribe send an email to buildsys-le...@lists.fedoraproject.org