7d77f4fab2
OpenDev relies on the epel role to configure the epel repository for our image builds. Specifically we need epel to pull in haveged. Update the epel role to recognize rocky and configure it properly. Change-Id: I968d4702ef39590e972b782a09e18a5db40703ad
53 lines
1.6 KiB
Bash
Executable File
53 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
|
|
set -x
|
|
fi
|
|
set -eu
|
|
set -o pipefail
|
|
|
|
if [[ (${DISTRO_NAME} =~ "centos" || ${DISTRO_NAME} =~ "rocky") && "${DIB_RELEASE%-stream}" -lt '9' ]]; then
|
|
# Centos has "epel-release" in extras, which is default enabled.
|
|
${YUM} install -y epel-release
|
|
else
|
|
# For RHEL, we have to scrape the download page to find the latest
|
|
# release and install that
|
|
[ -n "$ARCH" ]
|
|
if [ 'amd64' = "$ARCH" ] ; then
|
|
ARCH="x86_64"
|
|
fi
|
|
|
|
BASE_URL=${DIB_EPEL_MIRROR:-https://dl.fedoraproject.org/pub/epel}
|
|
case "$DISTRO_NAME" in
|
|
rhel7)
|
|
RELEASE=7
|
|
URL=$BASE_URL/$RELEASE/x86_64/Packages/e/
|
|
;;
|
|
*)
|
|
echo "$DISTRO_NAME is not supported"
|
|
# Not really a failure; we just don't do anything
|
|
exit 0
|
|
;;
|
|
esac
|
|
PKG_NAME=$(wget -q $URL -O - |grep -oE "(href=\"epel-release-$RELEASE-[0-9,.].*)" | cut -d'"' -f2)
|
|
rpm -q epel-release || yum install -y $URL/$PKG_NAME
|
|
fi
|
|
|
|
if [ ${DIB_EPEL_DISABLED:-0} -ne 0 ]; then
|
|
if [[ ${YUM} == "dnf" ]]; then
|
|
rpm -q dnf-plugins-core || dnf install -y dnf-plugins-core
|
|
dnf config-manager --set-disabled "epel*"
|
|
else
|
|
# Cannot rely on package-installs, it is executed later
|
|
rpm -q yum-utils || yum install -y yum-utils
|
|
yum-config-manager --disable "epel*"
|
|
fi
|
|
fi
|
|
|
|
DIB_EPEL_MIRROR=${DIB_EPEL_MIRROR:-}
|
|
[ -n "$DIB_EPEL_MIRROR" ] || exit 0
|
|
|
|
# Set the EPEL mirror to use
|
|
sed -e "s|^#baseurl=http[s]*://.*/pub/epel|baseurl=$DIB_EPEL_MIRROR|;/^mirrorlist=/d;/^metalink=/d" -i /etc/yum.repos.d/epel.repo
|
|
|