these contain extra data that is not that important for the main repository use case - providing deb packages.
if they are not retrievable (e.g., Ubuntu *only* provides some of they via by-hash, which proxmox-offline-mirror doesn't yet support) a warning should be enough, instead of failing the whole snapshot creation. Signed-off-by: Fabian Grünbichler <f.gruenbich...@proxmox.com> --- src/mirror.rs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/mirror.rs b/src/mirror.rs index 14b0c6a..f910e6a 100644 --- a/src/mirror.rs +++ b/src/mirror.rs @@ -534,6 +534,7 @@ pub fn create_snapshot( let mut packages_size = 0_usize; let mut packages_indices = HashMap::new(); + let mut failed_references = Vec::new(); for (component, references) in per_component { println!("\nFetching indices for component '{component}'"); let mut component_deb_size = 0; @@ -555,7 +556,18 @@ pub fn create_snapshot( } // this will ensure the uncompressed file will be written locally - let res = fetch_index_file(&config, prefix, reference, uncompressed_ref)?; + let res = match fetch_index_file(&config, prefix, reference, uncompressed_ref) { + Ok(res) => res, + Err(err) if !reference.file_type.is_package_index() => { + eprintln!( + "Failed to fetch '{:?}' type reference '{}', skipping - {err}", + reference.file_type, reference.path + ); + failed_references.push(reference); + continue; + } + Err(err) => bail!(err), + }; fetch_progress.update(&res); if package_index_data.is_none() && reference.file_type.is_package_index() { @@ -577,6 +589,12 @@ pub fn create_snapshot( total_progress += fetch_progress; } println!("Total deb size: {packages_size}"); + if !failed_references.is_empty() { + eprintln!("Failed to download non-package-index references:"); + for reference in failed_references { + eprintln!("\t{}", reference.path); + } + } println!("\nFetching packages.."); for (basename, references) in packages_indices { -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel