feat(rust-ctutils): add rust-ctutils component - #18472
feat(rust-ctutils): add rust-ctutils component#18472Autumn Nash (WithEnoughCoffee) wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Pull request overview
Adds the pinned Fedora 43 rust-ctutils component required by the RustCrypto dependency chain.
Changes:
- Adds component configuration with
%checkdisabled pending proptest 1.11. - Adds lock and rendered RPM packaging files for version 0.4.2.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
base/comps/rust-ctutils/rust-ctutils.comp.toml |
Defines the pinned component and build configuration. |
locks/rust-ctutils.lock |
Locks upstream resolution and inputs. |
specs/r/rust-ctutils/rust-ctutils.spec |
Provides the rendered RPM specification. |
specs/r/rust-ctutils/rust-ctutils.azl.macros |
Disables %check in the rendered build. |
specs/r/rust-ctutils/sources |
Records the crate source checksum. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
2d0b3de to
e70984d
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 5 changed files in this pull request and generated no new comments.
Suppressed comments (1)
base/comps/rust-ctutils/rust-ctutils.comp.toml:17
- Disabling the bcond only through
withoutomits the required structured%checkjustification, so check-disablement tooling cannot audit this temporary exception. Keep the bcond override because it prevents%cargo_generate_buildrequiresfrom resolving the unavailable proptest dependency, but also record the skip and re-enable condition throughbuild.check.
without = ["check"]
|
/azp run |
|
Azure Pipelines: 2 pipeline(s) were filtered out due to trigger conditions. |
Split out of #18405 so it can be built and tagged in koji first -- rust-ctutils has a real BuildRequires on rust-cmov, which koji's scratch-build gate can't resolve against an untagged sibling package in the same PR. Needed transitively via rust-digest's new 'mac' feature for rust-hmac 0.13.0. %check disabled pending the proptest bump landing in #18405.
e70984d to
52caa09
Compare
|
/azp run |
|
Azure Pipelines: 2 pipeline(s) were filtered out due to trigger conditions. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 5 changed files in this pull request and generated no new comments.
Suppressed comments (2)
base/comps/rust-ctutils/rust-ctutils.comp.toml:15
- New-component test disablements must be recorded through
build.check.skipwith a concreteskip_reason; the prose comment and generic bcond override are not captured by azldev's check-disablement policy. Keepwithout = ["check"]here because it prevents%cargo_generate_buildrequiresfrom resolving the unavailable proptest dependency, but also add the structured check skip/reason, then refresh the lock and rendered spec.
without = ["check"]
base/comps/rust-ctutils/rust-ctutils.comp.toml:13
- This points readers to
planning/uv/uv-investigation.md, but that path does not exist in the repository. Remove the dead reference or replace it with a checked-in tracking document or issue so the rationale remains actionable.
# #18405 merges/tags -- see planning/uv/uv-investigation.md for why this
# matters (untested cmov-CVE-class regressions in the meantime).
| @@ -0,0 +1,15 @@ | |||
| [components.rust-ctutils] | |||
| # New component: rust-ctutils does not exist in AZL. It was first packaged in | |||
There was a problem hiding this comment.
issue(blocking): Could you please remove point-in-time details from the comments that won't be relevant after merging? For example, once this is merged, this won't be a new component. Also, the context of which packages depend on it need not be included. Any justification for the explicit pin is fine.
Summary
New leaf Rust crate component,
rust-ctutils, split out of #18405 (zip-prereqs) specifically so it can be built and tagged into the koji build repo before that PR, following the same pattern asrust-cpubits(#18446) andrust-cmov(#18445).Why this needs to be its own PR
Koji scratch builds only resolve dynamic BuildRequires (
%cargo_generate_buildrequires) against already-tagged packages in the target repo.rust-ctutilsis "Built on thecmovcrate" — a real, dynamically-resolved BuildRequires — so it cannot build in the same PR as an untaggedrust-cmov. This is identical to whyrust-cpubitswas split out forrust-aes0.9.1'scrate(cpubits/default)requirement.rust-ctutils0.4.2 is a brand-new package (not previously in AZL), needed transitively viarust-digest's new "mac" feature subpackage (crate(ctutils/default) >= 0.4.0, < 0.5.0), whichrust-hmac0.13.0 requires as part of #18405's uv crate-alignment cascade.%checkdisabledrust-ctutils's test suite requirescrate(proptest/default) >= 1.11.0, which is itself being bumped in #18405 in the same wave — a same-PR interdependent new-package BuildRequires that koji's scratch-build gate can never resolve.%checkis disabled for now; revisit once the proptest bump has merged/tagged.Verification
azldev comp build --local-repo-with-publish -p rust-cmov -p rust-ctutils) usingrust-cmovfrom feat(rust-cmov): add rust-cmov component #18445's branch — succeeded, confirming the real dependency resolves oncecmovis tagged.cmov→cpubits→ctutils→ all 18 zip-prereqs components) verified together end-to-end — all succeed,%checkpassing where enabled.rpm -qlpinspection: source-registry files only (/usr/share/cargo/registry/ctutils-0.4.2/...), no binaries — this is a cargo "source crate" style devel package, so no smoke-test beyond content inspection applies (consistent with therust-cpubitsprecedent).azldev comp render -p rust-ctutilsis idempotent (changed=false).azldev comp update -p rust-ctutilsclean, no lock drift.Sequencing
rust-cmov(#18445) has merged into4.0, socrate(cmov/default)is satisfiable once it's tagged in koji.#18405(zip-prereqs) can resolvecrate(ctutils/default)dynamically once this PR merges/tags too.