Spec URL: https://music.fedorapeople.org/rust-libcramjam.spec SRPM URL: https://music.fedorapeople.org/rust-libcramjam-0.1.5-1.fc40.src.rpm Description: Compression library combining a plethora of algorithms in a similar as possible API. Fedora Account System Username: music This requires rust-lz4 (new package, bug 2256960), rust-libdeflate-sys (unretirement, bug 2256974), and rust-libdeflater (unretirement, bug 2256975). A COPR build is available at: https://copr.fedorainfracloud.org/coprs/music/python-cramjam/packages/ This is a dependency for python-cramjam, which is needed for current releases of python-fastavro. It will be a neuro-sig package (in addition to a rust-sig one).
Copr build: https://copr.fedorainfracloud.org/coprs/build/6868476 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2257076-rust-libcramjam/fedora-rawhide-x86_64/06868476-rust-libcramjam/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
[fedora-review-service-build]
Copr build: https://copr.fedorainfracloud.org/coprs/build/6888594 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2257076-rust-libcramjam/fedora-rawhide-x86_64/06888594-rust-libcramjam/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
This needs --enablerepo=local until the freshly-unretired rust-libdeflater appears in a Rawhide compose.
The neuro-fedora tracker was in the "Depends on" field instead of the "Blocks" field, so this ticket did not show up as "reviewable".
Ok, first look at the package: 1. The LICENSE file is some weird JSON blob for, and it also doesn't match what's downloaded from the URL: Source checksums ---------------- https://github.com/milesgranger/cramjam/blob/8510678864af328a8b711f04ef2ddd8a4fa1d0cc/LICENSE : CHECKSUM(SHA256) this package : c382e6b2ecda2c387f070b758ebf97fd934310f1b3808e5aeb43c905779efdc4 CHECKSUM(SHA256) upstream package : a73b9239f0434299d723ac6454b3f66f9c4fb8c7889ee8309f98f7cd1131d4f4 https://crates.io/api/v1/crates/libcramjam/0.1.5/download#/libcramjam-0.1.5.crate : CHECKSUM(SHA256) this package : e1e4c9711efb07b28423df4f7e87235f2e5b927f379e515062f7f1b37ef55b12 CHECKSUM(SHA256) upstream package : e1e4c9711efb07b28423df4f7e87235f2e5b927f379e515062f7f1b37ef55b12 diff -r also reports differences Please fix - use the "raw" file link to get the actual file contents, not the "blob" link that gives you garbage: instead of https://github.com/milesgranger/cramjam/blob/8510678/LICENSE use https://github.com/milesgranger/cramjam/raw/8510678/LICENSE 2. It looks like the dependencies on zstd / zstd-safe are actually mismatched in upstream. They should be zstd v0.13 to match with zstd-safe v7, *or* zstd v0.12 to match with zstd-safe v6 - but not a weird mix older / newer versions of these two crates. 3. If you build the C library, you will get better generated spec file from rust2rpm if the crate actually *defines* a cdylib target. Not sure why upstream doesn't do this. Using "rust2rpm -p" to add this table to Cargo.toml should give you a better template to start from: ``` [lib] crate-type = ["lib", "cdylib"] ```
(In reply to Fabio Valentini from comment #6) > Ok, first look at the package: > > 1. The LICENSE file is some weird JSON blob for, and it also doesn't match > what's downloaded from the URL: Oops! Yes, that’s definitely a URL typo. I’ll correct it. > 2. It looks like the dependencies on zstd / zstd-safe are actually > mismatched in upstream. > They should be zstd v0.13 to match with zstd-safe v7, *or* zstd v0.12 to > match with zstd-safe v6 - but not a weird mix older / newer versions of > these two crates. Thanks. I suggested this upstream, https://github.com/milesgranger/cramjam/pull/128. > 3. If you build the C library, you will get better generated spec file from > rust2rpm if the crate actually *defines* a cdylib target. Not sure why > upstream doesn't do this. > > Using "rust2rpm -p" to add this table to Cargo.toml should give you a better > template to start from: > > ``` > [lib] > crate-type = ["lib", "cdylib"] > ``` I tried that, and the template was indeed a *little* better – there was a %{crate} package for the C library – but I still had to add the cargo-c invocation, the %{crate}-devel package, and most of the other boilerplate. I could send a PR upstream, but I think I would need to be able to offer a better explanation of why they should care, i.e., how the change would do something useful in practice for them or their other users. It also occurred to me that none of the dependencies contribute to the binary RPM %{crate}-devel – nothing is bundled in the header file, the unversioned .so symlink, or the .pc file – so I don’t need to include the dependency licenses in the License field for that subpackage, only for %{crate}. I’ll change that as well. I’ll upload a new spec and SRPM after I double-check for major errors I might have made while changing things.
New Spec URL: https://music.fedorapeople.org/20240126/rust-libcramjam.spec New SRPM URL: https://music.fedorapeople.org/20240126/rust-libcramjam-0.1.5-1.fc40.src.rpm
Copr build: https://copr.fedorainfracloud.org/coprs/build/6964560 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2257076-rust-libcramjam/srpm-builds/06964560/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
New Spec URL: https://music.fedorapeople.org/20240126/rust-libcramjam.spec New SRPM URL: https://music.fedorapeople.org/20240126/rust-libcramjam-0.1.5-1.fc39.src.rpm
Copr build: https://copr.fedorainfracloud.org/coprs/build/6964563 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2257076-rust-libcramjam/fedora-rawhide-x86_64/06964563-rust-libcramjam/fedora-review/review.txt Found issues: - No gcc, gcc-c++ or clang found in BuildRequires Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/C_and_C++/ Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Thank you for the update! Looks good to me now. Having both "BuildRequires: cargo-c" and `echo 'cargo-c'` in %generate_buildrequires is redundant though. You can remove one of those :) === Package was generated with rust2rpm, simplifying the review. - package builds and installs without errors on rawhide - test suite is run and all unit tests pass - latest version of the crate is packaged - license matches upstream specification and is acceptable for Fedora - licenses of statically linked dependencies are correctly taken into account - license file is included with %license in %files (included manually from upstream, PR submitted) - package complies with Rust Packaging Guidelines Package APPROVED. === Recommended post-import rust-sig tasks: - set up package on release-monitoring.org: project: $crate homepage: https://crates.io/crates/$crate backend: crates.io version scheme: semantic version filter: alpha;beta;rc;pre distro: Fedora Package: rust-$crate - add @rust-sig with "commit" access as package co-maintainer (should happen automatically) - set bugzilla assignee overrides to @rust-sig (optional) - track package in koschei for all built branches (should happen automatically once rust-sig is co-maintainer)
Thank you for the review! I’ll follow the post-import tasks. Normally I would favor a straightforward BuildRequires over an echo in %generate_buildrequires, but I would prefer for the cargo-c part to look like rust-rav1e, so I will drop "BuildRequires: cargo-c", and keep `echo 'cargo-c'` in %generate_buildrequires.
https://release-monitoring.org/project/371209/
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-libcramjam
FEDORA-2024-c842415fd0 has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2024-c842415fd0
FEDORA-2024-c842415fd0 has been pushed to the Fedora 40 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2024-e7e6faead6 has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2024-e7e6faead6
FEDORA-2024-0dd07e330c has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2024-0dd07e330c
FEDORA-2024-0dd07e330c has been pushed to the Fedora 38 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-0dd07e330c \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-0dd07e330c See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2024-e7e6faead6 has been pushed to the Fedora 39 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-e7e6faead6 \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-e7e6faead6 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2024-a427c216cf has been pushed to the Fedora 39 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-a427c216cf \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-a427c216cf See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2024-99c1a94909 has been pushed to the Fedora 38 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-99c1a94909 \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-99c1a94909 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2024-99c1a94909 (rust-libcramjam-0.2.0-1.fc38) has been pushed to the Fedora 38 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2024-a427c216cf (rust-libcramjam-0.2.0-1.fc39) has been pushed to the Fedora 39 stable repository. If problem still persists, please make note of it in this bug report.