From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id 1179A1FF0E0 for ; Thu, 23 Jul 2026 11:25:05 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id A2244214D2; Thu, 23 Jul 2026 11:25:04 +0200 (CEST) From: Erik Fastermann To: pve-devel@lists.proxmox.com Subject: [PATCH proxmox-offline-mirror] fix #7762: wizard: add PDM support Date: Thu, 23 Jul 2026 11:24:37 +0200 Message-ID: <20260723092437.93686-1-e.fastermann@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 2 AWL -0.286 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) KAM_LAZY_DOMAIN_SECURITY 1 Sending domain does not have any anti-forgery methods RDNS_NONE 1.274 Delivered to internal network by a host with no rDNS SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_NONE 0.001 SPF: sender does not publish an SPF Record Message-ID-Hash: W4LVDRSAJEPNYKGM5WPMMUDWJP5Y24DU X-Message-ID-Hash: W4LVDRSAJEPNYKGM5WPMMUDWJP5Y24DU X-MailFrom: efastermann@ruth.proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Erik Fastermann X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Offer Proxmox Datacenter Manager as a distro in the interactive setup so its repositories can be mirrored offline. Signed-off-by: Erik Fastermann --- src/bin/proxmox-offline-mirror.rs | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/bin/proxmox-offline-mirror.rs b/src/bin/proxmox-offline-mirror.rs index 90a14a9..7b7a506 100644 --- a/src/bin/proxmox-offline-mirror.rs +++ b/src/bin/proxmox-offline-mirror.rs @@ -27,6 +27,7 @@ use proxmox_offline_mirror_cmds::*; enum Distro { Debian, Pbs, + Pdm, Pmg, Pve, PveCeph, @@ -37,6 +38,7 @@ impl Display for Distro { match self { Distro::Debian => write!(f, "debian"), Distro::Pbs => write!(f, "pbs"), + Distro::Pdm => write!(f, "pdm"), Distro::Pmg => write!(f, "pmg"), Distro::Pve => write!(f, "pve"), Distro::PveCeph => write!(f, "ceph"), @@ -212,6 +214,7 @@ fn action_add_mirror(config: &SectionConfigData) -> Result, Er let distros = &[ (Distro::Pve, "Proxmox VE"), (Distro::Pbs, "Proxmox Backup Server"), + (Distro::Pdm, "Proxmox Datacenter Manager"), (Distro::Pmg, "Proxmox Mail Gateway"), (Distro::PveCeph, "Proxmox Ceph"), (Distro::Debian, "Debian"), @@ -223,7 +226,12 @@ fn action_add_mirror(config: &SectionConfigData) -> Result, Er (Release::Bookworm, "Bookworm"), (Release::Bullseye, "Bullseye"), ]; - let release = read_selection_from_tty("Select release", releases, Some(0))?; + let release = match dist { + // PDM (version 1.0 or higher) is only published for Trixie, so + // there is nothing to select. + Distro::Pdm => &Release::Trixie, + _ => read_selection_from_tty("Select release", releases, Some(0))?, + }; let mut add_debian_repo = false; @@ -354,6 +362,21 @@ fn action_add_mirror(config: &SectionConfigData) -> Result, Er (Distro::Pbs, &ProxmoxVariant::Enterprise) => Some(ProductType::Pbs), (Distro::Pmg, &ProxmoxVariant::Enterprise) => Some(ProductType::Pmg), (Distro::Pve, &ProxmoxVariant::Enterprise) => Some(ProductType::Pve), + (Distro::Pdm, &ProxmoxVariant::Enterprise) => { + // PDM has no dedicated subscription of its own; its enterprise + // repository is unlocked by any Basic (or higher) PVE or PBS + // subscription key. + let products = &[(ProductType::Pve, "PVE"), (ProductType::Pbs, "PBS")]; + Some( + read_selection_from_tty( + "Select subscription (Basic or higher) to use \ + for the PDM enterprise repository", + products, + Some(0), + )? + .clone(), + ) + } _ => None, }; -- 2.47.3