Update configs for riscv64

Almost identical to what's in F40, which some differences:
- Removed F38 (EOL)
- Use DNF5 unconditionally for F40/41/42/Rawhide (it's already a
  default). No functional change.

Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
This commit is contained in:
David Abdurachmanov 2024-12-17 12:26:53 +02:00
parent da1067f025
commit eda41512c0
Signed by: davidlt
GPG Key ID: 7A5F42FAF91FACC3
2 changed files with 321 additions and 1 deletions

View File

@ -4,7 +4,7 @@
Name: mock-core-configs
Version: 41.4
Release: 1%{?dist}
Release: 1.0.riscv64%{?dist}
Summary: Mock core config files basic chroots
License: GPL-2.0-or-later
@ -17,6 +17,8 @@ URL: https://github.com/rpm-software-management/mock/
Source: https://github.com/rpm-software-management/mock/releases/download/%{name}-%{version}-1/%{name}-%{version}.tar.gz
BuildArch: noarch
Patch10: mock-riscv64-configs.patch
# The mock.rpm requires this. Other packages may provide this if they tend to
# replace the mock-core-configs.rpm functionality.
Provides: mock-configs
@ -45,6 +47,7 @@ Rocky Linux and various other specific or combined chroots.
%prep
%setup -q
%patch10 -p1 -b .riscv64
%build
@ -149,6 +152,9 @@ fi
%ghost %config(noreplace,missingok) %{_sysconfdir}/mock/default.cfg
%changelog
* Tue Dec 17 2024 David Abdurachmanov <davidlt@rivosinc.com> 41.4-1.0.riscv64
- Update Fedora/RISCV configs for 40/41/42/Rawhide
* Mon Sep 30 2024 Pavel Raiskup <praiskup@redhat.com> 41.4-1
- update ELN repos (yselkowi@redhat.com)

314
mock-riscv64-configs.patch Normal file
View File

@ -0,0 +1,314 @@
diff --git a/etc/mock/fedora-39-riscv64.cfg b/etc/mock/fedora-39-riscv64.cfg
new file mode 100644
index 0000000..b996fbe
--- /dev/null
+++ b/etc/mock/fedora-39-riscv64.cfg
@@ -0,0 +1,5 @@
+config_opts['releasever'] = '39'
+config_opts['target_arch'] = 'riscv64'
+config_opts['legal_host_arches'] = ('riscv64',)
+
+include('templates/fedora-branched.tpl')
diff --git a/etc/mock/fedora-40-riscv64.cfg b/etc/mock/fedora-40-riscv64.cfg
new file mode 100644
index 0000000..2274e24
--- /dev/null
+++ b/etc/mock/fedora-40-riscv64.cfg
@@ -0,0 +1,74 @@
+config_opts['releasever'] = '40'
+config_opts['target_arch'] = 'riscv64'
+config_opts['legal_host_arches'] = ('riscv64',)
+
+config_opts['root'] = 'fedora-{{ releasever }}-{{ target_arch }}'
+
+config_opts['description'] = 'Fedora {{ releasever }}'
+# Pull directly from Koji working repositories
+config_opts['koji_direct'] = True
+
+config_opts['chroot_setup_cmd'] = 'install @{% if not koji_direct %}buildsys-{% endif %}build'
+
+config_opts['dist'] = 'fc{{ releasever }}' # only useful for --resultdir variable subst
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+
+# https://fedoraproject.org/wiki/Changes/BuildWithDNF5 for Fedora 40+
+config_opts['package_manager'] = '{% if releasever|int >= 40 %}dnf5{% else %}dnf{% endif %}'
+
+# Disabled, until Fedora 40 (riscv64) container image is generated
+config_opts['use_bootstrap'] = False
+#config_opts['bootstrap_image'] = 'fedora.riscv.rocks:3000/davidlt/fedora:{{ releasever }}'
+#config_opts['bootstrap_image'] = 'fedora.riscv.rocks:3000/davidlt/fedora:38'
+
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+system_cachedir=/var/cache/dnf
+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:f{{ releasever }}
+protected_packages=
+user_agent={{ user_agent }}
+
+# repos
+
+[local]
+name=local
+baseurl=http://fedora.riscv.rocks/repos/f{{ releasever }}-build/latest/$basearch/
+cost=2000
+enabled={{ koji_direct }}
+skip_if_unavailable=False
+
+{% if not koji_direct %}
+[fedora]
+name=fedora
+baseurl=http://fedora.riscv.rocks/repos-dist/f{{ releasever }}/latest/$basearch/
+gpgcheck=0
+skip_if_unavailable=False
+
+[fedora-debuginfo]
+name=fedora-debuginfo
+baseurl=http://fedora.riscv.rocks/repos-dist/f{{ releasever }}/latest/$basearch/debug/
+enabled=0
+gpgcheck=0
+skip_if_unavailable=False
+
+[fedora-source]
+name=fedora-source
+baseurl=http://fedora.riscv.rocks/repos-dist/f{{ releasever }}/latest/src/
+gpgcheck=0
+enabled=0
+skip_if_unavailable=False
+{% endif %}
+"""
diff --git a/etc/mock/fedora-41-riscv64.cfg b/etc/mock/fedora-41-riscv64.cfg
new file mode 100644
index 0000000..d13336a
--- /dev/null
+++ b/etc/mock/fedora-41-riscv64.cfg
@@ -0,0 +1,74 @@
+config_opts['releasever'] = '41'
+config_opts['target_arch'] = 'riscv64'
+config_opts['legal_host_arches'] = ('riscv64',)
+
+config_opts['root'] = 'fedora-{{ releasever }}-{{ target_arch }}'
+
+config_opts['description'] = 'Fedora {{ releasever }}'
+# Pull directly from Koji working repositories
+config_opts['koji_direct'] = True
+
+config_opts['chroot_setup_cmd'] = 'install @{% if not koji_direct %}buildsys-{% endif %}build'
+
+config_opts['dist'] = 'fc{{ releasever }}' # only useful for --resultdir variable subst
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+
+# https://fedoraproject.org/wiki/Changes/BuildWithDNF5 for Fedora 40+
+config_opts['package_manager'] = 'dnf5'
+
+# Disabled, until Fedora 41 (riscv64) container image is generated
+config_opts['use_bootstrap'] = False
+#config_opts['bootstrap_image'] = 'fedora.riscv.rocks:3000/davidlt/fedora:{{ releasever }}'
+#config_opts['bootstrap_image'] = 'fedora.riscv.rocks:3000/davidlt/fedora:41'
+
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+system_cachedir=/var/cache/dnf
+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:f{{ releasever }}
+protected_packages=
+user_agent={{ user_agent }}
+
+# repos
+
+[local]
+name=local
+baseurl=http://fedora.riscv.rocks/repos/f{{ releasever }}-build/latest/$basearch/
+cost=2000
+enabled={{ koji_direct }}
+skip_if_unavailable=False
+
+{% if not koji_direct %}
+[fedora]
+name=fedora
+baseurl=http://fedora.riscv.rocks/repos-dist/f{{ releasever }}/latest/$basearch/
+gpgcheck=0
+skip_if_unavailable=False
+
+[fedora-debuginfo]
+name=fedora-debuginfo
+baseurl=http://fedora.riscv.rocks/repos-dist/f{{ releasever }}/latest/$basearch/debug/
+enabled=0
+gpgcheck=0
+skip_if_unavailable=False
+
+[fedora-source]
+name=fedora-source
+baseurl=http://fedora.riscv.rocks/repos-dist/f{{ releasever }}/latest/src/
+gpgcheck=0
+enabled=0
+skip_if_unavailable=False
+{% endif %}
+"""
diff --git a/etc/mock/fedora-42-riscv64.cfg b/etc/mock/fedora-42-riscv64.cfg
new file mode 100644
index 0000000..9a94f09
--- /dev/null
+++ b/etc/mock/fedora-42-riscv64.cfg
@@ -0,0 +1,60 @@
+config_opts['releasever'] = '42'
+config_opts['target_arch'] = 'riscv64'
+config_opts['legal_host_arches'] = ('riscv64',)
+
+config_opts['root'] = 'fedora-rawhide-{{ target_arch }}'
+
+config_opts['description'] = 'Fedora Rawhide'
+# Pull directly from Koji working repositories
+config_opts['koji_direct'] = True
+
+config_opts['chroot_setup_cmd'] = 'install @{% if not koji_direct %}buildsys-{% endif %}build'
+
+config_opts['dist'] = 'rawhide' # only useful for --resultdir variable subst
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+
+# https://fedoraproject.org/wiki/Changes/BuildWithDNF5 for Fedora 40+
+config_opts['package_manager'] = 'dnf5'
+
+# Disabled, until Fedora Rawhide (riscv64) container image is generated
+config_opts['use_bootstrap'] = False
+#config_opts['bootstrap_image'] = 'fedora.riscv.rocks:3000/davidlt/fedora:{{ releasever }}'
+#config_opts['bootstrap_image'] = 'fedora.riscv.rocks:3000/davidlt/fedora:rawhide'
+
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+system_cachedir=/var/cache/dnf
+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:f{{ releasever }}
+protected_packages=
+user_agent={{ user_agent }}
+
+# repos
+
+[local]
+name=local
+baseurl=http://fedora.riscv.rocks/repos/rawhide/latest/$basearch/
+cost=2000
+enabled={{ koji_direct }}
+skip_if_unavailable=False
+
+{% if not koji_direct %}
+[fedora]
+name=fedora
+baseurl=http://fedora.riscv.rocks/repos/rawhide/latest/$basearch/
+gpgcheck=0
+skip_if_unavailable=False
+{% endif %}
+"""
diff --git a/etc/mock/fedora-eln-riscv64.cfg b/etc/mock/fedora-eln-riscv64.cfg
new file mode 100644
index 0000000..3cf209c
--- /dev/null
+++ b/etc/mock/fedora-eln-riscv64.cfg
@@ -0,0 +1,5 @@
+config_opts['target_arch'] = 'riscv64'
+config_opts['legal_host_arches'] = ('riscv64',)
+
+include('templates/fedora-eln.tpl')
+config_opts['description'] = 'Fedora ELN'
diff --git a/etc/mock/fedora-rawhide-riscv64.cfg b/etc/mock/fedora-rawhide-riscv64.cfg
new file mode 100644
index 0000000..9a94f09
--- /dev/null
+++ b/etc/mock/fedora-rawhide-riscv64.cfg
@@ -0,0 +1,60 @@
+config_opts['releasever'] = '42'
+config_opts['target_arch'] = 'riscv64'
+config_opts['legal_host_arches'] = ('riscv64',)
+
+config_opts['root'] = 'fedora-rawhide-{{ target_arch }}'
+
+config_opts['description'] = 'Fedora Rawhide'
+# Pull directly from Koji working repositories
+config_opts['koji_direct'] = True
+
+config_opts['chroot_setup_cmd'] = 'install @{% if not koji_direct %}buildsys-{% endif %}build'
+
+config_opts['dist'] = 'rawhide' # only useful for --resultdir variable subst
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+
+# https://fedoraproject.org/wiki/Changes/BuildWithDNF5 for Fedora 40+
+config_opts['package_manager'] = 'dnf5'
+
+# Disabled, until Fedora Rawhide (riscv64) container image is generated
+config_opts['use_bootstrap'] = False
+#config_opts['bootstrap_image'] = 'fedora.riscv.rocks:3000/davidlt/fedora:{{ releasever }}'
+#config_opts['bootstrap_image'] = 'fedora.riscv.rocks:3000/davidlt/fedora:rawhide'
+
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+system_cachedir=/var/cache/dnf
+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:f{{ releasever }}
+protected_packages=
+user_agent={{ user_agent }}
+
+# repos
+
+[local]
+name=local
+baseurl=http://fedora.riscv.rocks/repos/rawhide/latest/$basearch/
+cost=2000
+enabled={{ koji_direct }}
+skip_if_unavailable=False
+
+{% if not koji_direct %}
+[fedora]
+name=fedora
+baseurl=http://fedora.riscv.rocks/repos/rawhide/latest/$basearch/
+gpgcheck=0
+skip_if_unavailable=False
+{% endif %}
+"""