From 7120f95fd4f1ee03bb47148f4c3f6ceae95c59dc Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Mon, 17 Feb 2020 10:56:41 +0100 Subject: [PATCH] Revert "copr: be: install new mock on builders" This reverts commit 65ccfab58cd8dc2335f58ff5512084edd9d4b1d9. There are at least these problems: - new mock expects 'dnf.conf' to be set in child.cfg, not yum.conf - relative includes don't work, because copr-rpmbuild copies the site-defaults and child.cfg to separate config directory ... --- .../files/mock/centos-stream-aarch64.cfg | 4 +- .../files/mock/centos-stream-ppc64le.cfg | 4 +- .../files/mock/centos-stream-x86_64.cfg | 4 +- .../provision/files/mock/epel-8-aarch64.cfg | 6 +- .../provision/files/mock/epel-8-ppc64le.cfg | 6 +- .../provision/files/mock/epel-8-x86_64.cfg | 6 +- .../files/mock/fedora-rawhide-i386.cfg | 48 +++++ .../provision/files/mock/site-defaults.cfg | 11 ++ .../files/mock/templates/fedora-31.tpl | 168 ++++++++++++++++++ .../provision/provision_builder_tasks.yml | 6 - 10 files changed, 242 insertions(+), 21 deletions(-) create mode 100644 roles/copr/backend/files/provision/files/mock/fedora-rawhide-i386.cfg create mode 100644 roles/copr/backend/files/provision/files/mock/templates/fedora-31.tpl diff --git a/roles/copr/backend/files/provision/files/mock/centos-stream-aarch64.cfg b/roles/copr/backend/files/provision/files/mock/centos-stream-aarch64.cfg index 1bdbe3eac5..a965048873 100644 --- a/roles/copr/backend/files/provision/files/mock/centos-stream-aarch64.cfg +++ b/roles/copr/backend/files/provision/files/mock/centos-stream-aarch64.cfg @@ -1,4 +1,4 @@ -include('templates/centos-stream.tpl') +include('/etc/mock/templates/centos-stream.tpl') config_opts['root'] = 'centos-stream-aarch64' config_opts['target_arch'] = 'aarch64' @@ -6,7 +6,7 @@ config_opts['legal_host_arches'] = ('aarch64',) # Unfortunately, we need to temporarily set this # See: RHBZ 1756681 and RHBZ 1758467 -config_opts['dnf.conf'] += """ +config_opts['yum.conf'] += """ [main] best=False """ diff --git a/roles/copr/backend/files/provision/files/mock/centos-stream-ppc64le.cfg b/roles/copr/backend/files/provision/files/mock/centos-stream-ppc64le.cfg index 2c77b4db32..d7c194d532 100644 --- a/roles/copr/backend/files/provision/files/mock/centos-stream-ppc64le.cfg +++ b/roles/copr/backend/files/provision/files/mock/centos-stream-ppc64le.cfg @@ -1,4 +1,4 @@ -include('templates/centos-stream.tpl') +include('/etc/mock/templates/centos-stream.tpl') config_opts['root'] = 'centos-stream-ppc64le' config_opts['target_arch'] = 'ppc64le' @@ -6,7 +6,7 @@ config_opts['legal_host_arches'] = ('ppc64le',) # Unfortunately, we need to temporarily set this # See: RHBZ 1756681 and RHBZ 1758467 -config_opts['dnf.conf'] += """ +config_opts['yum.conf'] += """ [main] best=False """ diff --git a/roles/copr/backend/files/provision/files/mock/centos-stream-x86_64.cfg b/roles/copr/backend/files/provision/files/mock/centos-stream-x86_64.cfg index 65f37f7977..1dcd2b3308 100644 --- a/roles/copr/backend/files/provision/files/mock/centos-stream-x86_64.cfg +++ b/roles/copr/backend/files/provision/files/mock/centos-stream-x86_64.cfg @@ -1,4 +1,4 @@ -include('templates/centos-stream.tpl') +include('/etc/mock/templates/centos-stream.tpl') config_opts['root'] = 'centos-stream-x86_64' config_opts['target_arch'] = 'x86_64' @@ -6,7 +6,7 @@ config_opts['legal_host_arches'] = ('x86_64',) # Unfortunately, we need to temporarily set this # See: RHBZ 1756681 and RHBZ 1758467 -config_opts['dnf.conf'] += """ +config_opts['yum.conf'] += """ [main] best=False """ diff --git a/roles/copr/backend/files/provision/files/mock/epel-8-aarch64.cfg b/roles/copr/backend/files/provision/files/mock/epel-8-aarch64.cfg index 4fc09cfcc9..757de1f4d6 100644 --- a/roles/copr/backend/files/provision/files/mock/epel-8-aarch64.cfg +++ b/roles/copr/backend/files/provision/files/mock/epel-8-aarch64.cfg @@ -1,5 +1,5 @@ -include('templates/centos-8.tpl') -include('templates/epel-8.tpl') +include('/etc/mock/templates/centos-8.tpl') +include('/etc/mock/templates/epel-8.tpl') config_opts['root'] = 'epel-8-aarch64' config_opts['target_arch'] = 'aarch64' @@ -8,7 +8,7 @@ config_opts['legal_host_arches'] = ('aarch64',) # Unfortunately, we need to temporarily set this # See: RHBZ 1756681 and RHBZ 1758467 -config_opts['dnf.conf'] += """ +config_opts['yum.conf'] += """ [main] best=False """ diff --git a/roles/copr/backend/files/provision/files/mock/epel-8-ppc64le.cfg b/roles/copr/backend/files/provision/files/mock/epel-8-ppc64le.cfg index 95e361923f..61d1e444b4 100644 --- a/roles/copr/backend/files/provision/files/mock/epel-8-ppc64le.cfg +++ b/roles/copr/backend/files/provision/files/mock/epel-8-ppc64le.cfg @@ -1,5 +1,5 @@ -include('templates/centos-8.tpl') -include('templates/epel-8.tpl') +include('/etc/mock/templates/centos-8.tpl') +include('/etc/mock/templates/epel-8.tpl') config_opts['root'] = 'epel-8-ppc64le' config_opts['target_arch'] = 'ppc64le' @@ -8,7 +8,7 @@ config_opts['legal_host_arches'] = ('ppc64le',) # Unfortunately, we need to temporarily set this # See: RHBZ 1756681 and RHBZ 1758467 -config_opts['dnf.conf'] += """ +config_opts['yum.conf'] += """ [main] best=False """ diff --git a/roles/copr/backend/files/provision/files/mock/epel-8-x86_64.cfg b/roles/copr/backend/files/provision/files/mock/epel-8-x86_64.cfg index d901dbc8c4..1ca5118844 100644 --- a/roles/copr/backend/files/provision/files/mock/epel-8-x86_64.cfg +++ b/roles/copr/backend/files/provision/files/mock/epel-8-x86_64.cfg @@ -1,5 +1,5 @@ -include('templates/centos-8.tpl') -include('templates/epel-8.tpl') +include('/etc/mock/templates/centos-8.tpl') +include('/etc/mock/templates/epel-8.tpl') config_opts['root'] = 'epel-8-x86_64' config_opts['target_arch'] = 'x86_64' @@ -8,7 +8,7 @@ config_opts['legal_host_arches'] = ('x86_64',) # Unfortunately, we need to temporarily set this # See: RHBZ 1756681 and RHBZ 1758467 -config_opts['dnf.conf'] += """ +config_opts['yum.conf'] += """ [main] best=False """ diff --git a/roles/copr/backend/files/provision/files/mock/fedora-rawhide-i386.cfg b/roles/copr/backend/files/provision/files/mock/fedora-rawhide-i386.cfg new file mode 100644 index 0000000000..386d628112 --- /dev/null +++ b/roles/copr/backend/files/provision/files/mock/fedora-rawhide-i386.cfg @@ -0,0 +1,48 @@ +config_opts['root'] = 'fedora-rawhide-i386' +config_opts['target_arch'] = 'i686' +config_opts['legal_host_arches'] = ('i386', 'i586', 'i686', 'x86_64') +# config_opts['module_enable'] = ['list', 'of', 'modules'] +# config_opts['module_install'] = ['module1/profile', 'module2/profile'] +config_opts['chroot_setup_cmd'] = 'install @build' +config_opts['dist'] = 'rawhide' # only useful for --resultdir variable subst +config_opts['extra_chroot_dirs'] = [ '/run/lock', ] +config_opts['releasever'] = '32' + +# Temporary fix for https://bugzilla.redhat.com/show_bug.cgi?id=1773255 +config_opts['use_nspawn'] = False + +config_opts['package_manager'] = 'dnf' + +config_opts['yum.conf'] = """ +[main] +keepcache=1 +debuglevel=2 +reposdir=/dev/null +logfile=/var/log/yum.log +retries=20 +obsoletes=1 +gpgcheck=0 +assumeyes=1 +syslog_ident=mock +syslog_device= +install_weak_deps=0 +metadata_expire=0 +best=1 +module_platform_id=platform:f32 +protected_packages= + +# repos +[local] +name=local +baseurl=https://kojipkgs.fedoraproject.org/repos/rawhide/latest/i386 +cost=2000 +enabled=1 +skip_if_unavailable=False + +[local-source] +name=local-source +baseurl=https://kojipkgs.fedoraproject.org/repos/rawhide/latest/src/ +cost=2000 +enabled=0 +skip_if_unavailable=False +""" diff --git a/roles/copr/backend/files/provision/files/mock/site-defaults.cfg b/roles/copr/backend/files/provision/files/mock/site-defaults.cfg index 05bafe209b..e47fd6a445 100644 --- a/roles/copr/backend/files/provision/files/mock/site-defaults.cfg +++ b/roles/copr/backend/files/provision/files/mock/site-defaults.cfg @@ -27,6 +27,12 @@ config_opts['plugin_conf']['chroot_scan_opts'] = { 'only_failed': False, } +# hack: dnf would install elfutils-libelf from DTS, and that would break the transaction +config_opts['yum_install_command'] = 'install yum yum-utils shadow-utils distribution-gpg-keys elfutils-libelf' + +# https://bugzilla.redhat.com/show_bug.cgi?id=1745123, remove with new mock release +config_opts['dnf_install_command'] = 'install dnf dnf-plugins-core shadow-utils distribution-gpg-keys' + # https://bugzilla.redhat.com/show_bug.cgi?id=1690971 # https://bugzilla.redhat.com/show_bug.cgi?id=1741931 # https://github.com/rpm-software-management/mock/issues/338 @@ -36,6 +42,11 @@ config_opts['package_manager_attempt_delay'] = 10 # https://pagure.io/copr/copr/issue/1211 config_opts['nspawn_args'] += ['--rlimit=RLIMIT_NOFILE=10240'] +# don't hang on broken patches, and don't put color shell sequences into +# build-live.log file +# https://github.com/rpm-software-management/mock/issues/432 +config_opts['nspawn_args'] += ['--pipe'] + # Because some test-suites failed (historically, I don't have data), # also I believe it is releated to this: # https://github.com/rpm-software-management/mock/issues/186 diff --git a/roles/copr/backend/files/provision/files/mock/templates/fedora-31.tpl b/roles/copr/backend/files/provision/files/mock/templates/fedora-31.tpl new file mode 100644 index 0000000000..e82ac16baf --- /dev/null +++ b/roles/copr/backend/files/provision/files/mock/templates/fedora-31.tpl @@ -0,0 +1,168 @@ +config_opts['root'] = 'fedora-31-{{ target_arch }}' +# config_opts['module_enable'] = ['list', 'of', 'modules'] +# config_opts['module_install'] = ['module1/profile', 'module2/profile'] + +config_opts['chroot_setup_cmd'] = 'install @buildsys-build' + +config_opts['dist'] = 'fc31' # only useful for --resultdir variable subst +config_opts['extra_chroot_dirs'] = [ '/run/lock', ] +config_opts['releasever'] = '31' +config_opts['package_manager'] = 'dnf' +config_opts['bootstrap_image'] = 'fedora:31' + +config_opts['yum.conf'] = """ +[main] +keepcache=1 +debuglevel=2 +reposdir=/dev/null +logfile=/var/log/yum.log +retries=20 +obsoletes=1 +gpgcheck=0 +assumeyes=1 +syslog_ident=mock +syslog_device= +install_weak_deps=0 +metadata_expire=0 +best=1 +module_platform_id=platform:f31 +protected_packages= + +# repos + +[local] +name=local +baseurl=https://kojipkgs.fedoraproject.org/repos/f31-build/latest/$basearch/ +cost=2000 +enabled=0 +skip_if_unavailable=False + +[fedora] +name=fedora +metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch +gpgkey=file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-31-primary +gpgcheck=1 +skip_if_unavailable=False + +[updates] +name=updates +metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch +gpgkey=file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-31-primary +gpgcheck=1 +skip_if_unavailable=False + +[updates-testing] +name=updates-testing +metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-f$releasever&arch=$basearch +enabled=0 +gpgkey=file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-31-primary +gpgcheck=1 +skip_if_unavailable=False + +[fedora-debuginfo] +name=fedora-debuginfo +metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch +enabled=0 +gpgkey=file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-31-primary +gpgcheck=1 +skip_if_unavailable=False + +[updates-debuginfo] +name=updates-debuginfo +metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-debug-f$releasever&arch=$basearch +enabled=0 +gpgkey=file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-31-primary +gpgcheck=1 +skip_if_unavailable=False + +[updates-testing-debuginfo] +name=updates-testing-debuginfo +metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-debug-f$releasever&arch=$basearch +enabled=0 +gpgkey=file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-31-primary +gpgcheck=1 +skip_if_unavailable=False + +[fedora-source] +name=fedora-source +metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-$releasever&arch=$basearch +gpgkey=file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-31-primary +gpgcheck=1 +enabled=0 +skip_if_unavailable=False + +[updates-source] +name=updates-source +metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-source-f$releasever&arch=$basearch +gpgkey=file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-31-primary +gpgcheck=1 +enabled=0 +skip_if_unavailable=False + +# modular + +[fedora-modular] +name=Fedora Modular $releasever - $basearch +metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-modular-$releasever&arch=$basearch +# if you want to enable it, you should set best=0 +# see https://bugzilla.redhat.com/show_bug.cgi?id=1673851 +enabled=0 +repo_gpgcheck=0 +type=rpm +gpgcheck=1 +gpgkey=file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-$releasever-primary +skip_if_unavailable=False + +[fedora-modular-debuginfo] +name=Fedora Modular $releasever - $basearch - Debug +metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-modular-debug-$releasever&arch=$basearch +enabled=0 +repo_gpgcheck=0 +type=rpm +gpgcheck=1 +gpgkey=file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-$releasever-primary +skip_if_unavailable=False + +[fedora-modular-source] +name=Fedora Modular $releasever - Source +metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-modular-source-$releasever&arch=$basearch +enabled=0 +repo_gpgcheck=0 +type=rpm +gpgcheck=1 +gpgkey=file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-$releasever-primary +skip_if_unavailable=False + +[updates-modular] +name=Fedora Modular $releasever - $basearch - Updates +#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/Modular/$basearch/ +metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-modular-f$releasever&arch=$basearch +enabled=0 +repo_gpgcheck=0 +type=rpm +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch +skip_if_unavailable=False + +[updates-modular-debuginfo] +name=Fedora Modular $releasever - $basearch - Updates - Debug +#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/Modular/$basearch/debug/ +metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-modular-debug-f$releasever&arch=$basearch +enabled=0 +repo_gpgcheck=0 +type=rpm +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch +skip_if_unavailable=False + +[updates-modular-source] +name=Fedora Modular $releasever - Updates Source +#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/Modular/SRPMS/ +metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-modular-source-f$releasever&arch=$basearch +enabled=0 +repo_gpgcheck=0 +type=rpm +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch +skip_if_unavailable=False +""" diff --git a/roles/copr/backend/files/provision/provision_builder_tasks.yml b/roles/copr/backend/files/provision/provision_builder_tasks.yml index 780e2e3ee3..09f15eceea 100644 --- a/roles/copr/backend/files/provision/provision_builder_tasks.yml +++ b/roles/copr/backend/files/provision/provision_builder_tasks.yml @@ -18,12 +18,6 @@ shell: dnf -y upgrade when: prepare_base_image is defined -- name: install the latest mock and mock-core-configs from updates-testing - package: state=present name={{ item }} - with_items: - - https://kojipkgs.fedoraproject.org/packages/mock/2.0/2.fc31/noarch/mock-2.0-2.fc31.noarch.rpm - - https://kojipkgs.fedoraproject.org/packages/mock-core-configs/32.1/1.fc31/noarch/mock-core-configs-32.1-1.fc31.noarch.rpm - - name: enable copr repo in staging command: cmd: dnf copr -y enable {{ item }}