# EPEL-8 RELENG STEPS The following is a reverse engineering of what is needed to set up and run a new EPEL release. It goes from steps that we find and did to make EPEL-8 in Fedora staging. We will review these notes to see what is needed to redo and later to be done in production High Level Steps ================ 0. Create the Package keys for EPEL-8 1. Create the epel8-base tag 2. Add to epel8-base the external repos pointing to http://kojipkgs.fedoraproject.org/repo/rhel/rhel8/koji/latest/$arch/RHEL-8-001/merged_repo/repodata/ 3. Add epel8-build buildroot tag to epel8-base. We are doing this because we are replicating how epel6 and epel7 were set up previously 4. Create an epel8 tag to hold the build rpms 5. Create a build target which use the epel8-build as buildroot and epel8 as the dist tag 6. regenerate the repos 7. Create the groups for koji a. stg-koji list-groups epel7-build b. stg-koji add-group epel8-build $group c. stg-koji add-group-pkg epel8-build $group $pkg [$pkg ...] 6. Create a dist-git tag for epel-8 and epel-modules-8 ``` $ sigul new-key --key-admin mohanboddu --name-real "Fedora EPEL" --name-comment 8 --name-email epel@fedoraproject.org epel-8 $ stg-koji add-tag epel8-base $ stg-koji add-external-repo -t epel8-base -p 20 rhel8-base http://infrastructure.fedoraproject.org/repo/rhel/rhel8/koji/latest/$arch/RHEL-8-001/ $ stg-koji add-tag epel8-build --arches 'aarch64 ppc64le s390x x86_64' --parent epel8-base $ stg-koji add-tag epel8 $ stg-koji add-target epel8 epel8-build epel8 $ stg-koji add-tag-inheritance epel8-build epel8 --priority 2 $ stg-koji regen-repo epel8-build $ stg-koji list-groups epel7-build $ stg-koji add-group epel8-build <> $ stg-koji add-group-pkg epel8-build <> <> $ stg-koji add-pkg --owner=releng epel8 epel-release epel-rpm-macros ## Edit the epel-release and epel-rpm-macros and make el8 src.rpm $ fedpkg-stage build --target epel8 --srpm epel-release-8-1.src.rpm $ fedpkg-stage build --target epel8 --srpm epel-rpm-macros-8-1.src.rpm $ fedpkg-stage build --target epel8 --srpm fedpkg-minimal-1.1.0-10.el8.rpm $ stg-koji add-group-pkg epel8-build build epel-release epel-rpm-macros fedpkg-minimal $ stg-koji regen-repo epel8-build git checkout -b epel-release.git $ stg-koji add-tag epel8-testing-candidate --parent epel8 $ stg-koji add-tag epel8-testing --parent epel8 $ stg-koji add-tag epel8-testing-pending --parent epel8-testing $ stg-koji add-tag epel8-signing-pending --parent epel8-testing-pending $ stg-koji add-tag epel8-pending --parent epel8 $ stg-koji add-tag epel8-override --parent epel8 $ stg-koji remove-tag-inheritance epel8-build epel8 $ stg-koji add-tag-inheritance epel8-build epel8-override --priority 2 $ stg-koji add-tag epel8-staging --parent epel8-build --arches 'aarch64 ppc64le s390x x86_64' $ stg-koji add-target epel8-staging epel8-staging $ stg-koji add-tag epel8-bootstrap --parent epel8-build --arches 'aarch64 ppc64le s390x x86_64' $ stg-koji edit-target epel8 --dest-tag epel8-testing-candidate $ stg-koji add-target epel8-candidate epel8-build epel8-testing-candidate Now register with pdc an epel8 branch for packages. We can follow https://docs.pagure.org/releng/sop_mass_branching.html This will set up <mboddu> https://pdc.stg.fedoraproject.org/rest_api/v1/product-versions/epel-8/ <mboddu> https://pdc.stg.fedoraproject.org/rest_api/v1/releases/epel-8/ "$sudo python scripts/pdc/create-product-release.py fedora <pdc-stg-token> epel 8 " "$sudo python scripts/pdc/create-product-release.py fedora <pdc-stg-token> epel 8" ``` # Notes ``` #!/usr/bin/sh if [ $# -lt 1 ] then echo "At least one package name should be provided" else TMPDIR=`mktemp -d /tmp/epel8.XXXXXX` pushd "$TMPDIR" for pkg in "$@" do fedpkg clone "$pkg" pushd "$pkg" fedpkg request-branch epel8 fedpkg request-branch epel8-playground popd done rm -rfv "$TMPDIR" fi ``` ``` $ stg-koji edit-tag --rename epel8-playground-build epel8-staging $ stg-koji remove-tag-inheritance epel8-playground-build epel8-build $ stg-koji add-tag-inheritance epel8-playground-build epel8-base $ stg-koji add-tag epel8-playground --parent epel8 $ stg-koji edit-target epel8-staging --rename epel8-playground-candidate --build-tag epel8-playground-build --dest-tag epel8-playground ```