Compare commits

...

8 Commits
epel8 ... epel9

Author SHA1 Message Date
Troy Dawson 31d354c752 Tweak crb script. Fix for RHEL rhui repos (#2308671)
3 months ago
Neal Gompa 3a30f9e7dd Fix typo to actually enable EPEL OpenH264 repo
1 year ago
Neal Gompa f9f09ef74a Add EPEL OpenH264 repository (#2053295)
1 year ago
Troy Dawson 631a6701f1 Tweak crb script, check os-release for RHEL (#2186721)
2 years ago
Troy Dawson a70326a276 Tweak crb script, Recommends dnf-command(config-manager) (#2115602)
2 years ago
Troy Dawson 3750a54112 Add crb script to allow users to --enable, --disable
2 years ago
Carl George 65609096ed Enable epel9 repo files
3 years ago
Carl George 6b70e4bc57 Initial package for epel9-next
3 years ago

@ -1,199 +0,0 @@
# EPEL-8 Packaging Procedures
## Introduction
When a new Red Hat Enterprise Linux occurs, one of the steps to get
EPEL going for it is branching of various packages into new
namespace. The EPEL Steering Committee does not mass branch all
existing packages into the namespace because it has caused multiple
problems:
1. The package maintainers did not want to support the package in the
newer version of EPEL. Package maintainers may only want to support
certain versions of Enterprise Linux or may want to wait until their
favourite derivative appears.
2. The package does not work in the latest version of RHEL. With
multiple years between releases, software which worked on Fedora 18
which would branch to EPEL-7 may not exist anymore with Fedora 28 and
EPEL-8 would need a completely different version.
## Consumer request for packages
People who are interested in getting packages into EPEL should contact
the package maintainer through
[bugzilla](https://bugzilla.redhat.com/). This allows for the requests
to be tracked and if the primary maintainer is not interested in
branching to EPEL, other ones can step in and do so.
## EPEL Next
EPEL packages are built against RHEL. EPEL Next is an additional repository
that allows package maintainers to alternatively build against CentOS Stream.
This is sometimes necessary when CentOS Stream contains an upcoming RHEL
library rebase, or if an EPEL package has a minimum version build requirement
that is already in CentOS Stream but not yet in RHEL. EPEL Next has its own
distgit branches, koji build targets, and bodhi releases.
EPEL Next packages have `.next` appended to the disttag (e.g. a disttag of
`.el8.next` for epel8-next) to provide an upgrade path from an EPEL package
that was built from the same distgit commit. A package maintainer can rebuild
the same commit for both EPEL and EPEL Next and get two different NVRs in koji.
Within six months, the build requirement necessitating building in EPEL Next
should be in RHEL, and at that time the package maintainer can do a normal
release bump commit in the EPEL branch and get a newer NVR than both the
previous EPEL and EPEL Next packages.
To get started with EPEL Next, request the corresponding branch for the EPEL
release you are targeting, e.g. request an epel8-next branch to rebuild an
epel8 package against CentOS Stream 8. Once the branch is created you can
merge commits from other branches and submit a build just like you would for
other EPEL or Fedora branches.
## EPEL Playground
We have added an additional set of channels for EPEL-8 called
playground. It is meant to be sort of like Fedora Rawhide so that
packagers can work on versions of software which are too fast moving
or will have large API changes from what they are putting in the
regular channel.
To try and make this transparent, we have made it so when a package is
built in epel8 it will normally also be built in
epel8-playground. This is done via a packages.cfg file which lists the
targets for fedpkg to build against. A successful package build will
then go through 2 different paths:
* epel8 package will go into bodhi to be put into epel8-testing
* epel8-playground will bypass bodhi and go directly into
epel8-playground the next compose.
If a packager needs to focus only on epel8 or epel8-playground they
can edit packages.cfg to change the ```target= epel8
epel8-playground``` to ```target= epel8 ```.
Packages in epel8-playground are primarily to be used in the following
manner:
* To test out some new version of the package that might not be stable
yet.
* To test out some new packaging of the package
* To test a major version change of the package that they want to land
at the next epel8 minor release.
* To build a package that will never be stable enough for epel8, but
still could be useful to some.
* At minor RHEL releases (ie, 8.1, 8.2) people can pull in big changes
from playground to the main epel8 packages. Since people will be
upgrading and paying more attention than usual anyhow at those
points, its a great chance to do that change, but also you want to
make sure its panned out, so you can test before hand in
playground.
Consumers should be aware that packages in EPEL8-playground are there
without any Service Level Expectations. You may want to only cherry
pick packages from there as needed.
## Developer request for branching multiple packages
Branching is handled the same way as requesting a branch using `fedpkg
request-branch`. A maintainer can request an epel8 branch using
`fedpkg request-branch epel8` which will create a ticket in
https://pagure.io/releng/fedora-scm-requests/issues and Release
Engineering will process these requests.
To branch multiple packages please use this or a variant of this
script:
```
#!/usr/bin/sh
# Reminder to get an updated pagure token for releng tickets
# Usage: epel-8.sh foo bar goo blah blech
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
```
Releng will then work through the tickets in the system which is
adding branches to the PDC and src.fedoraproject.org.
## Known Issues
1. /usr/bin/python does not exist. Choose ``/usr/bin/python3`` or
``/usr/bin/python2`` and patch appropriately.
2. ``python2-sphinx`` is not shipped. Most packages should work with
python3-sphinx, and if it doesn't please open a bug. The python team
has been good about making fixes for this.
3. When branching python packages, be aware that python in EL-8 is
python36 and not the version currently in rawhide. This has come up
with a couple of test packages where they assumed python37 or later.
4. ``systemd-rpm-macros`` is not a separate packages. If needed, used
``BuildRequires: systemd``
5. While EL-8 comes with platform-python, it should NOT be used in
``Requires:`` unless absolutely neccessary. python3 should be used
instead. (Exceptions can be made but will be rare and need
justification.)
**Accepted Exceptions:**
* Use python3.6dist(coverage) instead of python3-coverage. This
package is not shipped but is needed in %check code.
6. Sometimes RHEL8 only has a python3 package for a dependency you
need for your build. (Example: python-bleach requires
python2-html5lib, but RHEL8 provides only python3-html5lib). For
EPEL-8.0 we only suggest one choice:
* Choose not to have the python2 part of your package and patch
whatever to use python3.
7. Python2 packages are discouraged. RHEL-8 will contain python2.7
until probably the end of life of RHEL-7. However support upstream
will only be minimal. When modularity occurs, we suggest that you make
whatever python2 packages modules which can be pulled out when
RHEL-8.N no longer has python2.
8. While a RHEL src.rpm might produce a -devel package, it may not
currently be in the build repository. When running into this please
open a ticket with https://pagure.io/epel/new_issue for us to put in a
request for it to be added to Red Hat's Code Ready Builder. After
modularity is enabled, changes to what is done will be needed.
9. EPEL-8.0 may not work with the RHEL-8.1 beta. There seem to be
changes in dnf and zchunk which we have not worked out. This line will
be updated.
## Definitions
1. Package maintainer. Person who has accepted responsibility to
package and maintain software in the Fedora Project ecosystem. The
main packager is usually someone focused on Fedora Linux, and
secondary packagers may be focused on particular use cases like EPEL.
2. Consumer. A person who has subscribed to EPEL for packages but is
not a maintainer.
3. PDC. Product Definition Center. A tool to help list the lifetime
and permissions that a product has so that branching and updates can
be better managed.

@ -1,28 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFz3zvsBEADJOIIWllGudxnpvJnkxQz2CtoWI7godVnoclrdl83kVjqSQp+2
dgxuG5mUiADUfYHaRQzxKw8efuQnwxzU9kZ70ngCxtmbQWGmUmfSThiapOz00018
+eo5MFabd2vdiGo1y+51m2sRDpN8qdCaqXko65cyMuLXrojJHIuvRA/x7iqOrRfy
a8x3OxC4PEgl5pgDnP8pVK0lLYncDEQCN76D9ubhZQWhISF/zJI+e806V71hzfyL
/Mt3mQm/li+lRKU25Usk9dWaf4NH/wZHMIPAkVJ4uD4H/uS49wqWnyiTYGT7hUbi
ecF7crhLCmlRzvJR8mkRP6/4T/F3tNDPWZeDNEDVFUkTFHNU6/h2+O398MNY/fOh
yKaNK3nnE0g6QJ1dOH31lXHARlpFOtWt3VmZU0JnWLeYdvap4Eff9qTWZJhI7Cq0
Wm8DgLUpXgNlkmquvE7P2W5EAr2E5AqKQoDbfw/GiWdRvHWKeNGMRLnGI3QuoX3U
pAlXD7v13VdZxNydvpeypbf/AfRyrHRKhkUj3cU1pYkM3DNZE77C5JUe6/0nxbt4
ETUZBTgLgYJGP8c7PbkVnO6I/KgL1jw+7MW6Az8Ox+RXZLyGMVmbW/TMc8haJfKL
MoUo3TVk8nPiUhoOC0/kI7j9ilFrBxBU5dUtF4ITAWc8xnG6jJs/IsvRpQARAQAB
tChGZWRvcmEgRVBFTCAoOCkgPGVwZWxAZmVkb3JhcHJvamVjdC5vcmc+iQI4BBMB
AgAiBQJc9877AhsPBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAh6kWrL4bW
oWagD/4xnLWws34GByVDQkjprk0fX7Iyhpm/U7BsIHKspHLL+Y46vAAGY/9vMvdE
0fcr9Ek2Zp7zE1RWmSCzzzUgTG6BFoTG1H4Fho/7Z8BXK/jybowXSZfqXnTOfhSF
alwDdwlSJvfYNV9MbyvbxN8qZRU1z7PEWZrIzFDDToFRk0R71zHpnPTNIJ5/YXTw
NqU9OxII8hMQj4ufF11040AJQZ7br3rzerlyBOB+Jd1zSPVrAPpeMyJppWFHSDAI
WK6x+am13VIInXtqB/Cz4GBHLFK5d2/IYspVw47Solj8jiFEtnAq6+1Aq5WH3iB4
bE2e6z00DSF93frwOyWN7WmPIoc2QsNRJhgfJC+isGQAwwq8xAbHEBeuyMG8GZjz
xohg0H4bOSEujVLTjH1xbAG4DnhWO/1VXLX+LXELycO8ZQTcjj/4AQKuo4wvMPrv
9A169oETG+VwQlNd74VBPGCvhnzwGXNbTK/KH1+WRH0YSb+41flB3NKhMSU6dGI0
SGtIxDSHhVVNmx2/6XiT9U/znrZsG5Kw8nIbbFz+9MGUUWgJMsd1Zl9R8gz7V9fp
n7L7y5LhJ8HOCMsY/Z7/7HUs+t/A1MI4g7Q5g5UuSZdgi0zxukiWuCkLeAiAP4y7
zKK4OjJ644NDcWCHa36znwVmkz3ixL8Q0auR15Oqq2BjR/fyog==
=84m8
-----END PGP PUBLIC KEY BLOCK-----

@ -0,0 +1,29 @@
-----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-----

85
crb

@ -0,0 +1,85 @@
#!/bin/bash
# Enable / Disable / Status the codeready-builder(CRB) or equivalent repo.
###############
# 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 rhe CRB repo is enabled or disabled" >&2
echo " help" >&2
echo " Show this options menu" >&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 [[ "${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

@ -0,0 +1,33 @@
[epel-cisco-openh264]
name=Extra Packages for Enterprise Linux $releasever openh264 (From Cisco) - $basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-cisco-openh264-$releasever&arch=$basearch
type=rpm
enabled=1
metadata_expire=14d
repo_gpgcheck=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
skip_if_unavailable=True
[epel-cisco-openh264-debuginfo]
name=Extra Packages for Enterprise Linux $releasever openh264 (From Cisco) - $basearch - Debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-cisco-openh264-debug-$releasever&arch=$basearch
type=rpm
enabled=0
metadata_expire=14d
repo_gpgcheck=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
skip_if_unavailable=True
[epel-cisco-openh264-source]
name=Extra Packages for Enterprise Linux $releasever openh264 (From Cisco) - $basearch - Source
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-cisco-openh264-source-$releasever&arch=$basearch
type=rpm
enabled=0
metadata_expire=14d
repo_gpgcheck=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
skip_if_unavailable=True

@ -2,29 +2,29 @@
name=Extra Packages for Enterprise Linux Modular $releasever - $basearch 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 # It is much more secure to use the metalink, but if you wish to use a local mirror
# place its address here. # place its address here.
#baseurl=https://download.example/pub/epel/$releasever/Modular/$basearch #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 metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-modular-$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=1 enabled=1
gpgcheck=1 gpgcheck=1
countme=1 countme=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
[epel-modular-debuginfo] [epel-modular-debuginfo]
name=Extra Packages for Enterprise Linux Modular $releasever - $basearch - Debug 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 # It is much more secure to use the metalink, but if you wish to use a local mirror
# place its address here. # place its address here.
#baseurl=https://download.example/pub/epel/$releasever/Modular/$basearch/debug #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 metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-modular-debug-$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=0 enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
gpgcheck=1 gpgcheck=1
[epel-modular-source] [epel-modular-source]
name=Extra Packages for Enterprise Linux Modular $releasever - $basearch - 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 # It is much more secure to use the metalink, but if you wish to use a local mirror
# place it's address here. # place its address here.
#baseurl=https://download.example/pub/epel/$releasever/Modular/source/tree/ #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 metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-modular-source-$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=0 enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
gpgcheck=1 gpgcheck=1

@ -7,7 +7,7 @@ metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-testing-next-$rele
enabled=0 enabled=0
gpgcheck=1 gpgcheck=1
countme=1 countme=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
[epel-next-testing-debuginfo] [epel-next-testing-debuginfo]
name=Extra Packages for Enterprise Linux $releasever - Next - Testing - $basearch - Debug name=Extra Packages for Enterprise Linux $releasever - Next - Testing - $basearch - Debug
@ -16,15 +16,15 @@ name=Extra Packages for Enterprise Linux $releasever - Next - Testing - $basearc
#baseurl=https://download.example/pub/epel/testing/next/$releasever/Everything/$basearch/debug/ #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 metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-testing-next-debug-$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=0 enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
gpgcheck=1 gpgcheck=1
[epel-next-testing-source] [epel-next-testing-source]
name=Extra Packages for Enterprise Linux $releasever - Next - Testing - $basearch - 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 # It is much more secure to use the metalink, but if you wish to use a local mirror
# place it's address here. # place its address here.
#baseurl=https://download.example/pub/epel/testing/next/$releasever/Everything/source/tree/ #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 metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-testing-next-source-$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=0 enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
gpgcheck=1 gpgcheck=1

@ -7,7 +7,7 @@ metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-next-$releasever&a
enabled=1 enabled=1
gpgcheck=1 gpgcheck=1
countme=1 countme=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
[epel-next-debuginfo] [epel-next-debuginfo]
name=Extra Packages for Enterprise Linux $releasever - Next - $basearch - Debug name=Extra Packages for Enterprise Linux $releasever - Next - $basearch - Debug
@ -16,15 +16,15 @@ name=Extra Packages for Enterprise Linux $releasever - Next - $basearch - Debug
#baseurl=https://download.example/pub/epel/next/$releasever/Everything/$basearch/debug/ #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 metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-next-debug-$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=0 enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
gpgcheck=1 gpgcheck=1
[epel-next-source] [epel-next-source]
name=Extra Packages for Enterprise Linux $releasever - Next - $basearch - 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 # It is much more secure to use the metalink, but if you wish to use a local mirror
# place it's address here. # place its address here.
#baseurl=https://download.example/pub/epel/next/$releasever/Everything/source/tree/ #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 metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-next-source-$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=0 enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
gpgcheck=1 gpgcheck=1

@ -2,21 +2,21 @@
name=Extra Packages for Enterprise Linux $releasever - Playground - $basearch 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 # It is much more secure to use the metalink, but if you wish to use a local mirror
# place its address here. # place its address here.
#baseurl=https://download.example/pub/epel/playground/$releasever/Everything/$basearch/os #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 metalink=https://mirrors.fedoraproject.org/metalink?repo=playground-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=0 enabled=0
gpgcheck=1 gpgcheck=1
countme=1 countme=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
[epel-playground-debuginfo] [epel-playground-debuginfo]
name=Extra Packages for Enterprise Linux $releasever - Playground - $basearch - Debug 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 # It is much more secure to use the metalink, but if you wish to use a local mirror
# place its address here. # place its address here.
#baseurl=https://download.example/pub/epel/playground/$releasever/Everything/$basearch/debug/tree #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 metalink=https://mirrors.fedoraproject.org/metalink?repo=playground-debug-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=0 enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
gpgcheck=1 gpgcheck=1
[epel-playground-source] [epel-playground-source]
@ -26,5 +26,5 @@ name=Extra Packages for Enterprise Linux $releasever - Playground - $basearch -
#baseurl=https://download.example/pub/epel/playground/$releasever/Everything/source/tree/ #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 metalink=https://mirrors.fedoraproject.org/metalink?repo=playground-source-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=0 enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
gpgcheck=1 gpgcheck=1

@ -1,34 +1,48 @@
%bcond_without base
%bcond_without next
%bcond_without openh264
%bcond_with modular
%bcond_with playground
Name: epel-release Name: epel-release
Version: 8 Version: 9
Release: 13%{dist} Release: 8%{dist}
Summary: Extra Packages for Enterprise Linux repository configuration Summary: Extra Packages for Enterprise Linux repository configuration
License: GPLv2 License: GPLv2
# This is a EPEL maintained package which is specific to # This is a EPEL maintained package which is specific to
# our distribution. Thus the source is only available from # our distribution. Thus the source is only available from
# within this srpm. # within this srpm.
URL: http://download.fedoraproject.org/pub/epel URL: http://download.fedoraproject.org/pub/epel
Source0: http://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-8 Source0: http://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-%{version}
Source1: GPL Source1: GPL
Source2: README-epel-8-packaging.md
Source100: epel.repo
Source101: epel-next.repo
Source102: epel-modular.repo
Source103: epel-playground.repo
Source104: epel-cisco-openh264.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) # EPEL default preset policy (borrowed from fedora's 90-default.preset)
Source3: 90-epel.preset Source300: 90-epel.preset
# Add epel crb repo
Source301: crb
Source100: epel.repo BuildArch: noarch
Source101: epel-testing.repo Requires: redhat-release >= %{version}
Source102: epel-next.repo
Source103: epel-next-testing.repo
Source104: epel-playground.repo
Source105: epel-modular.repo
Source106: epel-testing-modular.repo
BuildArch: noarch
Requires: redhat-release >= %{version}
# epel-release is only for enterprise linux, not fedora # epel-release is only for enterprise linux, not fedora
Conflicts: fedora-release Conflicts: fedora-release
Recommends: (epel-next-release if centos-stream-release) # crb needs config-manager to run
# But only recommend it, incase people do not need crb
Recommends: dnf-command(config-manager)
%if %{with next}
Recommends: (epel-next-release if centos-stream-release)
%endif
%description %description
@ -36,6 +50,7 @@ This package contains the Extra Packages for Enterprise Linux (EPEL) repository
GPG key as well as configuration for yum. GPG key as well as configuration for yum.
%if %{with next}
%package -n epel-next-release %package -n epel-next-release
Summary: Extra Packages for Enterprise Linux Next repository configuration Summary: Extra Packages for Enterprise Linux Next repository configuration
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
@ -44,44 +59,104 @@ Requires: %{name} = %{version}-%{release}
%description -n epel-next-release %description -n epel-next-release
This package contains the Extra Packages for Enterprise Linux (EPEL) Next This package contains the Extra Packages for Enterprise Linux (EPEL) Next
configuration for yum. configuration for yum.
%endif
%prep %prep
%setup -q -c -T %setup -q -c -T
install -pm 644 %{SOURCE1} . install -pm 644 %{SOURCE1} .
install -pm 644 %{SOURCE2} .
%install %install
#GPG Key # GPG Key
install -Dpm 644 %{SOURCE0} \ install -Dpm 644 %{SOURCE0} \
%{buildroot}%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-EPEL-%{version} %{buildroot}%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-EPEL-%{version}
# yum # yum repo configs
install -dm 755 %{buildroot}%{_sysconfdir}/yum.repos.d install -dm 755 %{buildroot}%{_sysconfdir}/yum.repos.d
install -pm 644 %{SOURCE100} %{SOURCE101} %{SOURCE102} %{SOURCE103} %{SOURCE104} %{SOURCE105} %{SOURCE106} \ %if %{with base}
%{buildroot}%{_sysconfdir}/yum.repos.d install -pm 644 %{SOURCE100} %{SOURCE200} %{buildroot}%{_sysconfdir}/yum.repos.d
install -pm 644 -D %{SOURCE3} %{buildroot}%{_prefix}/lib/systemd/system-preset/90-epel.preset %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
%if %{with openh264}
install -pm 644 %{SOURCE104} %{buildroot}%{_sysconfdir}/yum.repos.d
%endif
# systemd presets
install -pm 644 -D %{SOURCE300} %{buildroot}%{_prefix}/lib/systemd/system-preset/90-epel.preset
# Add epel crb repo
install -D -pm744 -t %{buildroot}%{_bindir} %{SOURCE301}
%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 %files
%doc README-epel-8-packaging.md
%license GPL %license GPL
%if %{with base}
%config(noreplace) %{_sysconfdir}/yum.repos.d/epel.repo %config(noreplace) %{_sysconfdir}/yum.repos.d/epel.repo
%config(noreplace) %{_sysconfdir}/yum.repos.d/epel-testing.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-modular.repo
%config(noreplace) %{_sysconfdir}/yum.repos.d/epel-testing-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 %config(noreplace) %{_sysconfdir}/yum.repos.d/epel-playground.repo
%endif
%if %{with openh264}
%config(noreplace) %{_sysconfdir}/yum.repos.d/epel-cisco-openh264.repo
%endif
%{_sysconfdir}/pki/rpm-gpg/* %{_sysconfdir}/pki/rpm-gpg/*
%{_prefix}/lib/systemd/system-preset/90-epel.preset %{_prefix}/lib/systemd/system-preset/90-epel.preset
%{_bindir}/crb
%if %{with next}
%files -n epel-next-release %files -n epel-next-release
%config(noreplace) %{_sysconfdir}/yum.repos.d/epel-next.repo %config(noreplace) %{_sysconfdir}/yum.repos.d/epel-next.repo
%config(noreplace) %{_sysconfdir}/yum.repos.d/epel-next-testing.repo %config(noreplace) %{_sysconfdir}/yum.repos.d/epel-next-testing.repo
%endif
%changelog %changelog
* Fri Aug 30 2024 Troy Dawson <tdawson@redhat.com> - 9-8
- Tweak crb script. Fix for RHEL rhui repos (#2308671)
* Thu Aug 17 2023 Neal Gompa <ngompa@fedoraproject.org> - 9-7
- Fix typo to actually enable EPEL OpenH264 repo
* Tue Aug 15 2023 Neal Gompa <ngompa@fedoraproject.org> - 9-6
- Add EPEL OpenH264 repository (#2053295)
* Fri Apr 14 2023 Troy Dawson <tdawson@redhat.com> - 9-5
- Tweak crb script, check os-release for RHEL (#2186721)
* Tue Aug 09 2022 Troy Dawson <tdawson@redhat.com> - 9-4
- Tweak crb script, Recommends dnf-command(config-manager) (#2115602)
* Wed Jun 29 2022 Troy Dawson <tdawson@redhat.com> - 9-3
- Add crb script
* Wed Dec 01 2021 Carl George <carl@george.computer> - 9-2
- Enable epel9 repo files
* Fri Oct 08 2021 Carl George <carl@redhat.com> - 9-1
- Initial package for epel9-next
* Fri Sep 03 2021 Mohan Boddu <mboddu@bhujji.com> - 8-13 * Fri Sep 03 2021 Mohan Boddu <mboddu@bhujji.com> - 8-13
- Change the baseurl to point to source/tree for srpms - Change the baseurl to point to source/tree for srpms

@ -7,7 +7,7 @@ metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-modular-epel$re
enabled=0 enabled=0
gpgcheck=1 gpgcheck=1
countme=1 countme=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
[epel-testing-modular-debuginfo] [epel-testing-modular-debuginfo]
name=Extra Packages for Enterprise Linux Modular $releasever - Testing - $basearch - Debug name=Extra Packages for Enterprise Linux Modular $releasever - Testing - $basearch - Debug
@ -16,15 +16,15 @@ name=Extra Packages for Enterprise Linux Modular $releasever - Testing - $basear
#baseurl=https://download.example/pub/epel/testing/$releasever/Modular/$basearch/debug #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 metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-modular-debug-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=0 enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
gpgcheck=1 gpgcheck=1
[epel-testing-modular-source] [epel-testing-modular-source]
name=Extra Packages for Enterprise Linux Modular $releasever - Testing - $basearch - 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 # It is much more secure to use the metalink, but if you wish to use a local mirror
# place it's address here. # place its address here.
#baseurl=https://download.example/pub/epel/testing/$releasever/Modular/source/tree/ #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 metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-modular-source-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=0 enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
gpgcheck=1 gpgcheck=1

@ -2,29 +2,29 @@
name=Extra Packages for Enterprise Linux $releasever - Testing - $basearch 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 # It is much more secure to use the metalink, but if you wish to use a local mirror
# place its address here. # place its address here.
#baseurl=https://download.example/pub/epel/testing/$releasever/Everything/$basearch #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 metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=0 enabled=0
gpgcheck=1 gpgcheck=1
countme=1 countme=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
[epel-testing-debuginfo] [epel-testing-debuginfo]
name=Extra Packages for Enterprise Linux $releasever - Testing - $basearch - Debug 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 # It is much more secure to use the metalink, but if you wish to use a local mirror
# place its address here. # place its address here.
#baseurl=https://download.example/pub/epel/testing/$releasever/Everything/$basearch/debug #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 metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-debug-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=0 enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
gpgcheck=1 gpgcheck=1
[epel-testing-source] [epel-testing-source]
name=Extra Packages for Enterprise Linux $releasever - Testing - $basearch - 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 # It is much more secure to use the metalink, but if you wish to use a local mirror
# place it's address here. # place its address here.
#baseurl=https://download.example/pub/epel/testing/$releasever/Everything/source/tree/ #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 metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-source-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=0 enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
gpgcheck=1 gpgcheck=1

@ -2,29 +2,29 @@
name=Extra Packages for Enterprise Linux $releasever - $basearch 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 # It is much more secure to use the metalink, but if you wish to use a local mirror
# place its address here. # place its address here.
#baseurl=https://download.example/pub/epel/$releasever/Everything/$basearch #baseurl=https://download.example/pub/epel/$releasever/Everything/$basearch/
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=1 enabled=1
gpgcheck=1 gpgcheck=1
countme=1 countme=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
[epel-debuginfo] [epel-debuginfo]
name=Extra Packages for Enterprise Linux $releasever - $basearch - Debug 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 # It is much more secure to use the metalink, but if you wish to use a local mirror
# place its address here. # place its address here.
#baseurl=https://download.example/pub/epel/$releasever/Everything/$basearch/debug #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 metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=0 enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
gpgcheck=1 gpgcheck=1
[epel-source] [epel-source]
name=Extra Packages for Enterprise Linux $releasever - $basearch - 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 # It is much more secure to use the metalink, but if you wish to use a local mirror
# place it's address here. # place its address here.
#baseurl=https://download.example/pub/epel/$releasever/Everything/source/tree/ #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 metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=0 enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
gpgcheck=1 gpgcheck=1

Loading…
Cancel
Save