pub fn analyze_srcinfo<S: BuildHasher>(
package_name: &str,
srcinfo_text: &str,
installed: &HashSet<String, S>,
provided: &HashSet<String, S>,
) -> SandboxInfoExpand 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:
SandboxInfowith per-category dependency deltas.
Details:
- Parses dependency fields via
deps::parse_srcinfo_deps(Phase 2 parser) and delegates toanalyze_dependenciesper category. - .SRCINFO is preferred over PKGBUILD when both are available (it is
machine-generated and unambiguous); fetch it via
deps::fetch_srcinfowhen theaurfeature 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());