From f43b3cf1dddb5da9172ddad7c0f9c6231b3fb354 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Wed, 4 Sep 2024 10:46:31 +0200 Subject: [PATCH] install_rpm_containerd: add workaround for dnf5 addrepo bug The addrepo command has a bug that causes it to fail if the `.repo` file contains empty lines, causing it to fail; dnf config-manager addrepo --from-repofile="https://download.docker.com/linux/fedora/docker-ce.repo" Error in added repository configuration file. Cannot set repository option "#1= ": Option "#1" not found Use a temporary file and strip empty lines as a workaround until the bug is fixed. Signed-off-by: Sebastiaan van Stijn --- install-containerd-helpers | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/install-containerd-helpers b/install-containerd-helpers index 131b7e298b..e38c613990 100644 --- a/install-containerd-helpers +++ b/install-containerd-helpers @@ -27,7 +27,12 @@ function install_rpm_containerd() { if command -v dnf5; then dnf --version - dnf config-manager addrepo --save-filename=docker-ce.repo --from-repofile="${REPO_URL}" + # FIXME(thaJeztah); strip empty lines as workaround for https://github.com/rpm-software-management/dnf5/issues/1603 + TMP_REPO_FILE="$(mktemp --dry-run)" + curl -fsSL "${REPO_URL}" | tr -s '\n' > "${TMP_REPO_FILE}" + dnf config-manager addrepo --save-filename=docker-ce.repo --overwrite --from-repofile="${TMP_REPO_FILE}" + rm -f "${TMP_REPO_FILE}" + # dnf config-manager addrepo --save-filename=docker-ce.repo --from-repofile="${REPO_URL}" dnf config-manager setopt 'docker-ce-*.enabled=0' dnf config-manager setopt 'docker-ce-test.enabled=1' dnf makecache