# EPEL 9 Next setup # Outline - koji - create external repo - mirror [c9s buildroot](https://kojihub.stream.centos.org/kojifiles/repos/c9s-build/latest/$basearch/) (with reposync due to symlinks) ([releng ticket](https://pagure.io/releng/issue/10235)) ✓ - (No need for grobisplitter as stream 9 has no modules in buildroot) - create epel9-next build target ✓ - dist macro override `.el9.next` ✓ - koji build groups (see section below) ✓ - fedpkg-minimal bootstrap - tag epel8 build to override tag ✓ - build for epel9-next ✓ - tag epel9-next build to override tag ✓ - untag epel8 build from override tag ✓ - signing - epel9 key setup ✓ - [configure robosignatory](https://pagure.io/fedora-infra/ansible/pull-request/808) to use epel9 key for epel9 and epel9-next ✓ - add epel9 product to PDC ✓ - fedscm-admin - [add branch SLAs](https://pagure.io/fedscm-admin/pull-request/72) ✓ - [check c9s compose metadata for valid epel package names](https://pagure.io/fedscm-admin/pull-request/72) ✓ - fedpkg - [update assert_valid_epel_package function](https://pagure.io/fedpkg/pull-request/453) ✓ - [add above change as a patch to fedpkg package](https://src.fedoraproject.org/rpms/fedpkg/pull-request/33) ✓ - bodhi - [update backend sync script](https://pagure.io/fedora-infra/ansible/pull-request/815) to include epel9-next release ✓ - [add epel9 tag to koji_sync_listener](https://pagure.io/fedora-infra/ansible/pull-request/819) ✓ - [add epel9-next tag to koji_sync_listener](https://pagure.io/fedora-infra/ansible/pull-request/826) ✓ - [add release](https://pagure.io/releng/issue/10360) ✓ - [add epel9 key id to bodhi pungi config](https://pagure.io/fedora-infra/ansible/pull-request/864) ✓ - [add initial epel9-next comps file](https://pagure.io/fedora-comps/pull-request/689) ([no empty group allowed](https://pagure.io/fedora-comps/pull-request/690)) ✓ - [update repomd template](https://pagure.io/fedora-infra/ansible/pull-request/866) ✓ - [use xz compression option for createrepo](https://pagure.io/fedora-infra/ansible/blob/main/f/roles/bodhi2/backend/templates/pungi.rpm.conf.j2#_89) ([original change](https://pagure.io/fedora-infra/ansible/c/a1e49de8d601f929202ab352d7fc9fedd564284b)) - run infra playbook ✓ - [epel-release](https://koji.fedoraproject.org/koji/buildinfo?buildID=1845105) ✓ - [epel-rpm-macros](https://koji.fedoraproject.org/koji/buildinfo?buildID=1848629) ✓ - [s390x refresh](https://issues.redhat.com/browse/PLTSBMAAS-336) ✓ - add epel9-next to mirrormanager (verified automatic detection) ✓ - [add epel9 key to distribution-gpg-keys](https://github.com/xsuchy/distribution-gpg-keys/pull/51) ✓ - [add epel9-next to mock-core-configs](https://github.com/rpm-software-management/mock/pull/786) ✓ - announcement email # fedpkg-minimal bootstrap - `koji tag-build epel9-next-override fedpkg-minimal-1.2.0-4.el8` [build](https://koji.fedoraproject.org/koji/buildinfo?buildID=1806102) ✓ - `fedpkg --release epel9-next build` from rawhide checkout [build](https://koji.fedoraproject.org/koji/buildinfo?buildID=1836381) ✓ - `koji tag-build epel9-next-override fedpkg-minimal-1.2.0-4.el9.next` ✓ - `koji untag-build epel9-next-override fedpkg-minimal-1.2.0-4.el8` ✓ - request epel9-next branch for fedpkg-minimal ([co-maintainer request](https://bugzilla.redhat.com/show_bug.cgi?id=2007051)) (optional) # release package https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-9 # koji tags ``` # main, base, and override tags koji add-tag epel9 koji add-tag --arches "aarch64 ppc64le s390x x86_64" epel9-base # no rhel9 repo yet #koji add-external-repo --mode bare --tag epel9-base rhel9-base \ # 'https://infrastructure.fedoraproject.org/repo/rhel/rhel9/$arch/' koji add-tag --parent epel9 epel9-override # build tag koji add-tag --arches "aarch64 ppc64le s390x x86_64" epel9-build koji add-tag-inheritance --priority 10 epel9-build epel9-override koji add-tag-inheritance --priority 20 epel9-build epel9-base koji add-group epel9-build build koji add-group-pkg epel9-build build \ redhat-release \ bash bzip2 coreutils cpio diffutils epel-release epel-rpm-macros \ fedpkg-minimal findutils gawk glibc-minimal-langpack grep gzip info make \ patch redhat-rpm-config rpm-build sed shadow-utils tar unzip util-linux \ which xz koji add-group epel9-build srpm-build koji add-group-pkg epel9-build srpm-build \ redhat-release \ bash epel-release epel-rpm-macros fedpkg-minimal glibc-minimal-langpack \ gnupg2 redhat-rpm-config rpm-build shadow-utils koji regen-repo epel9-build # other tags koji add-tag --parent epel9 epel9-pending koji add-tag --parent epel9 epel9-testing koji add-tag --parent epel9 epel9-testing-candidate koji add-tag --parent epel9-testing epel9-testing-pending koji add-tag --parent epel9-testing-pending epel9-signing-pending # targets #koji add-target epel9 epel9-build epel9-testing-candidate #koji add-target epel9-candidate epel9-build epel9-testing-candidate ``` ``` # main, base, and override tags koji add-tag epel9-next koji add-tag --parent epel9 --arches "aarch64 ppc64le s390x x86_64" epel9-next-base koji add-external-repo --mode bare --tag epel9-next-base c9s-buildroot \ 'https://infrastructure.fedoraproject.org/repo/centos/centos-9-stream/$arch/' koji add-tag --parent epel9-next epel9-next-override # build tag koji add-tag --arches "aarch64 ppc64le s390x x86_64" epel9-next-build koji add-tag-inheritance --priority 10 epel9-next-build epel9-next-override koji add-tag-inheritance --priority 20 epel9-next-build epel9-next-base koji edit-tag --extra rpm.macro.dist=.el9.next epel9-next-build koji add-group epel9-next-build build koji add-group-pkg epel9-next-build build \ centos-stream-release \ bash bzip2 coreutils cpio diffutils epel-release epel-rpm-macros \ fedpkg-minimal findutils gawk glibc-minimal-langpack grep gzip info make \ patch redhat-rpm-config rpm-build sed shadow-utils tar unzip util-linux \ which xz koji add-group epel9-next-build srpm-build koji add-group-pkg epel9-next-build srpm-build \ centos-stream-release \ bash epel-release epel-rpm-macros fedpkg-minimal glibc-minimal-langpack \ gnupg2 redhat-rpm-config rpm-build shadow-utils koji regen-repo epel9-next-build # other tags koji add-tag --parent epel9-next epel9-next-pending koji add-tag --parent epel9-next epel9-next-testing koji add-tag --parent epel9-next epel9-next-testing-candidate koji add-tag --parent epel9-next-testing epel9-next-testing-pending koji add-tag --parent epel9-next-testing-pending epel9-next-signing-pending # targets koji add-target epel9-next epel9-next-build epel9-next-testing-candidate koji add-target epel9-next-candidate epel9-next-build epel9-next-testing-candidate ``` # Koji build groups ``` $ koji list-groups epel8-build build [epel8-build] bash: None, mandatory [epel8-build] bzip2: None, mandatory [epel8-build] coreutils: None, mandatory [epel8-build] cpio: None, mandatory [epel8-build] diffutils: None, mandatory [epel8-build] epel-release: None, mandatory [epel8-build] epel-rpm-macros: None, mandatory [epel8-build] fedpkg-minimal: None, mandatory [epel8-build] findutils: None, mandatory [epel8-build] gawk: None, mandatory [epel8-build] gcc: None, mandatory [epel8-build] gcc-c++: None, mandatory [epel8-build] grep: None, mandatory [epel8-build] gzip: None, mandatory [epel8-build] info: None, mandatory [epel8-build] make: None, mandatory [epel8-build] patch: None, mandatory [epel8-build] redhat-release: None, mandatory [epel8-build] redhat-release-everything: None, mandatory [epel8-build] redhat-release-server: None, mandatory [epel8-build] redhat-rpm-config: None, mandatory [epel8-build] rpm-build: None, mandatory [epel8-build] sed: None, mandatory [epel8-build] shadow-utils: None, mandatory [epel8-build] tar: None, mandatory [epel8-build] unzip: None, mandatory [epel8-build] util-linux: None, mandatory [epel8-build] util-linux-ng: None, mandatory [epel8-build] which: None, mandatory [epel8-build] xz: None, mandatory [epel8-build] srpm-build [epel8-build] bash: None, mandatory [epel8-build] epel-release: None, mandatory [epel8-build] epel-rpm-macros: None, mandatory [epel8-build] fedpkg-minimal: None, mandatory [epel8-build] git: None, mandatory [epel8-build] gnupg: None, mandatory [epel8-build] make: None, mandatory [epel8-build] redhat-release: None, mandatory [epel8-build] redhat-release-everything: None, mandatory [epel8-build] redhat-release-server: None, mandatory [epel8-build] redhat-rpm-config: None, mandatory [epel8-build] rpm-build: None, mandatory [epel8-build] shadow-utils: None, mandatory [epel8-build] ``` - The above is for epel8/rhel8. Build options have changed with rhel8. Below is suggested groups - build - bash - bzip2 - centos-stream-release - coreutils - cpio - diffutils - epel-release - epel-rpm-macros - fedpkg-minimal - findutils - gawk - glibc-minimal-langpack - grep - gzip - info - make - patch - redhat-rpm-config - rpm-build - sed - shadow-utils - tar - unzip - util-linux - which - xz - srpm-build - bash - centos-stream-release - fedpkg-minimal - glibc-minimal-langpack - gnupg2 - redhat-rpm-config - rpm-build - shadow-utils # PDC https://pdc.fedoraproject.org/rest_api/v1/product-versions/#tab_create https://pagure.io/releng/blob/main/f/scripts/pdc/create-product-release.py # EPEL 8 Reference - https://hackmd.io/@carlwgeorge/ry-qCXDYv