diff --git a/src/bin/repo.rs b/src/bin/repo.rs index 1fc91fdb..6b406cd1 100644 --- a/src/bin/repo.rs +++ b/src/bin/repo.rs @@ -841,16 +841,30 @@ fn handle_tree( } println!(""); - println!( - "Estimated image size: {} of {} {}", - tree::format_size(total_size), - visited.len(), - if visited.len() == 1 { - "package" - } else { - "packages" - }, - ); + if is_build_tree { + println!( + "Build summary: {} need build, {} may rebuild, with total of {} {}", + total_size, + roots.len(), + visited.len(), + if visited.len() == 1 { + "recipe" + } else { + "recipes" + }, + ); + } else { + println!( + "Estimated image size: {} of {} {}", + tree::format_size(total_size), + visited.len(), + if visited.len() == 1 { + "package" + } else { + "packages" + }, + ); + } Ok(()) } diff --git a/src/cook/tree.rs b/src/cook/tree.rs index cf6eec5c..f4bb935d 100644 --- a/src/cook/tree.rs +++ b/src/cook/tree.rs @@ -72,8 +72,14 @@ pub fn walk_tree_entry( } visited.insert(package_name.clone()); - if let WalkTreeEntry::Built(_p, pkg_size) = &entry { - *total_size += pkg_size; + if is_build_tree { + if matches!(entry, WalkTreeEntry::NotBuilt) { + *total_size += 1; + } + } else { + if let WalkTreeEntry::Built(_p, pkg_size) = &entry { + *total_size += pkg_size; + } } let pkg_meta: Package;