Update openspec with clarified design decisions
This commit is contained in:
@@ -1,23 +1,30 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Can handle AUR packages with pacman fallback
|
||||
### Requirement: Handle AUR packages with fallback and upgrade
|
||||
|
||||
The system SHALL attempt to install AUR packages by first trying pacman
|
||||
repositories, then falling back to AUR when pacman fails, and finally reporting
|
||||
errors for packages still missing.
|
||||
The system SHALL first attempt to install packages via pacman, then fall back
|
||||
to AUR for packages not found in repos, and upgrade AUR packages to
|
||||
latest versions.
|
||||
|
||||
#### Scenario: Install from pacman first
|
||||
#### Scenario: Try pacman first
|
||||
- **WHEN** package is in pacman repositories
|
||||
- **THEN** system shall install via pacman
|
||||
- **THEN** install via pacman -Syu
|
||||
|
||||
#### Scenario: Fall back to AUR
|
||||
- **WHEN** package is not in pacman repositories but is in AUR
|
||||
- **THEN** system shall attempt installation via makepkg (direct AUR build)
|
||||
- **THEN** query AUR via Jguer/aur library
|
||||
- **AND** build and install with makepkg -si
|
||||
|
||||
#### Scenario: Upgrade AUR packages
|
||||
- **WHEN** AUR package is already installed but outdated
|
||||
- **THEN** rebuild and reinstall with makepkg to get latest version
|
||||
|
||||
#### Scenario: Report error for missing packages
|
||||
- **WHEN** package is not in pacman repositories or AUR
|
||||
- **THEN** system shall report error and print to stderr
|
||||
- **THEN** print error to stderr with package name
|
||||
- **AND** exit with code 1
|
||||
|
||||
#### Scenario: Continue for remaining packages
|
||||
- **WHEN** some packages are installed and some fail
|
||||
- **THEN** system shall continue installation process for successful packages
|
||||
#### Scenario: AUR build failure
|
||||
- **WHEN** makepkg fails to build package
|
||||
- **THEN** print makepkg error to stderr
|
||||
- **AND** exit with code 1
|
||||
Reference in New Issue
Block a user