Bug 2064142

Summary: Review Request: rust-twox-hash - Rust implementation of the XXHash and XXH3 algorithms
Product: [Fedora] Fedora Reporter: Aleksei Bavshin <alebastr89>
Component: Package ReviewAssignee: Mads Kiilerich <mads>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: mads, package-review
Target Milestone: ---Flags: mads: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-05-07 04:17:45 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2063941    

Description Aleksei Bavshin 2022-03-15 07:14:16 UTC
Spec URL: https://alebastr.fedorapeople.org/review/mercurial-rs/rust-twox-hash.spec
SRPM URL: https://alebastr.fedorapeople.org/review/mercurial-rs/rust-twox-hash-1.6.2-1.fc35.src.rpm
Copr: https://copr.fedorainfracloud.org/coprs/alebastr/rhg/monitor/
Description:
Rust implementation of the XXHash and XXH3 algorithms.
Fedora Account System Username: alebastr

Changes from generated spec:
 - dropped feature `digest` - requires `digest` 0.8 (retired in rawhide)
 - added patches from two pending PRs to fix build failures on non-x86

Comment 1 Mads Kiilerich 2022-03-15 14:24:23 UTC
I verified that the spec and source is exactly as generated with "rust2rpm -as twox-hash", except

@@ -12,6 +12,9 @@
 License:        MIT
 URL:            https://crates.io/crates/twox-hash
 Source:         %{crates_source}
+# Address test failures on non-x86 platforms
+Patch0:         https://github.com/shepmaster/twox-hash/pull/86.patch#/twox-hash-1.6.2-Support-big-endian-platforms.patch
+Patch1:         https://github.com/shepmaster/twox-hash/pull/87.patch#/twox-hash-1.6.2-Fix-XXH3-generic-fallback.patch
 
 ExclusiveArch:  %{rust_arches}
 
@@ -58,18 +61,6 @@
 %files       -n %{name}+default-devel
 %ghost %{crate_instdir}/Cargo.toml
 
-%package     -n %{name}+digest-devel
-Summary:        %{summary}
-BuildArch:      noarch
-
-%description -n %{name}+digest-devel %{_description}
-
-This package contains library source intended for building other packages which
-use the "digest" feature of the "%{crate}" crate.
-
-%files       -n %{name}+digest-devel
-%ghost %{crate_instdir}/Cargo.toml
-
 %package     -n %{name}+digest_0_10-devel
 Summary:        %{summary}
 BuildArch:      noarch

*Why are the main digest packages dropped? I think it deserves a comment in the spec why the digests are dropped.*

The MIT license is OK.

The package builds locally on f35, installs, and works for enabling experimental build of Mercurial with Rust extensions.

rpmlint is clean, except "W: no-documentation".

Comment 2 Aleksei Bavshin 2022-03-15 16:23:52 UTC
(In reply to Mads Kiilerich from comment #1)
> *Why are the main digest packages dropped? I think it deserves a comment in
> the spec why the digests are dropped.*

The comment is in .rust2rpm.conf which would be imported along with the spec:
```
[fedora]
# The compat package for `digest` = 0.8 is not available in Fedora
unwanted-features =
    digest
```

Btw, it's not the main digest package. There are 3 features which provide support for different versions of the `digest` crate:
`digest` - 0.8
`digest_0_9 - 0.9
`digest_0_10` - 0.10

Comment 3 Mads Kiilerich 2022-03-16 07:58:53 UTC
Ok - I didn't look closely and thought the explicit version was for the old compat packages.

(But FWIW, .rust2rpm.conf seems a bit secret. It is not in -h and there is no man page - only mentioned on https://pagure.io/fedora-rust/rust2rpm . And I find no such file in https://copr-dist-git.fedorainfracloud.org/cgit/alebastr/rhg/rust-twox-hash.git/tree/ or elsewhere. And when the crate name is provided as rust2rpm argument, it seems odd to have feature tweaks for that crate in a hidden configuration file in the local directory - that seems like a confusing feature.)

Comment 4 Gwyn Ciesla 2022-04-04 21:24:19 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-twox-hash

Comment 5 Fedora Update System 2022-04-05 17:28:08 UTC
FEDORA-2022-c7ededf903 has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-c7ededf903

Comment 6 Fedora Update System 2022-04-06 17:55:02 UTC
FEDORA-2022-c7ededf903 has been pushed to the Fedora 36 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --advisory=FEDORA-2022-c7ededf903 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-c7ededf903

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2022-05-07 04:17:45 UTC
FEDORA-2022-c7ededf903 has been pushed to the Fedora 36 stable repository.
If problem still persists, please make note of it in this bug report.