Skip to content

Fix NVRA regex parsing for EL10 packages#83

Merged
rockythorn merged 1 commit into
resf:mainfrom
rockythorn:fix/el10-nvra-regex
May 29, 2026
Merged

Fix NVRA regex parsing for EL10 packages#83
rockythorn merged 1 commit into
resf:mainfrom
rockythorn:fix/el10-nvra-regex

Conversation

@rockythorn

Copy link
Copy Markdown
Collaborator

Summary

  • DIST_RE only matched single-digit EL versions (\.el\d), so .el10 was partially stripped as .el1, corrupting releases like 1.el10~bootstrap into 10~bootstrap
  • NVRA_RE / NEVRA_RE release groups started with \w+ which excludes ~ and ^, so cleaned releases containing RPM tilde suffixes (e.g. 1~bootstrap) could not match
  • Both bugs compound to crash the match_rh_repos activity in process_repomd when processing Rocky 10.2 repos containing packages like qt6-qtremoteobjects with release 1.el10~bootstrap

Changes

  • DIST_RE: \d\d+ to handle multi-digit EL versions (10+)
  • NVRA_RE / NEVRA_RE: release initial segment \w+[\w~^]+ to accept RPM tilde/caret suffixes
  • Guard NVRA_RE.search() in process_repomd to log a warning and skip instead of crashing the whole activity on unrecognized NVRAs

Test plan

  • All 12 existing tests pass
  • Verified fix against 10,956 packages across Rocky 10.2 AppStream and BaseOS repos (0 failures)
  • Reproduced production traceback locally, confirmed it no longer occurs after fix

…rsing

DIST_RE only matched single-digit EL versions (\.el\d), so .el10 was
partially stripped as .el1, corrupting releases like 1.el10~bootstrap
into 10~bootstrap. NVRA_RE then failed to match because its release
group started with \w+ which excludes tilde.

Packages like qt6-qtremoteobjects with release 1.el10~bootstrap crashed
the match_rh_repos activity in process_repomd.
@rockythorn rockythorn merged commit 4aa9d29 into resf:main May 29, 2026
1 check passed
@rockythorn rockythorn deleted the fix/el10-nvra-regex branch May 29, 2026 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants