From 0215fe4e7f92ecccb7c885c0a785536709fdc22c Mon Sep 17 00:00:00 2001 From: Zeglius <33781398+Zeglius@users.noreply.github.com> Date: Tue, 28 Jan 2025 21:35:06 +0100 Subject: [PATCH] chore(Containerfile): More bulletproof config-manager setopt (#2199) * chore(Containerfile): More bulletproof config-manager setopt * chore(Containerfile): Add missing negativo disabling --- Containerfile | 4 +-- build_files/dnf5-search | 2 +- build_files/dnf5-setopt | 72 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+), 3 deletions(-) create mode 100755 build_files/dnf5-setopt diff --git a/Containerfile b/Containerfile index 81761bd210..357ba7574d 100644 --- a/Containerfile +++ b/Containerfile @@ -113,7 +113,7 @@ RUN --mount=type=cache,dst=/var/cache/libdnf5 \ dnf5 -y config-manager addrepo --from-repofile=https://negativo17.org/repos/fedora-rar.repo && \ dnf5 -y config-manager setopt "*bazzite*".priority=1 && \ dnf5 -y config-manager setopt "*terra*".priority=2 && \ - dnf5 -y config-manager setopt $(printf '%s.priority=3 %s.exclude="mesa-*" ' $(/ctx/dnf5-search "*negativo*")) && \ + eval "$(/ctx/dnf5-setopt setopt '*negativo17*' priority=3 exclude='mesa-*')" && \ dnf5 -y config-manager setopt "*rpmfusion*".priority=4 "*rpmfusion*".exclude="mesa-*" && \ dnf5 -y config-manager setopt "*fedora*".exclude="mesa-* kernel-core-* kernel-modules-* kernel-uki-virt-*" && \ /ctx/cleanup @@ -519,7 +519,7 @@ RUN --mount=type=cache,dst=/var/cache/libdnf5 \ dnf5 config-manager setopt "*tailscale*".enabled=0 && \ dnf5 config-manager setopt "*charm*".enabled=0 && \ sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo && \ - dnf5 -y config-manager setopt "*negativo*".enabled=0 && \ + eval "$(/ctx/dnf5-setopt setopt '*negativo17*' enabled=0)" && \ sed -i 's#/var/lib/selinux#/etc/selinux#g' /usr/lib/python3.*/site-packages/setroubleshoot/util.py && \ mkdir -p /etc/flatpak/remotes.d && \ curl -Lo /etc/flatpak/remotes.d/flathub.flatpakrepo https://dl.flathub.org/repo/flathub.flatpakrepo && \ diff --git a/build_files/dnf5-search b/build_files/dnf5-search index f9f6a3a02c..31edf1bce2 100755 --- a/build_files/dnf5-search +++ b/build_files/dnf5-search @@ -2,4 +2,4 @@ # Retrieve a list of repos ids by name or id set -euo pipefail -dnf5 repo info --all --json "$1" | jq -r '.[].id' +dnf5 repo info --all --json "$@" | jq -r '.[].id' diff --git a/build_files/dnf5-setopt b/build_files/dnf5-setopt new file mode 100755 index 0000000000..67b518bd88 --- /dev/null +++ b/build_files/dnf5-setopt @@ -0,0 +1,72 @@ +#!/usr/bin/bash +set -euo pipefail + +die() { + local frame=0 + while caller $frame >&2; do + ((++frame)) + done + echo >&2 "${*:-Something went wrong}" + echo >&1 ":" + exit 0 +} +trap 'die' ERR + +_usage() { + local -i status=${1:-0} + printf >&2 'Usage: eval "%s