get: allow fetching without series
All checks were successful
CI / build (push) Successful in 1m34s

fetch from devel/sid
fetch with specific dist
This commit is contained in:
2025-11-28 23:47:55 +01:00
parent 92dfe8bacb
commit ef1d8f05bf
3 changed files with 160 additions and 47 deletions

View File

@@ -40,6 +40,10 @@ fn main() {
arg!(-s --series <series> "Target package distribution series")
.required(false)
)
.arg(
arg!(-d --dist <dist> "Target package distribution (debian, ubuntu)")
.required(false)
)
.arg(
arg!(-v --version <version> "Target package version")
.required(false)
@@ -63,14 +67,15 @@ fn main() {
match matches.subcommand() {
Some(("get", sub_matches)) => {
let package = sub_matches.get_one::<String>("package").expect("required");
let series = sub_matches.get_one::<String>("series").map(|s| s.as_str()).unwrap_or("");
let series = sub_matches.get_one::<String>("series").map(|s| s.as_str());
let dist = sub_matches.get_one::<String>("dist").map(|s| s.as_str());
let version = sub_matches.get_one::<String>("version").map(|s| s.as_str()).unwrap_or("");
let ppa = sub_matches.get_one::<String>("ppa").map(|s| s.as_str()).unwrap_or("");
// Since get is async, we need to block on it
let (pb, mut progress_callback) = ui::create_progress_bar(&multi);
if let Err(e) = rt.block_on(get(package, version, series, "", ppa, None, Some(&mut progress_callback))) {
if let Err(e) = rt.block_on(get(package, version, series, "", ppa, dist, None, Some(&mut progress_callback))) {
pb.finish_and_clear();
error!("{}", e);
std::process::exit(1);