diff --git a/90-epel.preset b/90-epel.preset
index b3f4e22..d4d9701 100644
--- a/90-epel.preset
+++ b/90-epel.preset
@@ -1,9 +1,5 @@
-# Also see:
-# https://fedoraproject.org/wiki/Starting_services_by_default
-#
-# https://bugzilla.redhat.com/show_bug.cgi?id=1901721
-enable x509watch.timer
-#
-# https://bugzilla.redhat.com/show_bug.cgi?id=1986205
-#
-enable certbot-renew.timer
+# See https://docs.fedoraproject.org/en-US/packaging-guidelines/DefaultServices/
+# for the Fedora policy. EPEL follows the same policy. The EPEL Steering
+# Committee can approve exceptions to the policy, which will be defined in this
+# file.
+
diff --git a/GPL b/GPL-2.0-only.txt
similarity index 96%
rename from GPL
rename to GPL-2.0-only.txt
index 3c10746..9efa6fb 100644
--- a/GPL
+++ b/GPL-2.0-only.txt
@@ -1,16 +1,8 @@
-*****************************************************************************
-The following copyright applies to the Red Hat Linux compilation and any
-portions of Red Hat Linux it does not conflict with. Whenever this
-policy does conflict with the copyright of any individual portion of Red Hat
-Linux, it does not apply.
-
-*****************************************************************************
-
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -312,8 +304,7 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ with this program; if not, see .
Also add information on how to contact you by electronic and paper mail.
@@ -337,8 +328,8 @@ necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
- , 1 April 1989
- Ty Coon, President of Vice
+ , 1 April 1989
+ Moe Ghoul, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
diff --git a/RPM-GPG-KEY-EPEL-10 b/RPM-GPG-KEY-EPEL-10
new file mode 100644
index 0000000..adf4f88
--- /dev/null
+++ b/RPM-GPG-KEY-EPEL-10
@@ -0,0 +1,29 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQINBGV4X6kBEAC3eQxgiWuo08uc3mHo4ELux++uqTnYz/tJzEf9Ou3h36WnhumA
+Nvs+Ts5h8PBx879Y9/aIX1Z20p1kf6tBCinZnEJu59n+TAAsph0+XQlV1l5YkleK
+Z2ff/Fg65k8QcLXWaIGykA/FaKznRiSurGuD6tRGhJw7DawEwBJr8QZSkRUpnH1L
+URW97Q/iKrRPiE5VEayE0y8eAL28jIIiFvR+4oJMzvCsRRB/2wYZ2MlJOW91hcYf
+mbUoXKOBD5UzsJylu7kj25K/ge8rEJ7KicOOwcdYddxsU3DxGSSfwF8AMagENcm2
+XROeXknjm84A8sNlUkFZBJwfuc7eRTiZGJrnQQVYLrkKj8Mxpq9Ts7hU51TqAWNI
+uvGDlJdYNE3D2RMqjMEsZ8ej08Thrib6xslu4NzTBkt+6QNnXL4E3hEgYtoyio60
+GswSz2ulogKg7X4JrNdJYE8/qNowyF3hoVgj5TG1/wQRq+5HlMMOLjgGu9wzLUix
+fnVfEUnzaofbrUf4/GabCaeY8xRe4tFQrvzigQ4g+kgwKKnfAeqBmPov0yljkw9z
+BYJWR5zvaw0ffg9Ing00KUSaXBXA5jSlgk1603Y+LefY1SlXsTyqohiRvGH6FI77
+HNMo72DwoJfFcYjncZUzKgXWJECR4nhVsdj6pKoOjcQ4aSuyVxtsR86ASQARAQAB
+tChGZWRvcmEgKGVwZWwxMCkgPGVwZWxAZmVkb3JhcHJvamVjdC5vcmc+iQJOBBMB
+CAA4FiEEfY0Vy/xOYmiFkfsmM9mFF+N+0VgFAmV4X6kCGw8FCwkIBwIGFQoJCAsC
+BBYCAwECHgECF4AACgkQM9mFF+N+0Vhv/A/+PlhPLSctGRCUEahE+cN4764Acc3p
+l40ZYzXRhqR0/Tc1/cSDjlA3qVTc8SPohi5OJXwCyr9EiMqKoyoDN097euqbYpyp
+yN/Pj0lBjsXwcpdDtZ21WGeQU0Khb04N68bMtJbDaxeBciTvDDQravZuPPh0m4Rg
+Z6myEoa6Aa6EK0hI1Qwi1qIWeRiuEkVT671IaKVETBW5XiUpNBXDAB/L+6DzUF9u
+scBzfsUDiPO6NrpYDtV3jwq22y6gWluIct/Ka8brwPbqK2sBfFzrHboRhfqlTGjs
+7F9qUGwIQZn/A8iozXZYQ0+JG1bhQyvjA8eN1GOcRpT+O7H7JXN49o6IG2As4+iK
+F04+qjqAu2sVfpD8mzM2VubFNllcKKiyCzRYHhSbObRCPzsudDL9GPiXeGGaCuWg
+sDkiA1MESvf2tLETAGBs/TziO4GwmXUtlKbRiq1FYm90mVq9mBxPZ/Idn+yZusNB
+0O5SXIbI8lYZw5n4XTK4b+byHRBYsOTHiTsGvjTF2Y7oSwW2CVUmL6RZ23mI4qoY
+1p5kzRS+GjT1acnTei/FTsOlIKCsjfeHx7uxCkX6xpAD8P3UtLQqfsgH0CL4vSZt
+TGO6L1InQlp4ZG3OYIomTKbD3/R0wod3U3dTqdulQMXL895u6OLTY3spY2m2MO2k
+p9Dfd2pKuxK9Mys=
+=mhQZ
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/RPM-GPG-KEY-EPEL-9 b/RPM-GPG-KEY-EPEL-9
deleted file mode 100644
index 234c12f..0000000
--- a/RPM-GPG-KEY-EPEL-9
+++ /dev/null
@@ -1,29 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQINBGE3mOsBEACsU+XwJWDJVkItBaugXhXIIkb9oe+7aadELuVo0kBmc3HXt/Yp
-CJW9hHEiGZ6z2jwgPqyJjZhCvcAWvgzKcvqE+9i0NItV1rzfxrBe2BtUtZmVcuE6
-2b+SPfxQ2Hr8llaawRjt8BCFX/ZzM4/1Qk+EzlfTcEcpkMf6wdO7kD6ulBk/tbsW
-DHX2lNcxszTf+XP9HXHWJlA2xBfP+Dk4gl4DnO2Y1xR0OSywE/QtvEbN5cY94ieu
-n7CBy29AleMhmbnx9pw3NyxcFIAsEZHJoU4ZW9ulAJ/ogttSyAWeacW7eJGW31/Z
-39cS+I4KXJgeGRI20RmpqfH0tuT+X5Da59YpjYxkbhSK3HYBVnNPhoJFUc2j5iKy
-XLgkapu1xRnEJhw05kr4LCbud0NTvfecqSqa+59kuVc+zWmfTnGTYc0PXZ6Oa3rK
-44UOmE6eAT5zd/ToleDO0VesN+EO7CXfRsm7HWGpABF5wNK3vIEF2uRr2VJMvgqS
-9eNwhJyOzoca4xFSwCkc6dACGGkV+CqhufdFBhmcAsUotSxe3zmrBjqA0B/nxIvH
-DVgOAMnVCe+Lmv8T0mFgqZSJdIUdKjnOLu/GRFhjDKIak4jeMBMTYpVnU+HhMHLq
-uDiZkNEvEEGhBQmZuI8J55F/a6UURnxUwT3piyi3Pmr2IFD7ahBxPzOBCQARAQAB
-tCdGZWRvcmEgKGVwZWw5KSA8ZXBlbEBmZWRvcmFwcm9qZWN0Lm9yZz6JAk4EEwEI
-ADgWIQT/itE0RZcQbs6BO5GKOHK/MihGfAUCYTeY6wIbDwULCQgHAgYVCgkICwIE
-FgIDAQIeAQIXgAAKCRCKOHK/MihGfFX/EACBPWv20+ttYu1A5WvtHJPzwbj0U4yF
-3zTQpBglQ2UfkRpYdipTlT3Ih6j5h2VmgRPtINCc/ZE28adrWpBoeFIS2YAKOCLC
-nZYtHl2nCoLq1U7FSttUGsZ/t8uGCBgnugTfnIYcmlP1jKKA6RJAclK89evDQX5n
-R9ZD+Cq3CBMlttvSTCht0qQVlwycedH8iWyYgP/mF0W35BIn7NuuZwWhgR00n/VG
-4nbKPOzTWbsP45awcmivdrS74P6mL84WfkghipdmcoyVb1B8ZP4Y/Ke0RXOnLhNe
-CfrXXvuW+Pvg2RTfwRDtehGQPAgXbmLmz2ZkV69RGIr54HJv84NDbqZovRTMr7gL
-9k3ciCzXCiYQgM8yAyGHV0KEhFSQ1HV7gMnt9UmxbxBE2pGU7vu3CwjYga5DpwU7
-w5wu1TmM5KgZtZvuWOTDnqDLf0cKoIbW8FeeCOn24elcj32bnQDuF9DPey1mqcvT
-/yEo/Ushyz6CVYxN8DGgcy2M9JOsnmjDx02h6qgWGWDuKgb9jZrvRedpAQCeemEd
-fhEs6ihqVxRFl16HxC4EVijybhAL76SsM2nbtIqW1apBQJQpXWtQwwdvgTVpdEtE
-r4ArVJYX5LrswnWEQMOelugUG6S3ZjMfcyOa/O0364iY73vyVgaYK+2XtT2usMux
-VL469Kj5m13T6w==
-=Mjs/
------END PGP PUBLIC KEY BLOCK-----
diff --git a/crb b/crb
new file mode 100755
index 0000000..dfdd88f
--- /dev/null
+++ b/crb
@@ -0,0 +1,99 @@
+#!/bin/bash
+#
+# Enable / Disable / Status the codeready-builder(CRB) or equivalent repo.
+#
+# Copyright (C) 2024
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Authors:
+# Troy Dawson
+#
+
+
+###############
+# Show help
+###############
+usage() {
+ echo "Usage `basename $0` [ enable | disable | status ] " >&2
+ echo >&2
+ echo "Enable, Disable, or give the status of the CodeReady Builder (CRB) repo" >&2
+ echo >&2
+ echo "Options:" >&2
+ echo " enable" >&2
+ echo " Enable the CRB repo" >&2
+ echo " disable" >&2
+ echo " Disable the CRB repo" >&2
+ echo " status" >&2
+ echo " Show if the CRB repo is enabled or disabled" >&2
+ echo " help" >&2
+ echo " Show this options menu" >&2
+ echo >&2
+ echo "Environment Variable:" >&2
+ echo " FORCE_DNF=1 Set this before the command to force the use of" >&2
+ echo " 'dnf config-manager' even on RHEL systems." >&2
+ echo " Example: FORCE_DNF=1 $(basename "$0") enable" >&2
+ echo >&2
+ popd &>/dev/null
+ exit 1
+}
+
+
+# Show the status
+show_status()(
+ # Determine if a version of CRB is enabled
+ crb_repo=$(dnf repolist | grep -i -e crb -e powertools -e codeready | grep -v -i -e debug -e source -e eus -e virt -e rhui | awk '{print $1}')
+ if [ "${crb_repo}" == "" ] ; then
+ echo "CRB repo is disabled"
+ else
+ echo "CRB repo is enabled and named: ${crb_repo}"
+ fi
+)
+
+# Enable or Disable the repo
+enable_disable_repo(){
+ command="$1"
+ # Determine which repo we need to change
+ crb_repo=$(dnf repolist --all | grep -i -e crb -e powertools -e codeready | grep -v -i -e debug -e source -e eus -e virt -e rhui | awk '{print $1}')
+
+ # Determine if we are on RHEL or not, then do the correct steps
+ source /etc/os-release
+ if [[ "${FORCE_DNF:-0}" -eq 0 && "${NAME}" =~ "Red Hat" ]] ; then
+ subscription-manager repos ${command} ${crb_repo}
+ else
+ # Determine if dnf-command(config-manager) is installed
+ if ! rpm -q --whatprovides 'dnf-command(config-manager)' > /dev/null 2>&1 ; then
+ echo "Error: Please run: dnf install 'dnf-command(config-manager)'" >&2
+ echo " before trying to enable/disable the CRB repo." >&2
+ echo "Aborting"'!' >&2
+ exit 1
+ fi
+ # Everything else uses dnf config-manager
+ dnf config-manager ${command} ${crb_repo}
+ fi
+}
+
+###############
+# Get our arguments
+###############
+key="$1"
+case $key in
+enable | --enable )
+ echo "Enabling CRB repo"
+ enable_disable_repo --enable
+ show_status
+;;
+disable | --disable )
+ echo "Disabling CRB repo"
+ enable_disable_repo --disable
+ show_status
+;;
+status | --status )
+ show_status
+;;
+* )
+ usage
+ exit 2
+;;
+esac
+
+exit 0
diff --git a/epel-modular.repo b/epel-modular.repo
deleted file mode 100644
index d898507..0000000
--- a/epel-modular.repo
+++ /dev/null
@@ -1,30 +0,0 @@
-[epel-modular]
-name=Extra Packages for Enterprise Linux Modular $releasever - $basearch
-# It is much more secure to use the metalink, but if you wish to use a local mirror
-# place its address here.
-#baseurl=https://download.example/pub/epel/$releasever/Modular/$basearch/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-modular-$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=1
-gpgcheck=1
-countme=1
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
-
-[epel-modular-debuginfo]
-name=Extra Packages for Enterprise Linux Modular $releasever - $basearch - Debug
-# It is much more secure to use the metalink, but if you wish to use a local mirror
-# place its address here.
-#baseurl=https://download.example/pub/epel/$releasever/Modular/$basearch/debug/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-modular-debug-$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
-gpgcheck=1
-
-[epel-modular-source]
-name=Extra Packages for Enterprise Linux Modular $releasever - $basearch - Source
-# It is much more secure to use the metalink, but if you wish to use a local mirror
-# place its address here.
-#baseurl=https://download.example/pub/epel/$releasever/Modular/source/tree/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-modular-source-$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
-gpgcheck=1
diff --git a/epel-next-testing.repo b/epel-next-testing.repo
deleted file mode 100644
index 53d7531..0000000
--- a/epel-next-testing.repo
+++ /dev/null
@@ -1,30 +0,0 @@
-[epel-next-testing]
-name=Extra Packages for Enterprise Linux $releasever - Next - Testing - $basearch
-# It is much more secure to use the metalink, but if you wish to use a local mirror
-# place its address here.
-#baseurl=https://download.example/pub/epel/testing/next/$releasever/Everything/$basearch/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-testing-next-$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
-gpgcheck=1
-countme=1
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
-
-[epel-next-testing-debuginfo]
-name=Extra Packages for Enterprise Linux $releasever - Next - Testing - $basearch - Debug
-# It is much more secure to use the metalink, but if you wish to use a local mirror
-# place its address here.
-#baseurl=https://download.example/pub/epel/testing/next/$releasever/Everything/$basearch/debug/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-testing-next-debug-$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
-gpgcheck=1
-
-[epel-next-testing-source]
-name=Extra Packages for Enterprise Linux $releasever - Next - Testing - $basearch - Source
-# It is much more secure to use the metalink, but if you wish to use a local mirror
-# place its address here.
-#baseurl=https://download.example/pub/epel/testing/next/$releasever/Everything/source/tree/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-testing-next-source-$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
-gpgcheck=1
diff --git a/epel-next.repo b/epel-next.repo
deleted file mode 100644
index bb1bc23..0000000
--- a/epel-next.repo
+++ /dev/null
@@ -1,30 +0,0 @@
-[epel-next]
-name=Extra Packages for Enterprise Linux $releasever - Next - $basearch
-# It is much more secure to use the metalink, but if you wish to use a local mirror
-# place its address here.
-#baseurl=https://download.example/pub/epel/next/$releasever/Everything/$basearch/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-next-$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=1
-gpgcheck=1
-countme=1
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
-
-[epel-next-debuginfo]
-name=Extra Packages for Enterprise Linux $releasever - Next - $basearch - Debug
-# It is much more secure to use the metalink, but if you wish to use a local mirror
-# place its address here.
-#baseurl=https://download.example/pub/epel/next/$releasever/Everything/$basearch/debug/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-next-debug-$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
-gpgcheck=1
-
-[epel-next-source]
-name=Extra Packages for Enterprise Linux $releasever - Next - $basearch - Source
-# It is much more secure to use the metalink, but if you wish to use a local mirror
-# place its address here.
-#baseurl=https://download.example/pub/epel/next/$releasever/Everything/source/tree/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-next-source-$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
-gpgcheck=1
diff --git a/epel-playground.repo b/epel-playground.repo
deleted file mode 100644
index 3736236..0000000
--- a/epel-playground.repo
+++ /dev/null
@@ -1,30 +0,0 @@
-[epel-playground]
-name=Extra Packages for Enterprise Linux $releasever - Playground - $basearch
-# It is much more secure to use the metalink, but if you wish to use a local mirror
-# place its address here.
-#baseurl=https://download.example/pub/epel/playground/$releasever/Everything/$basearch/os/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=playground-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
-gpgcheck=1
-countme=1
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
-
-[epel-playground-debuginfo]
-name=Extra Packages for Enterprise Linux $releasever - Playground - $basearch - Debug
-# It is much more secure to use the metalink, but if you wish to use a local mirror
-# place its address here.
-#baseurl=https://download.example/pub/epel/playground/$releasever/Everything/$basearch/debug/tree/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=playground-debug-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
-gpgcheck=1
-
-[epel-playground-source]
-name=Extra Packages for Enterprise Linux $releasever - Playground - $basearch - Source
-# It is much more secure to use the metalink, but if you wish to use a local mirror
-# place its address here.
-#baseurl=https://download.example/pub/epel/playground/$releasever/Everything/source/tree/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=playground-source-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
-gpgcheck=1
diff --git a/epel-release.spec b/epel-release.spec
index 12efb41..a866f61 100644
--- a/epel-release.spec
+++ b/epel-release.spec
@@ -1,202 +1,91 @@
-%bcond_with base
-%bcond_without next
-%bcond_with modular
-%bcond_with playground
-
Name: epel-release
-Version: 9
-Release: 1%{dist}
+Version: 10
+Release: %autorelease
Summary: Extra Packages for Enterprise Linux repository configuration
-License: GPLv2
-
-# This is a EPEL maintained package which is specific to
-# our distribution. Thus the source is only available from
-# within this srpm.
-URL: http://download.fedoraproject.org/pub/epel
-Source0: http://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-%{version}
-Source1: GPL
-
-Source100: epel.repo
-Source101: epel-next.repo
-Source102: epel-modular.repo
-Source103: epel-playground.repo
-
-Source200: epel-testing.repo
-Source201: epel-next-testing.repo
-Source202: epel-testing-modular.repo
-
-# EPEL default preset policy (borrowed from fedora's 90-default.preset)
-Source300: 90-epel.preset
-
+# Most things in this package are not considered copyrightable. If that were
+# true for everything in the package, the license identifier would be
+# LicenseRef-Not-Copyrightable. However, the exception is the crb script,
+# which is GPL-2.0-only. Per advice from Fedora Legal, we should use
+# GPL-2.0-only as the license identifier for the package in this scenario.
+# https://bugzilla.redhat.com/show_bug.cgi?id=2302438
+License: GPL-2.0-only
BuildArch: noarch
-Requires: redhat-release >= %{version}
-# epel-release is only for enterprise linux, not fedora
-Conflicts: fedora-release
-%if %{with next}
-Recommends: (epel-next-release if centos-stream-release)
-%endif
+URL: https://epel.io
+
+# keys
+Source10: https://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-%{version}
+
+# repo configs
+Source20: epel.repo
+Source21: epel-testing.repo
+
+# preset policy
+Source30: 90-epel.preset
+
+# Add epel crb script
+Source31: crb
+# epel crb script is licensed GPL-2.0-only
+Source32: GPL-2.0-only.txt
+
+# The setup process for EPEL involves installing epel-release before the EPEL
+# repository is available. For this to continue to work correctly, all
+# dependencies of this package must be available from the default repositories.
+# Notably, if weak dependencies of this package are not present at the time of
+# installation, they will be skipped and never get installed.
+# https://pagure.io/epel/issue/328
+
+# This should only be installed on Enterprise Linux with the same major version
+Requires: (redhat-release >= %{version} with redhat-release < %[%{version} + 1])
+
+# crb needs config-manager to run
+# But only recommend it, incase people do not need crb
+Recommends: dnf-command(config-manager)
+
+# SELinux policy modules related to EPEL
+Recommends: (selinux-policy-extra if selinux-policy)
%description
This package contains the Extra Packages for Enterprise Linux (EPEL) repository
-GPG key as well as configuration for yum.
-
-
-%if %{with next}
-%package -n epel-next-release
-Summary: Extra Packages for Enterprise Linux Next repository configuration
-Requires: %{name} = %{version}-%{release}
-
-
-%description -n epel-next-release
-This package contains the Extra Packages for Enterprise Linux (EPEL) Next
-configuration for yum.
-%endif
-
+configuration and GPG key.
%prep
%setup -q -c -T
-install -pm 644 %{SOURCE1} .
+# Add epel crb script license
+install -pm 644 %{SOURCE32} .
%install
-# GPG Key
-install -Dpm 644 %{SOURCE0} \
- %{buildroot}%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-EPEL-%{version}
+# keys
+install -Dp -m 0644 -t %{buildroot}%{_sysconfdir}/pki/rpm-gpg %{S:10}
-# yum repo configs
-install -dm 755 %{buildroot}%{_sysconfdir}/yum.repos.d
-%if %{with base}
-install -pm 644 %{SOURCE100} %{SOURCE200} %{buildroot}%{_sysconfdir}/yum.repos.d
-%endif
-%if %{with next}
-install -pm 644 %{SOURCE101} %{SOURCE201} %{buildroot}%{_sysconfdir}/yum.repos.d
-%endif
-%if %{with modular}
-install -pm 644 %{SOURCE102} %{SOURCE202} %{buildroot}%{_sysconfdir}/yum.repos.d
-%endif
-%if %{with playground}
-install -pm 644 %{SOURCE103} %{buildroot}%{_sysconfdir}/yum.repos.d
-%endif
+# repo configs
+install -Dp -m 0644 -t %{buildroot}%{_sysconfdir}/yum.repos.d %{S:20} %{S:21}
-# systemd presets
-install -pm 644 -D %{SOURCE300} %{buildroot}%{_prefix}/lib/systemd/system-preset/90-epel.preset
+# preset policy
+install -Dp -m 0644 -t %{buildroot}%{_prefix}/lib/systemd/system-preset %{S:30}
+
+# Add epel crb script
+install -D -pm744 -t %{buildroot}%{_bindir} %{SOURCE31}
+
+
+%post
+# Doing a check to see if crb is enabled is as hard and resource intense as enabling or disabling crb.
+# So we will say crb is recommended, without first checking. But only on the initial install.
+if [ "$1" -eq 1 ] ; then
+ echo "Many EPEL packages require the CodeReady Builder (CRB) repository."
+ echo "It is recommended that you run %{_bindir}/crb enable to enable the CRB repository."
+fi
%files
-%license GPL
-%if %{with base}
+%license GPL-2.0-only.txt
+%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-EPEL-%{version}
%config(noreplace) %{_sysconfdir}/yum.repos.d/epel.repo
%config(noreplace) %{_sysconfdir}/yum.repos.d/epel-testing.repo
-%endif
-%if %{with modular}
-%config(noreplace) %{_sysconfdir}/yum.repos.d/epel-modular.repo
-%config(noreplace) %{_sysconfdir}/yum.repos.d/epel-testing-modular.repo
-%endif
-%if %{with playground}
-%config(noreplace) %{_sysconfdir}/yum.repos.d/epel-playground.repo
-%endif
-%{_sysconfdir}/pki/rpm-gpg/*
%{_prefix}/lib/systemd/system-preset/90-epel.preset
-
-
-%if %{with next}
-%files -n epel-next-release
-%config(noreplace) %{_sysconfdir}/yum.repos.d/epel-next.repo
-%config(noreplace) %{_sysconfdir}/yum.repos.d/epel-next-testing.repo
-%endif
+%{_bindir}/crb
%changelog
-* Fri Oct 08 2021 Carl George - 9-1
-- Initial package for epel9-next
-
-* Fri Sep 03 2021 Mohan Boddu - 8-13
-- Change the baseurl to point to source/tree for srpms
-
-* Fri Jul 30 2021 Kevin Fenzi - 8-12
-- Enable certbot-renew.timer ( rhbz#1986205 )
-
-* Thu Jun 03 2021 Carl George - 8-11
-- Add epel-next-release subpackage
-
-* Sat Dec 05 2020 Kevin Fenzi - 8-10
-- Add x509watch.timer enabled by default. Fixes bug #1901721
-
-* Sat Oct 31 2020 Kevin Fenzi - 8-9
-- Add countme feature for epel. Fixes bug #1825984
-
-* Fri Dec 13 2019 Merlin Mathesius - 8-8%{dist}
-- Add modular repos.
-
-* Thu Oct 10 2019 Stephen Smoogen - 8-7%{dist}
-- Remove failovermethod from EPEL8 tree. It is no longer needed.
-
-* Mon Sep 16 2019 Stephen Smoogen - 8-6%{dist}
-- Change gpg key to use -8 versus -$releasever. This fixes bash problem
-
-* Tue Aug 6 2019 Stephen Smoogen - 8-5%{dist}
-- Fix playground release to have os/ on its name [Kevin Fenzi]
-- Make sure all values of $release are $releasever
-
-
-* Thu Aug 1 2019 Pablo Greco - 8-4
-- Use the correct var for dnf to expand
-- Update playground source url
-- Remove epel-modules repo
-- Use https in baseurl
-
-* Thu Aug 1 2019 Stephen Smoogen - 8-3
-- Make sure that the key name is named correctly
-
-* Thu Aug 1 2019 Stephen Smoogen - 8-2
-- Make baseurl paths match dl.fedoraproject.org
-- Add draft of epel8 packaging
-- Fix docs
-
-* Thu Jul 18 2019 Stephen Smoogen - 8-1
-- Update for RHEL-8
-- Add playground repo data
-- Clean out 90-epel.preset to make sure we dont override RHEL-8 items. Just add items in which EPEL needs.
-
-* Mon Oct 02 2017 Kevin Fenzi - 7-11
-- Add Conflicts on fedora-release to prevent people from installing on Fedora systems. Fixes bug #1497702
-
-* Sat Jun 24 2017 Kevin Fenzi - 7-10
-- Change mirrorlist= in repo files to be metalink= (as thats what they are). Fixes bug #1451212
-
-* Tue Dec 27 2016 Kevin Fenzi - 7-9
-- Add preset for drbdlinks package. Fixes bug #1405744
-
-* Sat Jul 23 2016 Kevin Fenzi - 7-8
-- Drop duplicate libstoragemgmt from presets. Fixes bug #1358971
-
-* Fri Jun 03 2016 Kevin Fenzi - 7-7
-- Drop initial-setup from presets. Fixes bug #1342511
-
-* Wed Mar 30 2016 Jason L Tibbitts III - 7-6
-- Remove macros.epel; let epel-rpm-macros handle it instead.
-
-* Tue Nov 25 2014 Rex Dieter 7-5
-- fix typo in macros.epel
-
-* Fri Nov 21 2014 Rex Dieter 7-4
-- add systemd 90-epel.preset
-
-* Fri Nov 21 2014 Rex Dieter 7-3
-- implement %%epel macro
-
-* Tue Sep 02 2014 Kevin Fenzi 7-2
-- Make repo files config(noreplace). Fixes bug #1135576
-
-* Thu Aug 28 2014 Dennis Gilmore - 7-1
-- enable gpg checking now we are out of beta
-
-* Wed Jun 18 2014 Kevin Fenzi 7-0.2
-- Drop unneeded up2date post/postun
-- Fixed up description.
-- Fixes bugs #1052434 and #1093918
-
-* Mon Dec 16 2013 Dennis Gilmore - 7-0.1
-- initial epel 7 build. gpg cheking is disabled
-
+%autochangelog
diff --git a/epel-testing-modular.repo b/epel-testing-modular.repo
deleted file mode 100644
index f312bb2..0000000
--- a/epel-testing-modular.repo
+++ /dev/null
@@ -1,30 +0,0 @@
-[epel-testing-modular]
-name=Extra Packages for Enterprise Linux Modular $releasever - Testing - $basearch
-# It is much more secure to use the metalink, but if you wish to use a local mirror
-# place its address here.
-#baseurl=https://download.example/pub/epel/testing/$releasever/Modular/$basearch
-metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-modular-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
-gpgcheck=1
-countme=1
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
-
-[epel-testing-modular-debuginfo]
-name=Extra Packages for Enterprise Linux Modular $releasever - Testing - $basearch - Debug
-# It is much more secure to use the metalink, but if you wish to use a local mirror
-# place its address here.
-#baseurl=https://download.example/pub/epel/testing/$releasever/Modular/$basearch/debug
-metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-modular-debug-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
-gpgcheck=1
-
-[epel-testing-modular-source]
-name=Extra Packages for Enterprise Linux Modular $releasever - Testing - $basearch - Source
-# It is much more secure to use the metalink, but if you wish to use a local mirror
-# place its address here.
-#baseurl=https://download.example/pub/epel/testing/$releasever/Modular/source/tree/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-modular-source-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
-gpgcheck=1
diff --git a/epel-testing.repo b/epel-testing.repo
index 0211f45..8335438 100644
--- a/epel-testing.repo
+++ b/epel-testing.repo
@@ -2,29 +2,35 @@
name=Extra Packages for Enterprise Linux $releasever - Testing - $basearch
# It is much more secure to use the metalink, but if you wish to use a local mirror
# place its address here.
-#baseurl=https://download.example/pub/epel/testing/$releasever/Everything/$basearch/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
+#baseurl=https://download.example/pub/epel/testing/$releasever${releasever_minor:+z}/Everything/$basearch/
+metalink=https://mirrors.fedoraproject.org/metalink?repo=epel${releasever_minor:+-z}-testing-$releasever&arch=$basearch
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever_major
gpgcheck=1
+repo_gpgcheck=0
+metadata_expire=24h
countme=1
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
+enabled=0
[epel-testing-debuginfo]
name=Extra Packages for Enterprise Linux $releasever - Testing - $basearch - Debug
# It is much more secure to use the metalink, but if you wish to use a local mirror
# place its address here.
-#baseurl=https://download.example/pub/epel/testing/$releasever/Everything/$basearch/debug/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-debug-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
+#baseurl=https://download.example/pub/epel/testing/$releasever${releasever_minor:+z}/Everything/$basearch/debug/
+metalink=https://mirrors.fedoraproject.org/metalink?repo=epel${releasever_minor:+-z}-testing-debug-$releasever&arch=$basearch
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever_major
gpgcheck=1
+repo_gpgcheck=0
+metadata_expire=24h
+enabled=0
[epel-testing-source]
name=Extra Packages for Enterprise Linux $releasever - Testing - $basearch - Source
# It is much more secure to use the metalink, but if you wish to use a local mirror
# place its address here.
-#baseurl=https://download.example/pub/epel/testing/$releasever/Everything/source/tree/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-source-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
+#baseurl=https://download.example/pub/epel/testing/$releasever${releasever_minor:+z}/Everything/source/tree/
+metalink=https://mirrors.fedoraproject.org/metalink?repo=epel${releasever_minor:+-z}-testing-source-$releasever&arch=source
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever_major
gpgcheck=1
+repo_gpgcheck=0
+metadata_expire=24h
+enabled=0
diff --git a/epel.repo b/epel.repo
index c162fe5..f186dbd 100644
--- a/epel.repo
+++ b/epel.repo
@@ -2,29 +2,35 @@
name=Extra Packages for Enterprise Linux $releasever - $basearch
# It is much more secure to use the metalink, but if you wish to use a local mirror
# place its address here.
-#baseurl=https://download.example/pub/epel/$releasever/Everything/$basearch/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=1
+#baseurl=https://download.example/pub/epel/$releasever${releasever_minor:+z}/Everything/$basearch/
+metalink=https://mirrors.fedoraproject.org/metalink?repo=epel${releasever_minor:+-z}-$releasever&arch=$basearch
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever_major
gpgcheck=1
+repo_gpgcheck=0
+metadata_expire=24h
countme=1
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
+enabled=1
[epel-debuginfo]
name=Extra Packages for Enterprise Linux $releasever - $basearch - Debug
# It is much more secure to use the metalink, but if you wish to use a local mirror
# place its address here.
-#baseurl=https://download.example/pub/epel/$releasever/Everything/$basearch/debug/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
+#baseurl=https://download.example/pub/epel/$releasever${releasever_minor:+z}/Everything/$basearch/debug/
+metalink=https://mirrors.fedoraproject.org/metalink?repo=epel${releasever_minor:+-z}-debug-$releasever&arch=$basearch
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever_major
gpgcheck=1
+repo_gpgcheck=0
+metadata_expire=24h
+enabled=0
[epel-source]
name=Extra Packages for Enterprise Linux $releasever - $basearch - Source
# It is much more secure to use the metalink, but if you wish to use a local mirror
# place its address here.
-#baseurl=https://download.example/pub/epel/$releasever/Everything/source/tree/
-metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-$releasever&arch=$basearch&infra=$infra&content=$contentdir
-enabled=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
+#baseurl=https://download.example/pub/epel/$releasever${releasever_minor:+z}/Everything/source/tree/
+metalink=https://mirrors.fedoraproject.org/metalink?repo=epel${releasever_minor:+-z}-source-$releasever&arch=source
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever_major
gpgcheck=1
+repo_gpgcheck=0
+metadata_expire=24h
+enabled=0