Skip to main content

analyze_srcinfo

Function analyze_srcinfo 

Source
pub fn analyze_srcinfo<S: BuildHasher>(
    package_name: &str,
    srcinfo_text: &str,
    installed: &HashSet<String, S>,
    provided: &HashSet<String, S>,
) -> SandboxInfo
Expand description

What: Analyze a package’s dependencies from .SRCINFO content.

Inputs:

  • package_name: Package name for the report.
  • srcinfo_text: .SRCINFO content.
  • installed: Set of installed package names.
  • provided: Set of names provided by installed packages.

Output:

  • SandboxInfo with per-category dependency deltas.

Details:

  • Parses dependency fields via deps::parse_srcinfo_deps (Phase 2 parser) and delegates to analyze_dependencies per category.
  • .SRCINFO is preferred over PKGBUILD when both are available (it is machine-generated and unambiguous); fetch it via deps::fetch_srcinfo when the aur feature is enabled.

§Example

use arch_toolkit::sandbox::analyze_srcinfo;
use std::collections::HashSet;

let srcinfo = "pkgbase = demo\n\tdepends = glibc\n\tmakedepends = cmake";
let installed: HashSet<String> = HashSet::from(["glibc".to_string(), "cmake".to_string()]);
let provided = HashSet::new();
let info = analyze_srcinfo("demo", srcinfo, &installed, &provided);
assert!(info.is_ready_to_build());