Spec URL: https://music.fedorapeople.org/rust-blosc2-rs.spec SRPM URL: https://music.fedorapeople.org/rust-blosc2-rs-0.3.0-1.fc40.src.rpm Description: Bindings to C Blosc2. Fedora Account System Username: music
Created attachment 2047284 [details] Configuration file for rust2rpm
Copr build: https://copr.fedorainfracloud.org/coprs/build/8028549 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2312901-rust-blosc2-rs/fedora-rawhide-x86_64/08028549-rust-blosc2-rs/fedora-review/review.txt Please take a look if any issues were found. --- 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.
Updated to the latest upstream release, which exposes some C blosc2 CMake configuration options as features. I’ve hidden those that are disabled in the system blosc2 (so allowing other packages to depend on the corresponding features would be somewhere between confusing and wrong). New Spec URL: https://music.fedorapeople.org/20240918/rust-blosc2-rs.spec New SRPM URL: https://music.fedorapeople.org/20240918/rust-blosc2-rs-0.3.1-1.fc40.src.rpm
Created attachment 2047403 [details] Updated configuration for rust2rpm
Created attachment 2047405 [details] The .spec file difference from Copr build 8028549 to 8031348
Copr build: https://copr.fedorainfracloud.org/coprs/build/8031348 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2312901-rust-blosc2-rs/fedora-rawhide-x86_64/08031348-rust-blosc2-rs/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.
The automated build failed because https://src.fedoraproject.org/rpms/rust-blosc2-sys/pull-request/3 is not yet in a Rawhide compose. Until then, this can be reviewed with fedora-review -b 2312901 --mock-options=--enablerepo=local.
[fedora-review-service-build]
Copr build: https://copr.fedorainfracloud.org/coprs/build/8091951 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2312901-rust-blosc2-rs/fedora-rawhide-x86_64/08091951-rust-blosc2-rs/fedora-review/review.txt Please take a look if any issues were found. --- 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.
The `data` folder can be removed, couldn't it? The Copying file indicates it is for benchmarks, and it would be nice to not have to update the license metadata because of those files. Other than that, probably `environment.yml` can also be excluded from installation. I guess you've already discussed with Fabio about the crate version decoupling for this?
Thanks for looking at this! (In reply to Cristian Le from comment #10) > The `data` folder can be removed, couldn't it? The Copying file indicates it > is for benchmarks, and it would be nice to not have to update the license > metadata because of those files. Ugh, I’m not sure how I missed that. The benchmark data are dubiously licensed even for the source RPMs. I sent a PR upstream to python-cramjam for this, https://github.com/milesgranger/cramjam/issues/178. I’ll need to do something similar here, and (until it’s merged and released), package from a “filtered” version of the crate archive to avoid including the dubious files in source RPMs. > Other than that, probably `environment.yml` > can also be excluded from installation. Sure, it’s a tiny file that’s doing no harm, but it’s indeed unnecessary. I would be inclined not to bother patching downstream for it, but it’s worth excluding it in the PR I send upstream for the benchmark data. > I guess you've already discussed > with Fabio about the crate version decoupling for this? I assume you are talking about this? # * Do not test that the blosc2-sys bidings were generated against the exact # version of c-blosc2 that upstream expects; we always use the system blosc2, # whatever that may be. %cargo_test -- -- --exact --skip tests::test_get_version_string I think it did come up explicitly in this case, but in general, loosening bounds on library versions in -sys crates is really our only option. If we are going to build against system libraries, we can’t be pinning them to an exact patch-release. If we really needed an exact patch-release, that would be adequate justification for bundling. In almost all cases these strict dependencies are a matter of the crate authors focusing primarily on static linking with bundled libraries and expecting to control their dependency versions. If an update is ABI-compatible for C programs, it’s very unlikely that it would break a -sys crate. This is even more true in cases like this where I will maintain the -sys crate but not the system library, so an exact-version pin could be broken by a compatible update at any time. Still, I think expecting an exact library version is generally too brittle even when both packages share maintainers.
(In reply to Ben Beasley from comment #11) > > I guess you've already discussed > > with Fabio about the crate version decoupling for this? > > I assume you are talking about this? > > # * Do not test that the blosc2-sys bidings were generated against the > exact > # version of c-blosc2 that upstream expects; we always use the system > blosc2, > # whatever that may be. > %cargo_test -- -- --exact --skip tests::test_get_version_string I'm actually referring to the difference between `0.3.0+2.15.1` on the crate (and maybe in the dependents?) and `0.3.0` in the rpm. I don't know how rust dependency checker is handling that.
(In reply to Cristian Le from comment #12) > I'm actually referring to the difference between `0.3.0+2.15.1` on the crate > (and maybe in the dependents?) and `0.3.0` in the rpm. I don't know how rust > dependency checker is handling that. The metadata version field is automatically stripped by the Rust/cargo packaging scripts, both in the RPM package version and in generated RPM dependencies. This is why we have rust-blosc2-sys-0.3.1-1.fc42 instead of rust-blosc2-sys-0.3.1+X.Y.Z-1.fc42, and why that package satisfies the dependency from this crate. Fabio could surely explain if you have more detailed questions about where and how that happens, but it’s automatic and expected, and I’m not doing anything special to make it happen.
PR for excluding data, etc: https://github.com/milesgranger/blosc2-rs/pull/31 New Spec URL: https://music.fedorapeople.org/20241103/rust-blosc2-rs.spec New SRPM URL: https://music.fedorapeople.org/20241103/rust-blosc2-rs-0.3.1-1.fc40.src.rpm Scratch build in Rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=124309725
Created attachment 2050234 [details] Updated configuration for rust2rpm After generating the spec file with this rust2rpm.toml, we must change the Source line to: Source: %{crate}-%{upstream_version}-clean.crate to use the “filtered” crate source, and we must remove: %license %{crate_instdir}/data/COPYING since the spec file was generated from the “unfiltered” crate.
Created attachment 2050235 [details] The .spec file difference from Copr build 8091951 to 8105760
Copr build: https://copr.fedorainfracloud.org/coprs/build/8105760 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2312901-rust-blosc2-rs/fedora-rawhide-x86_64/08105760-rust-blosc2-rs/fedora-review/review.txt Please take a look if any issues were found. --- 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.
LGTM. PR for cleaning the crate is already merged, but probably will take some time for it to land. (using Fabio's review template) === Package was generated with rust2rpm, simplifying the review. ✅❌❓🫤 ✅ package contains only permissible content ✅ package builds and installs without errors on rawhide ✅ test suite is run and all unit tests pass (except for known s390x failures that are being tracked) ✅ latest version of the crate is packaged ✅ license matches upstream specification and is acceptable for Fedora ✅ license files are included with %license in %files ✅ 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 (*NOT* pre-release) 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 (and for doing it thoroughly enough to catch the test data issues)! https://release-monitoring.org/project/374763/ I’ll take a look at your pending reviews and see if I can get a few of them done.
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-blosc2-rs
FEDORA-2024-72a7d856fb (rust-blosc2-rs-0.3.1-1.fc42) has been submitted as an update to Fedora 42. https://bodhi.fedoraproject.org/updates/FEDORA-2024-72a7d856fb
FEDORA-2024-72a7d856fb (rust-blosc2-rs-0.3.1-1.fc42) has been pushed to the Fedora 42 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2024-008effb705 (rust-blosc2-rs-0.3.1-1.fc41) has been submitted as an update to Fedora 41. https://bodhi.fedoraproject.org/updates/FEDORA-2024-008effb705
FEDORA-2024-008effb705 has been pushed to the Fedora 41 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-008effb705 \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-008effb705 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2024-008effb705 (rust-blosc2-rs-0.3.1-1.fc41) has been pushed to the Fedora 41 stable repository. If problem still persists, please make note of it in this bug report.