You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.7 KiB
1.7 KiB
ADDED Requirements
Requirement: Package existence check via sync DBs
When resolving packages, the system SHALL first check sync databases (core, extra, multilib) to determine if a package exists in official repositories. If found in sync DBs, Exists SHALL be set to true.
Scenario: Package found in sync DB
- WHEN package name exists in any sync database
- THEN set
Exists: true,InAUR: false
Scenario: Package not found in sync DB
- WHEN package name does not exist in any sync database
- THEN keep
Exists: falsefor further lookup
Requirement: Package installation check via local database
After checking sync DBs, the system SHALL check the local package database to determine if a package is installed. This is independent of existence check.
Scenario: Package installed locally
- WHEN package is installed on the system
- THEN set
Installed: true
Scenario: Package not installed locally
- WHEN package is not installed on the system
- THEN set
Installed: false
Requirement: AUR fallback check
If package is not found in sync DBs, the system SHALL check the AUR as a fallback.
Scenario: Package found in AUR
- WHEN package exists in AUR but not in sync DBs
- THEN set
InAUR: true
Scenario: Package not found anywhere
- WHEN package not in sync DBs, not in local DB, not in AUR
- THEN return error "package not found"
Requirement: Validation at resolution end
After all checks complete, the system SHALL ensure every package has either Exists: true or InAUR: true. No package SHALL leave the resolver in an ambiguous state.
Scenario: All packages valid
- WHEN all packages resolved successfully
- THEN every package has Exists=true OR InAUR=true