Skip to content

v0.8.1

Choose a tag to compare

@github-actions github-actions released this 17 Jan 13:36
· 39 commits to main since this release
dc9ee7f

Package Mask, Keywords Filtering & Atom Parsing Fix

This release adds critical filtering functionality to the dependency resolver and fixes atom parsing issues that caused incorrect Manifest path construction.

Highlights

  • Package Mask Support — Solver now respects package.mask from repository, profile cascade, and user configuration
  • KEYWORDS Filtering — Packages are filtered by KEYWORDS vs ACCEPT_KEYWORDS, preventing selection of unkeyworded packages (e.g., gcc-16.0.9999)
  • Atom Parsing Fix — Versioned atoms like =sys-devel/gcc-13.4.1_p20250807 now correctly resolve to sys-devel/gcc for path construction

Bug Fixes

  • #45 — Fixed Manifest path construction for versioned atoms. Before: =sys-devel/gcc-13.4.1 → sys-devel/gcc-13.4.1/Manifest (wrong). After: sys-devel/gcc/Manifest (correct)
  • #46 — Solver now properly filters masked packages
  • #48 — Solver now filters unkeyworded packages

New Features

  • MaskManager — Multi-source mask loading with priority handling
  • KeywordManager — Architecture-aware keyword filtering
  • loadPackageFromAtom() — PMS-compliant atom loading helper
  • 18 new test cases for atom parsing edge cases

Verified

GRPM now selects the same package versions as Portage (tested with sys-devel/gcc):

  • Before: gcc-16.0.9999 (unkeyworded, masked)
  • After: gcc-15.2.1_p20251122 (stable, same as Portage)

Installation

# Download for your platform
wget https://github.com/grpmsoft/grpm/releases/download/v0.8.1/grpm_0.8.1_linux_x86_64.tar.gz

# Extract and install
tar -xzf grpm_0.8.1_linux_x86_64.tar.gz
sudo install -m 0755 grpm /usr/bin/grpm

# Verify
grpm version

Testing

Tested on Gentoo Linux with real Portage repository:

  • Unit tests: ✅ All passing
  • Integration tests: ✅ All passing (E2E in Gentoo container)
  • Real-world: ✅ 98.2% tree coverage verified

Full Changelog: v0.8.0...v0.8.1