feat: improve depot UX and packaging workflow
- add shared terminal UI helpers for colored info/warn/success logs and yes/no prompts - add Python build backend (PEP 517/setup.py wheel build + install) and expose python in interactive spec creation - expand spec/build flags (post_configure, make phase targets/dirs, configure_file, no_strip, no_compress_man) - support split-output staging with internal .depot output dirs, shell helpers (haul/subdestdir), and per-output deps/provides overrides - improve staging with ELF auto-strip and zstd manpage compression (with opt-out flags) - enforce runtime deps before install and support legacy lifecycle hook script names - improve manual source handling with files/urls lists and stricter validation
This commit is contained in:
@@ -24,11 +24,11 @@ pub fn fetch_archive(spec: &PackageSpec, source: &Source, cache_dir: &Path) -> R
|
||||
|
||||
// Check if already cached and verified
|
||||
if dest_path.exists() && verify_checksum(&dest_path, &source.sha256)? {
|
||||
println!("Using cached source: {}", dest_path.display());
|
||||
crate::log_info!("Using cached source: {}", dest_path.display());
|
||||
return Ok(dest_path);
|
||||
}
|
||||
|
||||
println!("Fetching: {}", url);
|
||||
crate::log_info!("Fetching: {}", url);
|
||||
|
||||
// Parse URL early so we can handle non-HTTP schemes (FTP support)
|
||||
let parsed_url = Url::parse(&url).with_context(|| format!("Invalid URL: {}", url))?;
|
||||
@@ -165,7 +165,7 @@ pub fn fetch_archive(spec: &PackageSpec, source: &Source, cache_dir: &Path) -> R
|
||||
if !seen_alts.insert(alt.clone()) {
|
||||
bail!("Mirror retry loop detected for URL: {}", alt);
|
||||
}
|
||||
println!("Retrying download from mirror: {}", alt);
|
||||
crate::log_info!("Retrying download from mirror: {}", alt);
|
||||
fs::remove_file(&dest_path).ok();
|
||||
|
||||
// If mirror URL is FTP -> use suppaftp; otherwise use HTTP retry.
|
||||
@@ -280,7 +280,7 @@ pub fn fetch_archive(spec: &PackageSpec, source: &Source, cache_dir: &Path) -> R
|
||||
bail!("Checksum verification failed for {}", filename);
|
||||
}
|
||||
|
||||
println!("Checksum verified: {}", filename);
|
||||
crate::log_info!("Checksum verified: {}", filename);
|
||||
Ok(dest_path)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user