Fedora Account System
Red Hat Associate
Red Hat Customer
Spec URL: https://jcline.fedorapeople.org/new-packages/rust-lapin.spec SRPM URL: https://jcline.fedorapeople.org/new-packages/rust-lapin-4.10.0-1.fc45.src.rpm Description: AMQP client library. Fedora Account System Username: jcline Depends on https://bugzilla.redhat.com/show_bug.cgi?id=2512062
A few comments: - Changing the "default" feature flags is considered a breaking change (compared to upstream / crates.io). I would usually recommend *not* to patch the "default" feature flags, and instead set feature flags for lapin in dependent packages accordingly. - There are a few other changes that aren't documented / explained (dropped features for "codegen", "codegen-internal", "native-tls", "rustls", "rustls--aws_lc_rs", "rustls--ring", "rustls-native-certs", "rustls-platform-verifier", "rustls-webpki-roots", "vendored-openssl"). All rustls-related features could stay enabled as far as I can tell (except rustls--aws_lc_rs), dropping "vendored-openssl" makes sense, but "codegen*" flags aren't obvious why they're dropped.
codegen is for if you want to regenerate the AMQP channel bindings at build time. I didn't look into the history but I assume this is for upstream developers. The file in question it will regenerate is https://github.com/amqp-rs/lapin/blob/main/src/generated/channel.rs from https://github.com/amqp-rs/lapin/blob/main/templates/channel.rs via the build.rs. If someone out there decides to ship an AMQP app that needs that, they are more than welcome to package the extra dependencies. native-tls is/was out-of-date and I don't use it. Should some other application come along and need it, we can turn it on, but I have no desire to chase that tangle, nor do I think it makes sense to add to it without good reason. If you really want, I'll go turn rustls back on everywhere, but there's at least one place in the stack where the default feature set includes aws_lc_rs so that would still be a breaking change, and it also pulls in a lot of missing dependencies that will be unused.
Alright. Usually we don't hide feature support that would have no missing dependencies, but there's no rule *against* it, either. I assume you plan to use rust2rpm.toml config file - please add the reasoning provided above to it as documentation for *why* you're doing this. Changing the default backend to OpenSSL is *OK* since ~technically~ it shouldn't change behaviour or affect the exposed feature set, so in this case patching the "default" feature flag is acceptable. Just beware that in *some* cases, openssl might behave differently than rustls, so if you see issues, they might be caused by that downstream patch. === 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: some tests are not run - this is OK since setting up an AMQP server in the test environment would be unreasonable effort. ✅ latest version of the crate is packaged ✅ license matches upstream specification and is acceptable for Fedora ✅ license file is 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 filter (*NOT* pre-release filter): alpha;beta;rc;pre distro: Fedora Package: rust-$crate - set bugzilla assignee overrides to @rust-sig (optional)
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-lapin Monitoring: Wasn't able to create project in Anitya. You can create it manually on: `https://release-monitoring.org`