Files
git.stella-ops.org/docs/features/unchecked/scanner/rpm-legacy-bdb-packages-database-fallback.md

1.3 KiB

RPM Legacy BDB Packages Database Fallback

Module

Scanner

Status

IMPLEMENTED

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