%post --erroronfail set -x MACHINE_ARCH="$(uname -m)" DNF_RELEASEVER="$(dnf config-manager --dump-variables | grep 'releasever' | awk '{print $3}')" # Setup networking temporarily [ -f /etc/resolv.conf ] || echo "nameserver 1.1.1.1" > /etc/resolv.conf # 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 if dnf list installed | grep '@epel' > /dev/null || dnf list installed | grep 'epel-release' > /dev/null; then # Install the epel-release package since we don't know if a package was # installed from EPEL or only the epel-release package was installed. # Either way, the user definitely wants EPEL enabled, so just do that # anyways. 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 is my (Pratham Patel) COPR that I use to provide 'kernel-stable-tfg' and # 'kernel-lts-tfg' packages. I intend to keep it up-to-date so this is enabled # so that users can get updates whenever upstream bumps versions. 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 if dnf list installed | grep "kernel-next-tfg\|kernel-rc-tfg" > /dev/null; then # The user has installed a package that provides either kernel-next or # kernel-rc which comes from the the 'prathampatel/kernel-testing-tfg' # COPR repository. Since that is used, enable it so updates reach the user. dnf copr enable --assumeyes prathampatel/kernel-testing-tfg "rhel-${DNF_RELEASEVER}-${MACHINE_ARCH}" if ! dnf repolist --enabled | grep 'copr:copr.fedorainfracloud.org:prathampatel:kernel-testing-tfg' > /dev/null; then dnf config-manager --set-enabled 'copr:copr.fedorainfracloud.org:prathampatel:kernel-testing-tfg' || exit 1 fi fi # upgrade all packages for the user's happy smile dnf clean expire-cache dnf upgrade -y # Remove the temporary 'resolv.conf' file rm -v -f /etc/resolv.conf %end