parse_pkgbuild_conflicts

Function parse_pkgbuild_conflicts 

Source
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 like package()
  • 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)