From 2f3bd7249181cdca989e25d83e01be2473f55d62 Mon Sep 17 00:00:00 2001 From: James Shubin Date: Sat, 18 Jan 2025 01:02:17 -0500 Subject: [PATCH] lang: core: embedded: provisioner: Fix regression in Fedora 41 Unfortunately with Fedora 41 and DNF5, this breaks what our host machine expects. So you now need dnf5+ to make this work, or you can revert this commit. --- lang/core/embedded/provisioner/main.mcl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lang/core/embedded/provisioner/main.mcl b/lang/core/embedded/provisioner/main.mcl index 87301a10..c1c19ef9 100644 --- a/lang/core/embedded/provisioner/main.mcl +++ b/lang/core/embedded/provisioner/main.mcl @@ -334,7 +334,9 @@ class base:repo($config) { exec "uefi-download-${uid}" { # no inner quotes because it's not bash handling this! # the dnf download command makes the download destination dir - cmd => "/usr/bin/dnf download ${pkgs_uefi_string} --assumeyes --disablerepo=* --repofrompath ${repoidname},${repo_url} --downloaddir=${uefi_download_dir} --releasever ${version}", + # With DNF5 (provisioning OS Fedora 41+) it's --destdir. + # Previously it's --downloaddir and no idea why the API break. + cmd => "/usr/bin/dnf download ${pkgs_uefi_string} --assumeyes --disablerepo=* --repofrompath ${repoidname},${repo_url} --destdir=${uefi_download_dir} --releasever ${version}", # TODO: add an optional expiry mtime check that deletes these old files with an || rm * && false ifcmd => "! test -s '${uefi_download_dir}shim-x64'*",