Spec URL: https://kalev.fedorapeople.org/rust-yeslogic-fontconfig-sys.spec SRPM URL: https://kalev.fedorapeople.org/rust-yeslogic-fontconfig-sys-2.11.2-1.fc38.src.rpm Description: Raw bindings to Fontconfig without a vendored C library. Fedora Account System Username: kalev Koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=93951048 Note that there's a newer upstream version available, but I specifically packaged the older 2.11.2 for librsvg2 use as that's the version it requires. The newer version also adds a license file that we can package. I'll look into updating it once we get an initial librsvg2 build with non-bundled rust dependencies out.
Taking this review. Initial comments: 1. Remove the "without a vendored C library" part from Summary It's nonsense for Fedora packages, as we wouldn't use vendored C sources anyway. 2. If the upstream project has added a license with newer versions, include that file manually in the package for now (i.e. as %SOURCE1 and cp it into the build directory in %prep). 3. Missing Requires in the -devel subpackage: Requires: pkgconfig(fontconfig) Is missing from the -devel subpackage. If you don't add this, then the package might build fine, but using it in dependent packages will fail because BuildRequires are not transitive. Once the package is imported, you can use a rust2rpm.conf file with these contents to automate this: ``` [DEFAULT] buildrequires = pkgconfig(fontconfig) lib.requires = pkgconfig(fontconfig) ``` 4. The project's metadata claims it's MIT licensed, but headers in source code disagrees (MIT OR Apache-2.0). The metadata seems to be wrong, since the crate looks like a fork of an originally "MIT OR Apache-2.0" licensed Servo sub-project.
Thanks! I filed https://github.com/yeslogic/fontconfig-rs/issues/29 for the license issue.
OK, upstream reply in the ticket above was that they are going to use only the MIT license going forward and remove all the references to Apache-2.0, so we can use that for the Fedora package as well. I've fixed the other two packaging issues that you pointed out and left the licenses alone since we already listed MIT. Thanks for the rust2rpm.conf tip! As for your suggestion of including the license text manually I don't think it's appropriate to do since our guidelines are clear to only include it if it's included in the source package (it's not in the 2.11.2 crate) or manually include a copy when the license requires a copy of the full license text to be included (MIT does not require that). It's going to get fixed anyway as soon as we update to a newer version where the license text is included. * Tue Nov 15 2022 Kalev Lember <klember> 2.11.2-4 - Add runtime requires on fontconfig devel package (#2141070) * Tue Nov 15 2022 Kalev Lember <klember> 2.11.2-3 - Re-generate the spec file with rust2rpm 23 * Tue Nov 15 2022 Kalev Lember <klember> 2.11.2-2 - Shorten description and summary Spec URL: https://kalev.fedorapeople.org/rust-yeslogic-fontconfig-sys.spec SRPM URL: https://kalev.fedorapeople.org/rust-yeslogic-fontconfig-sys-2.11.2-4.fc38.src.rpm Koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=94222583
Thanks for confirming with upstream that the intended license is MIT. Though I'm still unsure whether just relicensing a forked project like that is actually sound ... At least in this case, the license is "compatible" in the sense that it only takes away the Apache-2.0 choice. > As for your suggestion of including the license text manually I don't think it's appropriate to do since our guidelines are clear to only include it if it's included in the source package (it's not in the 2.11.2 crate) or manually include a copy when the license requires a copy of the full license text to be included (MIT does not require that). It's going to get fixed anyway as soon as we update to a newer version where the license text is included. I'm very sure that you're misremembering things here. MIT is indeed one of the licenses where full license text in redistributed sources is required. Additionally, the Packaging Guidelines only forbid including license texts that are separate from *upstream*, but including the actual upstream license text is OK if it's not in the tarball but only in the git repo (as is the case here). But other than that, the package looks good to me. === 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 ! license file is included with %license in %files (will be fixed) - package complies with Rust Packaging Guidelines Package APPROVED. === Recommended post-import rust-sig tasks: - add @rust-sig with "commit" access as package co-maintainer - set bugzilla assignee overrides to @rust-sig (optional) - 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 - track package in koschei for all built branches
(fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-yeslogic-fontconfig-sys
(In reply to Fabio Valentini from comment #4) > I'm very sure that you're misremembering things here. MIT is indeed one of > the licenses where full license text in redistributed sources is required. > Additionally, the Packaging Guidelines only forbid including license texts > that are separate from *upstream*, but including the actual upstream license > text is OK if it's not in the tarball but only in the git repo (as is the > case here). Oh, right you are. I'll fix that and add the license file before importing the package. Thanks a lot (again!) for the review :)
Package imported and built. (I managed to lose my git history during the process but I think it doesn't really matter.)