sbc-images/includes/post/rpm-repos-enable.ksi

58 lines
2.7 KiB
Plaintext

%post --erroronfail
set -x
MACHINE_ARCH="$(uname -m)"
DNF_RELEASEVER="$(dnf config-manager --dump-variables | grep 'releasever' | awk '{print $3}')"
# This repository is a given since it provides 'uboot-images-armv8' and
# 'uboot-tools', which are **required**.
dnf config-manager --assumeyes --add-repo "https://download.rockylinux.org/pub/sig/${DNF_RELEASEVER}/altarch/${MACHINE_ARCH}/altarch-common"
if ! dnf repolist --enabled | grep "download.rockylinux.org_pub_sig_${DNF_RELEASEVER}_altarch_${MACHINE_ARCH}_altarch-common" > /dev/null; then
dnf config-manager --set-enabled "download.rockylinux.org_pub_sig_${DNF_RELEASEVER}_altarch_${MACHINE_ARCH}_altarch-common" || exit 1
fi
# import the SIG/AltArch key manually, since it does not get automatically get imported...
wget "https://download.rockylinux.org/pub/sig/${DNF_RELEASEVER}/altarch/${MACHINE_ARCH}/altarch-common/RPM-GPG-KEY-Rocky-SIG-AltArch"
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
rpm --import RPM-GPG-KEY-Rocky-SIG-AltArch
rm RPM-GPG-KEY-Rocky-SIG-AltArch
# Enable EPEL if packages are installed from EPEL
if dnf list installed | grep '@epel' > /dev/null || dnf list installed | grep 'epel-release' > /dev/null; then
dnf install --assumeyes epel-release
if ! dnf repolist --enabled | grep 'crb' > /dev/null; then
dnf config-manager --set-enabled crb || exit 1
fi
if ! dnf repolist --enabled | grep 'epel' > /dev/null; then
dnf config-manager --set-enabled epel || exit 1
fi
fi
# this has kernels with defconfigs
dnf copr enable --assumeyes prathampatel/kernel-tfg "rhel-${DNF_RELEASEVER}-${MACHINE_ARCH}"
if ! dnf repolist --enabled | grep 'copr:copr.fedorainfracloud.org:prathampatel:kernel-tfg' > /dev/null; then
dnf config-manager --set-enabled 'copr:copr.fedorainfracloud.org:prathampatel:kernel-tfg' || exit 1
fi
echo 'metadata_expire=1200' | tee -a '/etc/yum.repos.d/_copr:copr.fedorainfracloud.org:prathampatel:kernel-tfg.repo'
# manually import the GPG key for my COPR
wget 'https://download.copr.fedorainfracloud.org/results/prathampatel/kernel-elrepo/pubkey.gpg'
rpm --import pubkey.gpg
rm pubkey.gpg
# this has kernels with elrepo + sbc enablement
dnf copr enable --assumeyes prathampatel/kernel-elrepo "rhel-${DNF_RELEASEVER}-${MACHINE_ARCH}"
if ! dnf repolist --enabled | grep 'copr:copr.fedorainfracloud.org:prathampatel:kernel-elrepo' > /dev/null; then
dnf config-manager --set-enabled 'copr:copr.fedorainfracloud.org:prathampatel:kernel-elrepo' || exit 1
fi
echo 'metadata_expire=2400' | tee -a '/etc/yum.repos.d/_copr:copr.fedorainfracloud.org:prathampatel:kernel-elrepo.repo'
# upgrade all packages for the user's happy smile
dnf clean expire-cache
dnf upgrade -y
%end