From 0a70428e5cdf5231caa8f4665483f4fc7b43b394 Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 11 Jul 2025 09:11:54 +0200 Subject: [PATCH] Initial add --- personal_infra/hack_dnf_problems.py | 38 +++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 personal_infra/hack_dnf_problems.py diff --git a/personal_infra/hack_dnf_problems.py b/personal_infra/hack_dnf_problems.py new file mode 100755 index 0000000..a88f1b5 --- /dev/null +++ b/personal_infra/hack_dnf_problems.py @@ -0,0 +1,38 @@ +#!/usr/bin/python3 + +import itertools +import shlex +import subprocess + +def _(*args): + print(shlex.join(args)) + subprocess.run(args, check=True) + +def clean(): + _("rpm", "--rebuilddb") + _("dnf", "clean", "all") + +def update_disabled(repos): + args = ["dnf", "update", "-y"] + list(itertools.chain(*[("--disablerepo", r) for r in repos])) + _(*args) + +def update_enabled(repos): + args = ["dnf", "update", "-y", "--disablerepo=*"] + list(itertools.chain(*[("--enablerepo", r) for r in repos])) + _(*args) + +clean() + +problematic_repos = ["copr:copr.fedorainfracloud.org:mlampe:emacs-30", "okay", "extras"] + +update_disabled(problematic_repos) + +failed = [] + +for r in problematic_repos: + try: + update_enabled([r]) + except Exception as e: + failed.append(r) + print(f"fail {r}: {e}") + +print(f"failed {failed}") -- 2.47.3