pub fn parse_pkgbuild_conflicts(pkgbuild: &str) -> Vec<String>Expand description
What: Parse conflicts from PKGBUILD content.
Inputs:
pkgbuild: Raw PKGBUILD file content.
Output:
- Returns a vector of conflicting package names (without version constraints).
Details:
- Parses bash array syntax:
conflicts=('foo' 'bar')(single-line) - Also handles
conflicts+=patterns used in functions likepackage() - Handles both quoted and unquoted conflicts
- Also handles multi-line arrays:
conflicts=( 'foo' 'bar' ) - Filters out .so files (virtual packages) and invalid package names
- Extracts package names from version constraints (e.g., “jujutsu-git>=1.0” -> “jujutsu-git”)
- Deduplicates conflicts (returns unique list)