From a14871d4e74740875680019948c0cca30950cf1a Mon Sep 17 00:00:00 2001 From: Marek Blaha Date: Thu, 14 Nov 2024 08:49:24 +0100 Subject: [PATCH] package_downloader: Ensure creation of intermediate directories Packages in repositories are typically stored in a multi-level directory structure. Previously, the `download()` method only created the final directory in the destination path, failing if any intermediate directories were missing. This patch ensures the entire destination path is created. --- libdnf5/repo/package_downloader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libdnf5/repo/package_downloader.cpp b/libdnf5/repo/package_downloader.cpp index 534434129..27b277387 100644 --- a/libdnf5/repo/package_downloader.cpp +++ b/libdnf5/repo/package_downloader.cpp @@ -153,7 +153,7 @@ void PackageDownloader::download() try { pkg_target.package.get_nevra()); } - std::filesystem::create_directory(pkg_target.destination); + std::filesystem::create_directories(pkg_target.destination); if (auto * download_callbacks = pkg_target.package.get_base()->get_download_callbacks()) { pkg_target.user_cb_data = download_callbacks->add_new_download(