Add non-checked base repo concept (#37) #38
No reviewers
Labels
No labels
ai-review-please
Backlog Status
Needs Review
Backlog Status
Ready
chore
documentation
points
01
points
02
points
03
points
05
points
08
points
13
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Sprint Status
Blocked
Sprint Status
Done
Sprint Status
In Progress
Sprint Status
Review
Sprint Status
To Do
Technical Debt
Work Item
Bug
Work Item
Epic
Work Item
Spike
Work Item
Task
Work Item
User Story
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
quality/rmdepcheck!38
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "nonchecked-base"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This adds a 'non-checked base repo' concept to address the ELN
scenario covered in #37. A 'non-checked base repo' is just like
a base repo, but it is not included in the
--checkarg whengenerating the modified repoclosure. So it's always available to
the depsolver, and it is modified just like a regular base repo
(unlike a 'non-modified base repo'), but we don't actually check
for repoclosure issues in it.
This is intended to be used for the ELN buildroot repo. We need
it to be in scope for the depsolver so we do not get spurious
failures when a package under testing adds a dependency on
something that is only in the buildroot (this is fine if that
package is itself a buildroot-only package). But @yselkowitz
does not want us to fail when an update would introduce a new
dependency issue in a buildroot-only package, so we do not want
to run repoclosure on the buildroot repo.
Signed-off-by: Adam Williamson awilliam@redhat.com
AI Code Review
📋 MR Summary
Adds a 'non-checked base repo' concept, allowing certain repositories to be modified and used for dependency resolution without being subjected to repoclosure checks.
--ncbasereposargument for non-checked base repositories.get_base_repoclosureto include non-checked repos in the solver while excluding them from the--checkargument.get_modified_and_new_repoclosureto apply package exclusions (modifications) to non-checked base repos just like regular base repos.test_e2e_eln) and mock repositories to verify the ELN buildroot scenario.Detailed Code Review
The implementation correctly aligns with the stated intent of supporting ELN buildroot scenarios. The
ncbasereposare appropriately included in the dependency solver and modified via exclusions, while being safely omitted from the--checklist in bothget_base_repoclosureandget_modified_and_new_repoclosure.The test coverage has been nicely updated with an end-to-end test that properly validates the expected behavior (ignoring broken deps in the buildroot repo while catching them in the shipped repo). No security or performance issues were identified.
✅ Summary
tests/testdata/repos/mkrepos.pyto maintain consistency with the main codebase.🤖 AI Code Review | Generated with ai-code-review | Model:
gemini-3.1-pro-preview⚠️ AI-generated suggestions may be incorrect. Verify before applying. Not a replacement for human review.
This is an alternative to #39. See #39 (comment) for my thoughts on how they compare.
Rolled into #40 .
Pull request closed