Signed-off-by: Fabian Grünbichler <f.gruenbich...@proxmox.com>
---
 src/bin/proxmox-offline-mirror.rs | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/src/bin/proxmox-offline-mirror.rs 
b/src/bin/proxmox-offline-mirror.rs
index 89bd0bb..8fd8415 100644
--- a/src/bin/proxmox-offline-mirror.rs
+++ b/src/bin/proxmox-offline-mirror.rs
@@ -52,6 +52,16 @@ enum Release {
     Bullseye = 11,
 }
 
+impl Release {
+    fn proxmox_key_path(&self) -> String {
+        if self >= &Release::Trixie {
+            format!("/usr/share/keyrings/proxmox-release-{self}.gpg")
+        } else {
+            "/etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg".to_string()
+        }
+    }
+}
+
 impl Display for Release {
     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         match self {
@@ -301,11 +311,7 @@ fn action_add_mirror(config: &SectionConfigData) -> 
Result<Vec<MirrorConfig>, Er
                         )
                     };
 
-                let key = match release {
-                    Release::Trixie => 
"/usr/share/keyrings/proxmox-release-trixie.gpg",
-                    Release::Bookworm => 
"/usr/share/keyrings/proxmox-release-bookworm.gpg",
-                    Release::Bullseye => 
"/etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg",
-                };
+                let key = release.proxmox_key_path();
 
                 let ceph_release = match ceph_release {
                     CephRelease::Octopus => "octopus",
@@ -318,7 +324,7 @@ fn action_add_mirror(config: &SectionConfigData) -> 
Result<Vec<MirrorConfig>, Er
                 let url = format!("{base_url}-{ceph_release} {release} 
{components}");
                 let suggested_id = format!("ceph_{ceph_release}_{release}");
 
-                (url, key.to_string(), suggested_id, SkipConfig::default())
+                (url, key, suggested_id, SkipConfig::default())
             }
             product => {
                 let variants = &[
@@ -358,11 +364,7 @@ fn action_add_mirror(config: &SectionConfigData) -> 
Result<Vec<MirrorConfig>, Er
                     _ => None,
                 };
 
-                let key = match release {
-                    Release::Trixie => 
"/usr/share/keyrings/proxmox-release-trixie.gpg",
-                    Release::Bookworm => 
"/usr/share/keyrings/proxmox-release-bookworm.gpg",
-                    Release::Bullseye => 
"/etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg",
-                };
+                let key = release.proxmox_key_path();
 
                 let suggested_id = format!("{product}_{release}_{variant}");
 
@@ -371,7 +373,7 @@ fn action_add_mirror(config: &SectionConfigData) -> 
Result<Vec<MirrorConfig>, Er
                     Some(true),
                 )?;
 
-                (url, key.to_string(), suggested_id, SkipConfig::default())
+                (url, key, suggested_id, SkipConfig::default())
             }
         };
 
-- 
2.47.3



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to