diskimage-builder/diskimage_builder/elements/rpm-distro/pre-install.d/01-override-yum-arch
Tristan Cacqueray 25964c5c5b rpm-distro: set the contentdir yum var
Since CentOS-7.5, a new yum variable is needed for SIG repositories.
This change replicates the %post task of the centos-release package
to setup the contentdir yum var. This should fix issues when
repository url uses $contentdir and yum fail with:
http://mirror.centos.org/%24contentdir ... [Errno 14] HTTP Error 404 - Not Found

For more details see:

https://lists.centos.org/pipermail/centos-devel/2018-March/016542.html

This change also drops support for fedora without dnf.

Change-Id: I1819a48b94670577b0c5e29b24cebfb20ea07d28
2018-05-14 05:38:37 +00:00

47 lines
1,013 B
Bash
Executable file

#!/bin/bash
if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
set -x
fi
set -eu
set -o pipefail
if [ "i386" = "$ARCH" ]; then
basearch=i386
arch=i686
elif [[ "amd64 x86_64" =~ "$ARCH" ]]; then
basearch=x86_64
arch=x86_64
elif [[ "$ARCH" = "ppc64" ]]; then
basearch=ppc64
arch=ppc64
elif [[ "$ARCH" = "ppc64le" ]]; then
basearch=ppc64le
arch=ppc64le
elif [[ "arm64 aarch64" =~ "$ARCH" ]]; then
basearch=aarch64
arch=aarch64
else
echo "********************"
echo "Unknown arch '$ARCH'"
echo "********************"
exit 1
fi
if [[ $DISTRO_NAME == "fedora" ]]; then
mkdir -p /etc/dnf/vars
echo $basearch > /etc/dnf/vars/basearch
echo $arch > /etc/dnf/vars/arch
else
echo $basearch > /etc/yum/vars/basearch
echo $arch > /etc/yum/vars/arch
fi
if [[ ${DISTRO_NAME} =~ "centos" ]]; then
if [[ ${arch} == "x86_64" ]]; then
contentdir=centos
else
contentdir=altarch
fi
echo $contentdir > /etc/yum/vars/contentdir
fi