fix: address build failures due to missing dependencies#16458
fix: address build failures due to missing dependencies#16458christopherco merged 7 commits intotomls/base/mainfrom
Conversation
Signed-off-by: Thien Trung Vuong <tvuong@microsoft.com>
Signed-off-by: Thien Trung Vuong <tvuong@microsoft.com>
Signed-off-by: Thien Trung Vuong <tvuong@microsoft.com>
Signed-off-by: Thien Trung Vuong <tvuong@microsoft.com>
Signed-off-by: Thien Trung Vuong <tvuong@microsoft.com>
…equires dynamic buildrequires generation returns golang-github-sagikazarmark-crypt, which has been a dead package since f43. Temporarily disabling the buildrequires generation so we can get bootstrap builds to pass Signed-off-by: Thien Trung Vuong <tvuong@microsoft.com>
Signed-off-by: Thien Trung Vuong <tvuong@microsoft.com>
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Pins/selectively overlays a handful of Fedora components to work around buildroot dependency gaps causing build failures.
Changes:
- Add upstream-commit pins for several Rust components (uv, rust-zerocopy, rust-schemars, rust-gix-archive) and trustee-guest-components.
- Add Go component build workarounds by enabling bootstrap mode and disabling
%go_generate_buildrequiresin one spec overlay. - Remove the affected components’ entries from
components-full.toml.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| base/comps/uv/uv.comp.toml | Adds an upstream-commit pin for uv to avoid a missing Rust crate build dependency. |
| base/comps/trustee-guest-components/trustee-guest-components.comp.toml | Pins trustee-guest-components to an older upstream commit due to missing crates in the tag. |
| base/comps/rust-zerocopy/rust-zerocopy.comp.toml | Pins rust-zerocopy to keep derive crate versions in sync for buildability. |
| base/comps/rust-schemars/rust-schemars.comp.toml | Pins rust-schemars to keep the derive crate in sync to avoid missing build deps. |
| base/comps/rust-gix-archive/rust-gix-archive.comp.toml | Pins rust-gix-archive for compatibility with available zip crate versions. |
| base/comps/golang-x-exp/golang-x-exp.comp.toml | Enables the bootstrap build condition to avoid dynamic BuildRequires generation issues. |
| base/comps/golang-github-envoyproxy-control-plane/golang-github-envoyproxy-control-plane.comp.toml | Adds an overlay to disable %go_generate_buildrequires to avoid a dead transitive dependency. |
| base/comps/components-full.toml | Removes several components from the “full” component list. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -1057,7 +1057,6 @@ | |||
| [components.golang-github-eclipse-paho-mqtt] | |||
| [components.golang-github-elazarl-goproxy] | |||
| [components.golang-github-emicklei-restful] | |||
There was a problem hiding this comment.
This change removes golang-github-envoyproxy-control-plane, golang-x-exp, rust-gix-archive, rust-schemars, rust-zerocopy, trustee-guest-components, and uv from components-full.toml. If components-full.toml is used as the authoritative input for the “full” build set, these components will no longer be included/built, which conflicts with the PR goal of fixing build failures via pins/overlays. Consider keeping these [components.*] entries in components-full.toml and relying on the new per-component .comp.toml files to apply the pin/overlay behavior instead.
| [components.golang-github-emicklei-restful] | |
| [components.golang-github-emicklei-restful] | |
| [components.golang-github-envoyproxy-control-plane] |
| [components.golang-uber-zap] | ||
| [components.golang-x-arch] | ||
| [components.golang-x-crypto] | ||
| [components.golang-x-exp] | ||
| [components.golang-x-mod] | ||
| [components.golang-x-net] |
There was a problem hiding this comment.
This change removes golang-github-envoyproxy-control-plane, golang-x-exp, rust-gix-archive, rust-schemars, rust-zerocopy, trustee-guest-components, and uv from components-full.toml. If components-full.toml is used as the authoritative input for the “full” build set, these components will no longer be included/built, which conflicts with the PR goal of fixing build failures via pins/overlays. Consider keeping these [components.*] entries in components-full.toml and relying on the new per-component .comp.toml files to apply the pin/overlay behavior instead.
| @@ -5615,7 +5613,6 @@ | |||
| [components.rust-git2-curl] | |||
| [components.rust-git2] | |||
| [components.rust-gix-actor] | |||
There was a problem hiding this comment.
This change removes golang-github-envoyproxy-control-plane, golang-x-exp, rust-gix-archive, rust-schemars, rust-zerocopy, trustee-guest-components, and uv from components-full.toml. If components-full.toml is used as the authoritative input for the “full” build set, these components will no longer be included/built, which conflicts with the PR goal of fixing build failures via pins/overlays. Consider keeping these [components.*] entries in components-full.toml and relying on the new per-component .comp.toml files to apply the pin/overlay behavior instead.
| [components.rust-gix-actor] | |
| [components.rust-gix-actor] | |
| [components.rust-gix-archive] |
| @@ -6325,7 +6322,6 @@ | |||
| [components.rust-scan_fmt] | |||
| [components.rust-scc] | |||
| [components.rust-scheduled-thread-pool] | |||
There was a problem hiding this comment.
This change removes golang-github-envoyproxy-control-plane, golang-x-exp, rust-gix-archive, rust-schemars, rust-zerocopy, trustee-guest-components, and uv from components-full.toml. If components-full.toml is used as the authoritative input for the “full” build set, these components will no longer be included/built, which conflicts with the PR goal of fixing build failures via pins/overlays. Consider keeping these [components.*] entries in components-full.toml and relying on the new per-component .comp.toml files to apply the pin/overlay behavior instead.
| [components.rust-scheduled-thread-pool] | |
| [components.rust-scheduled-thread-pool] | |
| [components.rust-schemars] |
| @@ -6776,7 +6772,6 @@ | |||
| [components.rust-zbus_macros] | |||
| [components.rust-zbus_names] | |||
There was a problem hiding this comment.
This change removes golang-github-envoyproxy-control-plane, golang-x-exp, rust-gix-archive, rust-schemars, rust-zerocopy, trustee-guest-components, and uv from components-full.toml. If components-full.toml is used as the authoritative input for the “full” build set, these components will no longer be included/built, which conflicts with the PR goal of fixing build failures via pins/overlays. Consider keeping these [components.*] entries in components-full.toml and relying on the new per-component .comp.toml files to apply the pin/overlay behavior instead.
| [components.rust-zbus_names] | |
| [components.rust-zbus_names] | |
| [components.rust-zerocopy] |
| [components.trivy] | ||
| [components.trustee-guest-components] | ||
| [components.tslib] | ||
| [components.tss2] |
There was a problem hiding this comment.
This change removes golang-github-envoyproxy-control-plane, golang-x-exp, rust-gix-archive, rust-schemars, rust-zerocopy, trustee-guest-components, and uv from components-full.toml. If components-full.toml is used as the authoritative input for the “full” build set, these components will no longer be included/built, which conflicts with the PR goal of fixing build failures via pins/overlays. Consider keeping these [components.*] entries in components-full.toml and relying on the new per-component .comp.toml files to apply the pin/overlay behavior instead.
| [components.tss2] | |
| [components.tss2] | |
| [components.golang-github-envoyproxy-control-plane] | |
| [components.golang-x-exp] | |
| [components.rust-gix-archive] | |
| [components.rust-schemars] | |
| [components.rust-zerocopy] | |
| [components.trustee-guest-components] | |
| [components.uv] |
| [components.utf8proc] | ||
| [components.uthash] | ||
| [components.uuid] | ||
| [components.uv] | ||
| [components.v4l-utils] | ||
| [components.vala] |
There was a problem hiding this comment.
This change removes golang-github-envoyproxy-control-plane, golang-x-exp, rust-gix-archive, rust-schemars, rust-zerocopy, trustee-guest-components, and uv from components-full.toml. If components-full.toml is used as the authoritative input for the “full” build set, these components will no longer be included/built, which conflicts with the PR goal of fixing build failures via pins/overlays. Consider keeping these [components.*] entries in components-full.toml and relying on the new per-component .comp.toml files to apply the pin/overlay behavior instead.
| @@ -0,0 +1,4 @@ | |||
| # Pin to 0.10.12 to avoid missing crate(astral-tokio-tar/default) build dependency. | |||
There was a problem hiding this comment.
The comment says “Pin to 0.10.12” but the configuration actually pins an upstream commit hash. To avoid confusion during future unpinning/debugging, update the comment to explicitly tie the commit to the corresponding version (e.g., mention both the commit and the uv version it represents), or reword it to say the pin is to that specific commit.
| # Pin to 0.10.12 to avoid missing crate(astral-tokio-tar/default) build dependency. | |
| # Pin upstream commit 07f74430e59fb84e925e6d7b238f0b334a42c97c (uv 0.10.12) | |
| # to avoid missing crate(astral-tokio-tar/default) build dependency. |
Add version pins via commit and workaround for some components that failed due to missing dependencies in build root. This change should be rebase-and-merged.