Skip to content

Commit 88e0673

Browse files
rd4398claude
andcommitted
fix(bootstrapper): preserve BUILD_SDIST requirement type for sdist build deps
Split the combined build_backend_deps | build_sdist_deps call into separate _create_dep_work_items calls with their correct RequirementType so BUILD_SDIST edges are not mislabeled as BUILD_BACKEND. Co-Authored-By: Claude <claude@anthropic.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Rohan Devasthale <rdevasth@redhat.com>
1 parent 854abb9 commit 88e0673

1 file changed

Lines changed: 15 additions & 2 deletions

File tree

src/fromager/bootstrapper.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1486,12 +1486,19 @@ def _phase_prepare_build(self, item: WorkItem) -> list[WorkItem]:
14861486
build_env=item.build_env,
14871487
)
14881488

1489-
dep_items = self._create_dep_work_items(
1490-
item.build_backend_deps | item.build_sdist_deps,
1489+
backend_items = self._create_dep_work_items(
1490+
item.build_backend_deps,
14911491
RequirementType.BUILD_BACKEND,
14921492
item.req,
14931493
item.resolved_version,
14941494
)
1495+
sdist_items = self._create_dep_work_items(
1496+
item.build_sdist_deps,
1497+
RequirementType.BUILD_SDIST,
1498+
item.req,
1499+
item.resolved_version,
1500+
)
1501+
dep_items = backend_items + sdist_items
14951502

14961503
item.phase = BootstrapPhase.BUILD
14971504
return dep_items + [item]
@@ -1673,6 +1680,12 @@ def _handle_phase_error(
16731680
f"failed to bootstrap: {type(err).__name__}: {err}"
16741681
)
16751682
self.ctx.dependency_graph.remove_dependency(pkg_name, item.resolved_version)
1683+
self._seen_requirements.discard(
1684+
self._resolved_key(item.req, item.resolved_version, "sdist")
1685+
)
1686+
self._seen_requirements.discard(
1687+
self._resolved_key(item.req, item.resolved_version, "wheel")
1688+
)
16761689
self.ctx.write_to_graph_to_file()
16771690
return []
16781691

0 commit comments

Comments
 (0)