Spec URL: https://download.copr.fedorainfracloud.org/results/samcday/phrog-nightly/fedora-rawhide-x86_64/08622073-rust-wayland-protocols-misc/rust-wayland-protocols-misc.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/samcday/phrog-nightly/fedora-rawhide-x86_64/08622073-rust-wayland-protocols-misc/rust-wayland-protocols-misc-0.3.5-1.fc43.src.rpm Description: Generated API for misc and deprecated wayland protocol extensions Fedora Account System Username: samcday Scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=128918273
Copr build: https://copr.fedorainfracloud.org/coprs/build/8622089 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2344240-rust-wayland-protocols-misc/fedora-rawhide-x86_64/08622089-rust-wayland-protocols-misc/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.
Unmutilated spec URL: https://pagure.io/samcday/rust-wayland-protocols-misc/raw/main/f/rust-wayland-protocols-misc.spec
Spec URL: https://download.copr.fedorainfracloud.org/results/samcday/phrog-nightly/fedora-rawhide-x86_64/08622073-rust-wayland-protocols-misc/rust-wayland-protocols-misc.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/samcday/phrog-nightly/fedora-rawhide-x86_64/08622073-rust-wayland-protocols-misc/rust-wayland-protocols-misc-0.3.5-1.fc43.src.rpm (re-posted the links so the tooling picks those, because the last one is expired)
It looks like the file /protocols/server-decoration.xml is covered by an "LGPL-2.1-or-later" license (according to the copyright metadata), but the license text for that license is not included in the crate, nor is it reflected in the crate metadata. I don't know how copyrightable wayland protocol definitions like that are, but this would be good to have cleared up upstream and / or with Red Hat Legal.
Ah, yes I see. I've followed up with upstream: https://github.com/Smithay/wayland-rs/issues/796 It will be interesting to see what they think about this. The protocol in question is [KDE server decoration](https://wayland.app/protocols/kde-server-decoration). Since this protocol is deprecated and replaced by `zxdg_decoration_manager_v1`, perhaps a reasonable workaround would be to patch this protocol out of the crate we publish to Fedora - WDYT?
I think that would be an acceptable workaround, yes, though I'm not sure how much work that would be.
Spec URL: https://raw.githubusercontent.com/samcday/fedora-msm8916/refs/heads/main/specs/rust-wayland-protocols-misc/rust-wayland-protocols-misc.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/samcday/msm8916/fedora-rawhide-aarch64/08771575-rust-wayland-protocols-misc/rust-wayland-protocols-misc-0.3.5-1.fc43.src.rpm Fabio: I've updated the License field to `LGPL-2.1-or-later AND MIT`. I assume this is what you were hinting at in your [comment on the upstream issue](https://github.com/Smithay/wayland-rs/issues/796#issuecomment-2726978392)? If not LMK and I'll spend some time looking at carving out that protocol as previously discussed.
Created attachment 2080394 [details] The .spec file difference from Copr build 8622089 to 8771577
Copr build: https://copr.fedorainfracloud.org/coprs/build/8771577 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2344240-rust-wayland-protocols-misc/fedora-rawhide-x86_64/08771577-rust-wayland-protocols-misc/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.
> Fabio: I've updated the License field to `LGPL-2.1-or-later AND MIT`. I assume this is what you were hinting at in your comment on the upstream issue. Yes, that's exactly what I meant, thanks! I'm not sure if it's sufficient to have the updated License tag though, or if the package would also need to include the LGPL-2.1-or-later license text. I don't deal with GPL-ish licenses often enough to know whether that's a hard requirement here or not - I'll ask for a second opinion.
I had thought I remembered that the GPL family did not explicitly require distributing the license text, but it looks like this memory was wrong, and the license text seems to be pretty clearly required after all. From section 1 of the LGPLv2.1, > You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. That would seem to cover both the source RPM and (since Rust libraries are source-only) the binary RPMs. For compiled code, section 2 says, > You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: […] so the license text would be required for binaries as well. ---- The relevant section in the guidelines is https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text, but it does not attempt to list license that are known to require, or not to require, distributing the license text.
As discussed in the Fedora Rust Matrix channel, I'm going to just carry a patch to excise this deprecated protocol from the crate entirely. I'll update this review later today with that work.
Spec URL: https://raw.githubusercontent.com/samcday/fedora-msm8916/refs/heads/main/specs/rust-wayland-protocols-misc/rust-wayland-protocols-misc.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/samcday/msm8916/fedora-rawhide-aarch64/08802255-rust-wayland-protocols-misc/rust-wayland-protocols-misc-0.3.5-1.fc43.src.rpm I realized that removing the server-decorations usage with a downstream patch was problematic because the LGPL content was still in the .src.rpm. So instead this version bundles the LGPL license text from the canonical source on KDE Invent.
Created attachment 2081266 [details] The .spec file difference from Copr build 8771577 to 8802289
Copr build: https://copr.fedorainfracloud.org/coprs/build/8802289 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2344240-rust-wayland-protocols-misc/fedora-rawhide-x86_64/08802289-rust-wayland-protocols-misc/fedora-review/review.txt Found issues: - Check did not completechecksum differs and there are problems running diff. Please verify manually. Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/ 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.
Thanks for the update - there's a few minor issues left, but nothing major I can see. 1. There's a new version out (0.3.6), it would be great to get that in, but I'll leave it up to you whether you want to update before going through the review or afterwards. 2. It looks like the Source URL for the COPYING.LIB file can't be parsed by RPM (or by spectool) - the "?ref_type=heads" URL parameter seems to throw it off. You can verify that by putting the .spec file through "spectool --list-files" or "spectool --get-files". It downloads a file called "heads". I think just dropping the "?ref_type=heads" parameter from the URL should fix that. 3. The way you list the license texts under %files causes duplicates to be included: > %license LICENSE.txt LGPL-2.1 This causes both files to get copied to /usr/share/licenses/%{name}/ *and* to be included from ".". Using this instead causes only one copy to be included and to be marked as a %license file in RPM metadata: %license %{crate_instdir}/LICENSE.txt %license %{crate_instdir}/LGPL-2.1 Using a matching filename for the latter might be good to -- something like "LICENSE-LGPL-2.1.txt" maybe? Or just keep it as "COPYING.LIB"?
Spec URL: https://raw.githubusercontent.com/samcday/fedora-msm8916/refs/heads/main/specs/rust-wayland-protocols-misc/rust-wayland-protocols-misc.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/samcday/msm8916/fedora-rawhide-aarch64/08832070-rust-wayland-protocols-misc/rust-wayland-protocols-misc-0.3.6-1743238254.fc43.src.rpm (In reply to Fabio Valentini from comment #16) > 1. There's a new version out (0.3.6), Updated! > 2. It looks like the Source URL for the COPYING.LIB file can't be parsed by > RPM (or by spectool) Oops, I did notice that before and had already fixed it before even updating the review, but the srpm was slightly older and still had that :S Anyways, fixed now. > 3. The way you list the license texts under %files causes duplicates to be > included: Took me a while to wrap my brain around this but I properly understand now. I didn't realize that the licenses for rust-* packages are *not* supposed to go in `/usr/share/licenses` and instead `rpm -qL rust-foo` should point to `/usr/share/cargo/registry/foo/LICENSE`. > Using a matching filename for the latter might be good to -- something like > "LICENSE-LGPL-2.1.txt" maybe? Or just keep it as "COPYING.LIB"? I opted for "LICENSE-LGPL-2.1.txt"
Spec URL: https://raw.githubusercontent.com/samcday/fedora-msm8916/refs/heads/main/specs/rust-wayland-protocols-misc/rust-wayland-protocols-misc.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/samcday/msm8916/fedora-rawhide-aarch64/08832070-rust-wayland-protocols-misc/rust-wayland-protocols-misc-0.3.6-1743238254.fc43.src.rpm
f-r-s seems to be napping :\
(In reply to Sam Day from comment #19) > f-r-s seems to be napping :\ meh, that's fine. it's not a requirement, it's just a "helpful" service. :) I'll do another review round shortly ...
Looks good to me now. Don't forget to change "Release: 1743238254%{?dist}" back to "%autorelease" before importing the package. Hopefully the LGPL-licensed protocol can be dropped entirely in the future :( === 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 ✅ latest version of the crate is packaged ✅ license matches upstream specification and is acceptable for Fedora 🫤 license files is included with %license in %files (copy of LGPL-2.1 license manually included) ✅ 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-wayland-protocols-misc
Thanks for the review, Fabio!
FEDORA-2025-0b3144c1f8 (rust-wayland-protocols-misc-0.3.6-1.fc43) has been submitted as an update to Fedora 43. https://bodhi.fedoraproject.org/updates/FEDORA-2025-0b3144c1f8
FEDORA-2025-0b3144c1f8 (rust-wayland-protocols-misc-0.3.6-1.fc43) has been pushed to the Fedora 43 stable repository. If problem still persists, please make note of it in this bug report.