35 lines
1.5 KiB
Markdown
35 lines
1.5 KiB
Markdown
# RPM Legacy BDB Packages Database Fallback
|
|
|
|
## Module
|
|
Scanner
|
|
|
|
## Status
|
|
VERIFIED
|
|
|
|
## Description
|
|
Adds fallback support for legacy Berkeley DB (BDB) format RPM package databases alongside the modern SQLite format, enabling package discovery on older RHEL/CentOS images.
|
|
|
|
## Implementation Details
|
|
- **Berkeley DB Reader**:
|
|
- `src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/Internal/BerkeleyDbReader.cs` - `BerkeleyDbReader` parses legacy BDB format RPM package databases for older RHEL/CentOS images
|
|
- **RPM Database Reader**:
|
|
- `src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/RpmDatabaseReader.cs` - `RpmDatabaseReader` with fallback logic: tries modern SQLite format first, falls back to BDB format for legacy images
|
|
|
|
## E2E Test Plan
|
|
- [ ] Scan an older RHEL/CentOS image (pre-RHEL 8) using BDB format RPM database and verify packages are discovered
|
|
- [ ] Scan a modern RHEL/CentOS image using SQLite format RPM database and verify it uses the primary path
|
|
- [ ] Verify the fallback logic correctly detects the database format and chooses the appropriate reader
|
|
- [ ] Verify BDB-parsed packages include correct name, version, release, and architecture metadata
|
|
- [ ] Verify both BDB and SQLite paths produce consistent package lists for the same set of installed packages
|
|
|
|
---
|
|
|
|
## Verification
|
|
|
|
| Check | Result |
|
|
|-------|--------|
|
|
| Tier 0 - Source files exist | PASS |
|
|
| Tier 1 - Build + code review | PASS |
|
|
| Tier 2 - Integration tests | PASS |
|
|
| Verified | 2026-02-13T18:10:00Z |
|