From ba2515145f1876f10e8e75c40f59d3fa8517a7fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Wed, 30 Sep 2026 13:18:10 +0500 Subject: [PATCH] Example: install from a package URL (used to verify the published base release) Co-Authored-By: Claude Sonnet 5.5 --- crates/coa-core/examples/install_url.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 crates/coa-core/examples/install_url.rs diff --git a/crates/coa-core/examples/install_url.rs b/crates/coa-core/examples/install_url.rs new file mode 100644 index 0000000..d287a3b --- /dev/null +++ b/crates/coa-core/examples/install_url.rs @@ -0,0 +1,13 @@ +//! Install from a package URL into a NEW folder (production trust key). usage: install_pkg +use coa_core::download::Cancel; +use coa_core::install::{install_base, Params, Source}; +use coa_core::registry::Registry; + +fn main() { + let a: Vec = std::env::args().skip(1).collect(); + let reg = Registry::at(std::env::temp_dir().join("coa-install-url").join("installs.json")); + let _ = std::fs::remove_dir_all(std::env::temp_dir().join("coa-install-url")); + let t = std::time::Instant::now(); + let r = install_base(&Params { source: Source::Url(a[0].clone()), dest: a[1].clone().into(), trusted_key: coa_core::signing::EMBEDDED_PUBLIC_KEY, registry: ®, cancel: Cancel::default() }, &|s| eprintln!(" {:>3}% {}", s.percent, s.step)).unwrap_or_else(|e| panic!("install failed: {e:?}")); + println!("installed {} at {} in {:?}", r.version, r.path, t.elapsed()); +}