Skip to content

feat: add rust-md5 component (required for clamav 1.5.2 upgrade)#17851

Draft
binujp wants to merge 1 commit into
4.0from
bphilip/add-rust-md5
Draft

feat: add rust-md5 component (required for clamav 1.5.2 upgrade)#17851
binujp wants to merge 1 commit into
4.0from
bphilip/add-rust-md5

Conversation

@binujp

@binujp binujp commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Add the rust-md5 crate (version 0.7.0) from Fedora. This is a direct dependency of ClamAV 1.5.2's libclamav_rust for computing MD5 hashes of CVD signature database files.

Note on rust-md5 vs rust-md-5

  • rust-md5 (crate: md5, v0.7.0) — from github.com/stainless-steel/md5. Simple, standalone MD5 implementation with its own API (md5::compute(), returns md5::Digest). Used by ClamAV.

  • rust-md-5 (crate: md-5, v0.10.6, already in AZL4) — from the RustCrypto project. Implements the RustCrypto Digest trait interface (md5::Md5::new(), update(), finalize()). Part of the broader RustCrypto hash family.

They are different crates with incompatible APIs; one cannot substitute for the other.

Testing

  • azldev comp build -p rust-md5 — builds successfully, produces rust-md5-devel, rust-md5+default-devel, rust-md5+std-devel subpackages.

Copilot AI review requested due to automatic review settings June 29, 2026 20:39

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds the rust-md5 component, packaging the Fedora md5 crate (v0.7.0) into Azure Linux. It is an unmodified upstream import intended as a prerequisite dependency for a future ClamAV 1.5.2 upgrade, whose libclamav_rust uses this crate (distinct from the already-present rust-md-5/md-5 RustCrypto crate). The change is purely additive and self-contained, following the standard Rust crate import workflow.

Changes:

  • Registers rust-md5 as an inline, unmodified Fedora import in base/comps/components.toml, correctly sorted between rust-md-5_0.9 and rust-md5-asm.
  • Adds the rendered spec, source checksum, and lock file for crate md5 0.7.0 (producing rust-md5-devel, rust-md5+default-devel, rust-md5+std-devel).

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated no comments.

File Description
base/comps/components.toml Adds the [components.rust-md5] registry entry, alphabetically placed.
specs/r/rust-md5/rust-md5.spec Standard rust2rpm rendered spec for crate md5 0.7.0 with the three devel subpackages.
specs/r/rust-md5/sources SHA512 checksum for md5-0.7.0.crate.
locks/rust-md5.lock azldev-managed lock pinning the upstream/import commit and input fingerprints.

@binujp binujp force-pushed the bphilip/add-rust-md5 branch from f4cd029 to 9e3aa95 Compare June 29, 2026 22:05
Copilot AI review requested due to automatic review settings June 29, 2026 22:34
Copilot stopped reviewing on behalf of binujp due to an error June 29, 2026 22:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

Add the rust-md5 crate (version 0.7.0) from Fedora. This crate is a
direct dependency of ClamAV 1.5.2's libclamav_rust for computing MD5
hashes of CVD signature database files.

Note: rust-md5 is distinct from rust-md-5 (already in AZL4):

- rust-md5 (crate: md5, v0.7.0) — from github.com/stainless-steel/md5.
  Simple, standalone MD5 implementation with its own API
  (md5::compute(), returns md5::Digest). Used by ClamAV.

- rust-md-5 (crate: md-5, v0.10.6) — from the RustCrypto project.
  Implements the RustCrypto Digest trait interface (md5::Md5::new(),
  update(), finalize()). Part of the broader RustCrypto hash family.

They are different crates with incompatible APIs; one cannot substitute
for the other.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@binujp binujp force-pushed the bphilip/add-rust-md5 branch from 43e2670 to f5e3030 Compare June 30, 2026 06:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants