Bug 2344240 - Review Request: rust-wayland-protocols-misc - Generated API for misc and deprecated wayland protocol extensions
Summary: Review Request: rust-wayland-protocols-misc - Generated API for misc and depr...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Fabio Valentini
QA Contact: Fedora Extras Quality Assurance
URL: https://crates.io/crates/wayland-prot...
Whiteboard:
Depends On:
Blocks: 2343832
TreeView+ depends on / blocked
 
Reported: 2025-02-06 18:01 UTC by Sam Day
Modified: 2025-03-31 18:09 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-03-31 18:09:55 UTC
Type: ---
Embargoed:
decathorpe: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 8622089 to 8771577 (1.07 KB, patch)
2025-03-16 11:12 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 8771577 to 8802289 (793 bytes, patch)
2025-03-21 16:56 UTC, Fedora Review Service
no flags Details | Diff

Comment 1 Fedora Review Service 2025-02-06 18:07:07 UTC
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.

Comment 4 Fabio Valentini 2025-03-15 14:39:47 UTC
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.

Comment 5 Sam Day 2025-03-15 15:12:13 UTC
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?

Comment 6 Fabio Valentini 2025-03-15 16:30:11 UTC
I think that would be an acceptable workaround, yes, though I'm not sure how much work that would be.

Comment 7 Sam Day 2025-03-16 11:01:12 UTC
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.

Comment 8 Fedora Review Service 2025-03-16 11:12:16 UTC
Created attachment 2080394 [details]
The .spec file difference from Copr build 8622089 to 8771577

Comment 9 Fedora Review Service 2025-03-16 11:12:18 UTC
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.

Comment 10 Fabio Valentini 2025-03-19 13:44:47 UTC
> 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.

Comment 11 Ben Beasley 2025-03-19 15:32:12 UTC
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.

Comment 12 Sam Day 2025-03-19 15:39:03 UTC
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.

Comment 13 Sam Day 2025-03-21 16:48:48 UTC
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.

Comment 14 Fedora Review Service 2025-03-21 16:56:49 UTC
Created attachment 2081266 [details]
The .spec file difference from Copr build 8771577 to 8802289

Comment 15 Fedora Review Service 2025-03-21 16:56:51 UTC
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.

Comment 16 Fabio Valentini 2025-03-28 20:37:01 UTC
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"?

Comment 17 Sam Day 2025-03-29 08:57:15 UTC
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"

Comment 19 Sam Day 2025-03-29 18:38:45 UTC
f-r-s seems to be napping :\

Comment 22 Fabio Valentini 2025-03-31 17:15:34 UTC
(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 ...

Comment 23 Fabio Valentini 2025-03-31 17:40:31 UTC
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)

Comment 24 Fedora Admin user for bugzilla script actions 2025-03-31 17:53:26 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-wayland-protocols-misc

Comment 25 Sam Day 2025-03-31 17:58:22 UTC
Thanks for the review, Fabio!

Comment 26 Fedora Update System 2025-03-31 18:06:02 UTC
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

Comment 27 Fedora Update System 2025-03-31 18:09:55 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.