feat(rust-cmov): add rust-cmov component - #18445
feat(rust-cmov): add rust-cmov component#18445Autumn Nash (WithEnoughCoffee) wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Pull request overview
Adds rust-cmov as a packaged dependency for the RustCrypto/uv dependency chain.
Changes:
- Pins and configures Fedora’s
rust-cmov0.5.4 package. - Disables
%checkpendingproptest1.11. - Adds lock data and rendered packaging files.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
base/comps/rust-cmov/rust-cmov.comp.toml |
Defines the component and build configuration. |
locks/rust-cmov.lock |
Pins the upstream commit and inputs. |
specs/r/rust-cmov/rust-cmov.spec |
Provides the rendered RPM specification. |
specs/r/rust-cmov/rust-cmov.azl.macros |
Disables package checks. |
specs/r/rust-cmov/sources |
Records the crate checksum. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…a2/streebog + compat packages, proptest Bumps shared Rust crypto crates as part of the uv crate-alignment cascade, adding version-pinned compat packages for old consumers. Also adds rust-ctutils (needed transitively via rust-digest's new "mac" feature -> rust-hmac 0.13.0). rust-ctutils disables %check (proptest >=1.11 is a %check-only dep not yet in production) and depends on rust-cmov, which is split into #18445 to land as a real tagged build first -- Koji scratch builds are never tagged, so same-PR sibling packages can't resolve against each other. Reverted the rust-proptest-macro/rust-convert_case bump: it was an optional fix for a theoretical future consumer, and convert_case is itself new/scratch-only, creating the same unresolvable chicken-and-egg dependency.
fd04606 to
b5b0526
Compare
|
/azp run |
|
Azure Pipelines: 2 pipeline(s) were filtered out due to trigger conditions. |
| @@ -0,0 +1,14 @@ | |||
| [components.rust-cmov] | |||
| # New component: rust-cmov does not exist in AZL. It provides | |||
There was a problem hiding this comment.
issue(blocking): Across this file, these comments capture some context that won't be relevant once the PR is merged. We try to avoid leaving them in the code base. I'd actually say that most of it is relevant for the PR description but very little needs to stay here.
The main details that seem relevant to persist include: justification for leaving %check disabled, any (brief) justification for why this specific dist-git commit was selected.
There was a problem hiding this comment.
Dropped the dependency-chain/cascade narrative; that context now lives in the PR description only.
| @@ -0,0 +1,14 @@ | |||
| [components.rust-cmov] | |||
There was a problem hiding this comment.
question(non-blocking): Did you go through the process to get this added to the koji allow-list? Holler offline if you need pointers on that process.
Adds rust-cmov, a new leaf crate not previously packaged in AZL. It provides architecture-specific constant-time predication intrinsics and is a hard (non-dev) BuildRequires of rust-ctutils (crate(cmov/default) >= 0.5.3, < 0.6.0), needed transitively by rust-digest's "mac" feature -> rust-hmac 0.13.0 as part of the uv crate-alignment cascade (#18405, zip transitive prereqs). Split out into its own PR, mirroring the rust-cpubits precedent: Koji scratch builds are never tagged/imported into the target repo, so rust-ctutils's scratch build can never resolve a same-PR sibling's scratch-built cmov output, regardless of build order or retries. This package must land as a real (non-scratch, tagged) build in azl4-build before rust-ctutils (and the rest of the #18405 dependency chain) can pass its scratch-build gate. %check is disabled: proptest is a %check-only (dev-)dependency (crate(proptest/default) >= 1.11.0, < 2.0.0), and production azl4-build only has proptest 1.9.0 today (the 1.11.0 bump lands separately in #18405). The library itself does not need proptest to build.
46c2296 to
757d01a
Compare
|
/azp run |
|
Azure Pipelines: 2 pipeline(s) were filtered out due to trigger conditions. |
Summary
Adds
rust-cmov, a new leaf crate not previously packaged in AZL. It providesarchitecture-specific constant-time predication intrinsics and is a hard
(non-dev) BuildRequires of
rust-ctutils(crate(cmov/default) >= 0.5.3, < 0.6.0),needed transitively by
rust-digest's "mac" feature ->rust-hmac0.13.0 aspart of the uv crate-alignment cascade in #18405 (zip transitive prereqs).
Why split this out
Koji scratch builds are never tagged/imported into the target repo's build
tag, so
rust-ctutils's scratch build can never resolve a same-PR sibling'sscratch-built
cmovoutput, regardless of build order or retries (samearchitectural issue previously solved for
rust-cpubitsahead ofrust-aes).This package needs to land as a real (non-scratch, tagged) build in
azl4-buildbeforerust-ctutils(and the rest of the #18405 dependencychain) can pass its scratch-build gate.
%checkis disabled for this package:proptestis a%check-only(dev-)dependency (
crate(proptest/default) >= 1.11.0, < 2.0.0), andproduction
azl4-buildonly hasproptest1.9.0 today (the 1.11.0 bumplands separately in #18405). The library itself does not need
proptesttobuild.
Testing
azldev component update -a --check-only -qpasses.azldev component render -p rust-cmovis clean/up to date.