Fedora Account System
Red Hat Associate
Red Hat Customer
Spec URL: https://www.flyn.org/SRPMS/rust-goblint.spec SRPM URL: https://www.flyn.org/SRPMS/rust-goblint-0-1.20260427git4bde7b0.fc44.src.rpm Description: A tree-sitter-based linter for GObject/C applications Fedora Account System Username: mikep
Taking this review. Initial comments: 1. This isn't following the Naming guidelines for Rust packages. It's not a Rust crate packaged from crates.io, so it MUST NOT use the "rust-" name prefix. In general, I would recommend that you just follow the template documented here: https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_non_crate_rust_project It should also make some other things easier (i.e. no defining "cargo_install_lib 0" necessary). 2. The package isn't following the guidelines for snapshot based versions. The snapshot information should now be in Version, not in Release. Use something like "Version: 0~%{commitdate}.git%{shortcommit}" instead. 3. The package uses %autochangelog but not %autorelease. This is often broken. Either use both or neither, and you SHOULD use both. 4. The "License" tag is incomplete. Even without having built the package, I am 100% certain that the output of "%cargo_license_summary" during the build will not just be one line containing "MIT". The License tag needs to reflect *all* dependencies that get statically linked into the final executable. You also generate the LICENSE.dependencies file, but then don't use it. It needs to be listed as "%license LICENSE.dependencies" in the %files list. 5. The fact that the project currently builds successfully seems to be a lucky accident. The project contains a sub-crate at "gobject-ast" that is referenced as a path-based dependency, but it's not set up as a "workspace" member. This only works by accident right now, and is probably not intentional in the upstream project. It might be good to fix this.
Spec URL: https://www.flyn.org/SRPMS/goblint.spec SRPM URL: https://www.flyn.org/SRPMS/goblint-0~20260427.git4bde7b0-1.fc44.src.rpm Description: A tree-sitter-based linter for GObject/C applications Fedora Account System Username: mikep (1) Drop "rust-" prefix from package name. (2) Move snapshot information to version rather than release. (3) Use %autorelease. (4) Update License tag. I am not sure how to normalize the license terms, so this might require more work. (5) Please see https://github.com/bilelmoussaoui/goblint/issues/77.
Spec URL: https://www.flyn.org/SRPMS/goblint.spec SRPM URL: https://www.flyn.org/SRPMS/goblint-0~20260504.gitf58e4d8-1.fc44.src.rpm Description: A tree-sitter-based linter for GObject/C applications Fedora Account System Username: mikep (5) I notified upstream about the sub-crate issue (https://github.com/bilelmoussaoui/goblint/issues/77), and Bilal Elmoussaoui closed the issue as fixed after making a change today. I updated the package to use this most recent commit.
Spec URL: https://www.flyn.org/SRPMS/gobject-linter.spec SRPM URL: https://www.flyn.org/SRPMS/gobject-linter-0~20260505.git0a8b69c-1.fc44.src.rpm Description: A tree-sitter-based linter for GObject/C applications Fedora Account System Username: mikep - Changed name of package to reflect upstream rename that happened today (https://github.com/bilelmoussaoui/gobject-linter/issues/74). Unfortunately, this new version requires crate(unidiff/default) >= 0.4.0 and < 0.5.0~, which does not yet appear in Fedora Rawhide.
Copr build: https://copr.fedorainfracloud.org/coprs/build/10427244 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2463266-gobject-linter/fedora-rawhide-x86_64/10427244-gobject-linter/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.
Thanks for the update - I'll take a look.
[fedora-review-service-build]
Copr build: https://copr.fedorainfracloud.org/coprs/build/10452586 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2463266-gobject-linter/fedora-rawhide-x86_64/10452586-gobject-linter/fedora-review/review.txt Found issues: - No gcc, gcc-c++ or clang found in BuildRequires Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/C_and_C++/ 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.
Sorry for the delay. I reviewed unidiff and wanted to wait with this one until it was available in the rawhide repos, and then took a few days off work and forgot. The package looks pretty good now, just a few minor comments: 1. I would recommend to copy the contents between "### BEGIN LICENSE SUMMARY ###" and "### END LICENSE SUMMARY ###" into the spec file above the License tag. It helps keeping track and with seeing an obvious diff when updating the License tag on package update. Something like this: ```SourceLicense: MIT # (Apache-2.0 OR MIT) AND BSD-3-Clause # (MIT OR Apache-2.0) AND Unicode-DFS-2016 # Apache-2.0 OR MIT # MIT # MIT AND Unicode-DFS-2016 AND BSD-2-Clause AND BSD-3-Clause AND LicenseRef-Fedora-Public-Domain # MIT OR Apache-2.0 # MPL-2.0 # Unlicense OR MIT License: %{shrink: (MIT OR Apache-2.0) AND Unicode-DFS-2016 AND (Apache-2.0 OR MIT) AND (MIT AND Unicode-DFS-2016 AND BSD-2-Clause AND BSD-3-Clause AND LicenseRef-Fedora-Public-Domain) AND (MIT OR Apache-2.0) AND MIT AND MPL-2.0 AND (Unlicense OR MIT) } # LICENSE.dependencies contains a full license breakdown ``` On the topic of License tag, it looks OK but it also contains duplicates and could be slightly simplified (like dropping duplicate "AND" clauses: ``` License: %{shrink: MIT AND BSD-2-Clause AND BSD-3-Clause AND MPL-2.0 AND Unicode-DFS-2016 AND LicenseRef-Fedora-Public-Domain AND (Apache-2.0 OR MIT) AND (Unlicense OR MIT) } ``` This applies (almost) all simplifications that are documented to be valid: 1. flatten nested AND clauses (associativity) 2. drop duplicates when both "A OR B" and "B OR A" are present since they're considered equivalent (commutativity) 2. The "tree-sitter" crate was now updated to version 0.26 in Fedora 44+, you *could* drop the downstream patch that downgrades the dependency. But you can also keep it for now, that would make the package also compatible with Fedora 43 if that's what you want to do.
Spec URL: https://www.flyn.org/SRPMS/gobject-linter.spec SRPM URL: https://www.flyn.org/SRPMS/gobject-linter-0~20260505.git0a8b69c-1.fc44.src.rpm Description: A tree-sitter-based linter for GObject/C applications Fedora Account System Username: mikep - Adjusted license information according to comment #9. - I decided to stick with the tree-sitter patch. I will adjust once the packages are fully published. Thank you, Fabio.
Copr build: https://copr.fedorainfracloud.org/coprs/build/10569905 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2463266-gobject-linter/fedora-rawhide-x86_64/10569905-gobject-linter/fedora-review/review.txt Found issues: - No gcc, gcc-c++ or clang found in BuildRequires Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/C_and_C++/ 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.
Thank you for the update, and sorry for the delay to get back to this. The package now looks good to me. === Package is based on the "non-crate Rust project" template from the Rust Packaging Guidelines, 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 is packaged: There are now tagged releases. Please update to v0.1.2 when / if possible, but this can happen after import. ✅ license matches upstream specification and is acceptable for Fedora ✅ licenses of statically linked dependencies are correctly taken into account ✅ license file is included with %license in %files ✅ package complies with Rust Packaging Guidelines Package APPROVED.
The Pagure repository was created at https://src.fedoraproject.org/rpms/gobject-linter Monitoring: Anitya project is accessible by this link `https://release-monitoring.org/project/390779` you can modify it manually. Package wasn't created in Anitya, reason: `Bad Request, some necessary arguments were not provided.`.
Thank you, Fabio!
FEDORA-2026-dd33abcc15 (gobject-linter-0~20260505.git0a8b69c-1.fc45) has been submitted as an update to Fedora 45. https://bodhi.fedoraproject.org/updates/FEDORA-2026-dd33abcc15
FEDORA-2026-dd33abcc15 (gobject-linter-0~20260505.git0a8b69c-1.fc45) has been pushed to the Fedora 45 stable repository. If problem still persists, please make note of it in this bug report.