From 66d53d227b5a83f3089f8c0de7eae65bcfe32fe0 Mon Sep 17 00:00:00 2001 From: JMARyA Date: Sun, 27 Apr 2025 18:22:25 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=91=EF=B8=8F=20fix=20any=20pkg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/config.rs | 12 ++++++++---- src/pkg/mirror.rs | 6 +++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/config.rs b/src/config.rs index f1e5f39..ff9959e 100644 --- a/src/config.rs +++ b/src/config.rs @@ -19,11 +19,15 @@ pub struct Mirrorlist { } impl Mirrorlist { - pub fn for_arch(&self, arch: Architecture) -> &[String] { + pub fn for_arch(&self, arch: Architecture) -> Vec { match arch { - Architecture::x86_64 => &self.x86_64, - Architecture::aarch64 => &self.aarch64, - Architecture::any => &self.x86_64, + Architecture::x86_64 => self.x86_64.clone(), + Architecture::aarch64 => self.aarch64.clone(), + Architecture::any => { + let mut res = self.x86_64.clone(); + res.extend(self.aarch64.clone()); + res + } } } } diff --git a/src/pkg/mirror.rs b/src/pkg/mirror.rs index 22006db..b0535c3 100644 --- a/src/pkg/mirror.rs +++ b/src/pkg/mirror.rs @@ -79,7 +79,7 @@ impl MirrorRepository { self.inner .base_path(arch.clone()) .join(format!("{}.db.tar.gz", self.inner.name)), - mirrorlist.for_arch(arch.clone()), + &mirrorlist.for_arch(arch.clone()), arch.clone(), ) .await; @@ -98,7 +98,7 @@ impl MirrorRepository { self.inner .base_path(arch.clone()) .join(format!("{}.db.tar.gz.sig", self.inner.name)), - mirrorlist.for_arch(arch.clone()), + &mirrorlist.for_arch(arch.clone()), arch.clone(), ) .await; @@ -117,7 +117,7 @@ impl MirrorRepository { let (name, _, _, arch, _) = Package::extract_pkg_name(pkg_name).unwrap(); log::info!("Not Found. Downloading mirrored package {pkg_name}"); - self.download_package(pkg_name, &name, arch.clone(), mirrorlist.for_arch(arch)) + self.download_package(pkg_name, &name, arch.clone(), &mirrorlist.for_arch(arch)) .await; self.inner.get_pkg(pkg_name)