https://bugzilla.redhat.com/show_bug.cgi?id=2417002
Sergio Correia <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags|fedora-review? |fedora-review+ --- Comment #6 from Sergio Correia <[email protected]> --- Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated Issues: ======= - Harmless: Package contains duplicates in %files section. Note: Three files are listed twice in the rust-scientific-macro-devel %files section: - LICENSE (line 34 via %license and line 37 via directory) - Changelog.md (line 35 via %doc and line 37 via directory) - README.md (line 36 via %doc and line 37 via directory) RPM build warning shows: File listed twice: /usr/share/cargo/registry/scientific-macro-0.5.2/Changelog.md File listed twice: /usr/share/cargo/registry/scientific-macro-0.5.2/LICENSE File listed twice: /usr/share/cargo/registry/scientific-macro-0.5.2/README.md This is harmless and does not affect package functionality. RPM handles this correctly and includes each file only once in the final package. Optional cleanup for rust-scientific-macro.spec: The standard pattern for Rust -devel source packages is to use only the directory directive. Lines 34-36 could be removed, keeping only: %files devel %{crate_instdir}/ See: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_duplicate_files ===== MUST items ===== Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. Note: MIT License verified in LICENSE file with proper copyright notice (Copyright (c) 2021 ALeX Kazik). [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "MIT License". The 7 files with "unknown license" are build/config files (Cargo.toml, .cargo_vcs_info.json, etc.) which is normal and expected for Rust crates. Source code files (lib.rs, parser.rs) are properly licensed under MIT. [x]: License file installed when any subpackage combination is installed. Note: LICENSE file is included in the package. [x]: %build honors applicable compiler flags or justifies otherwise. Note: Uses %cargo_build macro which properly handles compiler flags. [x]: Package contains no bundled libraries without FPC exception. Note: Standard Rust dependencies (proc-macro2, quote, syn) are properly declared as BuildRequires and not bundled. [x]: Changelog in prescribed format. Note: Uses %autochangelog macro which follows Fedora guidelines. [x]: Sources contain only permissible code or content. Note: Reviewed lib.rs and parser.rs - standard procedural macro code for scientific notation parsing. No security concerns or malware detected. [-]: Package contains desktop file if it is a GUI application. Note: Not a GUI application - this is a Rust procedural macro library. [x]: Development files must be in a -devel package Note: Properly structured with rust-scientific-macro-devel and rust-scientific-macro+default-devel subpackages. [x]: Package uses nothing in %doc for runtime. Note: Documentation files are not required for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). Note: Proper use of %{crate_instdir}, %{crate}, %autorelease, etc. [x]: Package is named according to the Package Naming Guidelines. Note: Follows Rust packaging guidelines (rust-<crate-name> format). [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. Note: Files installed to /usr/share/cargo/registry/ per Rust guidelines. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. Note: Not a renamed package. [x]: Requires correct, justified where necessary. Note: Dependencies on crate(proc-macro2/default) >= 1.0.60, crate(quote/default) >= 1.0.0, and crate(syn) >= 2.0.0 with appropriate version ranges are correct for a procedural macro crate. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. Note: Library package, no systemd files needed. [x]: Package is not known to require an ExcludeArch tag. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. Note: Built successfully in mock for fedora-rawhide-x86_64 and locally for fc42. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: No rpmlint errors or warnings (0 errors, 0 warnings). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. Note: LICENSE file is included in the package. [x]: The License field must be a valid SPDX expression. Note: "MIT" is a valid SPDX identifier. [x]: Package requires other packages for directories it uses. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Dist tag is present. Note: Uses %autorelease which includes dist tag. [x]: Package does not contain duplicates in %files. Note: While the spec lists some files twice (via explicit directives and directory inclusion), this is harmless. RPM handles this correctly and includes each file only once in the final package. [x]: Permissions on files are set properly. [x]: Package must not depend on deprecated() packages. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. Note: Uses %cargo_install macro appropriately. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. Note: SHA256 checksums match exactly: d2ee4885492bb655bfa05d039cd9163eb8fe9f79ddebf00ca23a1637510c2fd2 [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is minimal (README.md 150 bytes, Changelog.md 226 bytes). [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. Note: LICENSE file is included from upstream. [x]: Final provides and requires are sane (see attachments). Note: Provides crate(scientific-macro) and crate(scientific-macro/default). Requires standard proc-macro dependencies (proc-macro2, quote, syn). All appropriate and correctly versioned. [-]: Fully versioned dependency in subpackages if applicable. Note: For Rust packages, the crate() provides/requires system handles versioning. The %{name}%{?_isa} = %{version}-%{release} pattern is not applicable for noarch Rust -devel packages. [x]: Package functions as described. Note: Procedural macro for scientific notation parsing, companion to the scientific crate. Provides Scientific!() macro for creating compile-time constant arbitrary precision scientific numbers. [x]: Latest version is packaged. Note: Version 0.5.2 confirmed as latest on docs.rs and crates.io (released 2023-11-15). [x]: Package does not include license text files separate from upstream. Note: LICENSE file is from upstream tarball. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: Crates.io does not publish GPG signatures. Checksum verification via SHA256 is the standard verification method for Rust crates and is performed automatically by %cargo_prep. [x]: Package should compile and build into binary rpms on all supported architectures. Note: noarch package, builds on all architectures. [x]: %check is present and all tests pass. Note: Spec includes %bcond check 1 and %cargo_test in %check section. Tests include parser validation for scientific notation. [?]: Packages should try to preserve timestamps of original installed files. Note: Standard cargo macros handle file installation. [x]: Reviewer should test that the package builds in mock. Note: Successfully built locally in mock environment. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag Note: Uses %{crates_source} macro pointing to crates.io. [x]: SourceX is a working URL. Note: https://crates.io/api/v1/crates/scientific-macro/0.5.2/download [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: No rpmlint errors or warnings (0 errors, 0 warnings). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: rust-scientific-macro-devel-0.5.2-1.fc42.noarch.rpm rust-scientific-macro+default-devel-0.5.2-1.fc42.noarch.rpm rust-scientific-macro-0.5.2-1.fc42.src.rpm 3 packages and 0 specfiles checked; 0 errors, 0 warnings, 13 filtered, 0 badness Source checksums ---------------- https://crates.io/api/v1/crates/scientific-macro/0.5.2/download#/scientific-macro-0.5.2.crate : CHECKSUM(SHA256) this package : d2ee4885492bb655bfa05d039cd9163eb8fe9f79ddebf00ca23a1637510c2fd2 CHECKSUM(SHA256) upstream package : d2ee4885492bb655bfa05d039cd9163eb8fe9f79ddebf00ca23a1637510c2fd2 Requires -------- rust-scientific-macro-devel (rpmlib, GLIBC filtered): (crate(proc-macro2/default) >= 1.0.60 with crate(proc-macro2/default) < 2.0.0~) (crate(quote/default) >= 1.0.0 with crate(quote/default) < 2.0.0~) (crate(syn) >= 2.0.0 with crate(syn) < 3.0.0~) (crate(syn/parsing) >= 2.0.0 with crate(syn/parsing) < 3.0.0~) (crate(syn/proc-macro) >= 2.0.0 with crate(syn/proc-macro) < 3.0.0~) cargo rust rust-scientific-macro+default-devel (rpmlib, GLIBC filtered): cargo crate(scientific-macro) Provides -------- rust-scientific-macro-devel: crate(scientific-macro) rust-scientific-macro-devel rust-scientific-macro+default-devel: crate(scientific-macro/default) rust-scientific-macro+default-devel Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Buildroot used: fedora-rawhide-x86_64 ===== APPROVAL ===== This package is APPROVED, thank you. The duplicate files listing in %files is harmless and does not affect functionality. All MUST items pass, and the package meets Fedora packaging guidelines. -- You are receiving this mail because: You are always notified about changes to this product and component You are on the CC list for the bug. https://bugzilla.redhat.com/show_bug.cgi?id=2417002 Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202417002%23c6 -- _______________________________________________ package-review mailing list -- [email protected] To unsubscribe send an email to [email protected] Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/[email protected] Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
