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