Spec URL: https://asn.fedorapeople.org/rust-serde-json-core.spec SRPM URL: https://asn.fedorapeople.org/rust-serde-json-core-0.6.0-1.fc44.src.rpm Description: Serde-json for no_std programs. Fedora Account System Username: asn
This package built on koji: https://koji.fedoraproject.org/koji/taskinfo?taskID=137603985
Copr build: https://copr.fedorainfracloud.org/coprs/build/9626613 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2400067-rust-serde-json-core/fedora-rawhide-x86_64/09626613-rust-serde-json-core/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.
This will be used by rust-zlink
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated Issues: ======= - Package installs properly. Note: Installation errors (see attachment) See: https://docs.fedoraproject.org/en-US/packaging-guidelines/ Problem: conflicting requests - nothing provides (crate(defmt/default) >= 0.3.0 with crate(defmt/default) < 0.4.0~) needed by rust-serde-json-core+defmt-devel-0.6.0-1.fc44.noarch from @commandline - nothing provides (crate(heapless/defmt-03) >= 0.8.0 with crate(heapless/defmt-03) < 0.9.0~) needed by rust-serde-json-core+defmt-devel-0.6.0-1.fc44.noarch from @commandline Assuming the things you are trying to package do not depend on the defmt feature, the easiest solution is to hide it by adding the following to rust2rpm.toml: [features] hide = [ # Not packaged: rust-defmt (and this wants 0.3 while latest is 1.0) "defmt", ] Heed the warning from the rust2rpm.toml man page: NOTE: Care needs to be taken to only "hide" features / optional dependencies that are not dependencies of other "non-hidden" features, otherwise the subpackages for the dependent features will have unsatisfiable dependencies. All features that are marked as "hidden" by this setting must be "unreachable" via feature dependencies from any feature subpackages that are still present in the generated spec file. In some circumstances, the only way to cleanly handle removal of unused non-default features is to patch Cargo.toml instead. It looks like using "hide" should be acceptable here. - Package does not contain duplicates in %files. Note: warning: File listed twice: /usr/share/cargo/registry/serde-json- core-0.6.0/CHANGELOG.md See: https://docs.fedoraproject.org/en-US/packaging- guidelines/#_duplicate_files This is not a serious problem, and is due to reasonable design decisions in rust2rpm. - Thanks to rpmlint, we can see that at least two files have Windows/DOS-style CRLF end-of-line encoding. rust-serde-json-core-devel.noarch: W: wrong-file-end-of-line-encoding /usr/share/cargo/registry/serde-json-core-0.6.0/CHANGELOG.md rust-serde-json-core-devel.noarch: W: wrong-file-end-of-line-encoding /usr/share/cargo/registry/serde-json-core-0.6.0/README.md In fact, most of the files in the package do: $ find serde-json-core-0.6.0/ -type f -exec file '{}' '+' serde-json-core-0.6.0/.cargo_vcs_info.json: JSON text data serde-json-core-0.6.0/.github/workflows/ci.yml: ASCII text, with CRLF line terminators serde-json-core-0.6.0/.gitignore: ASCII text serde-json-core-0.6.0/CHANGELOG.md: ASCII text, with CRLF line terminators serde-json-core-0.6.0/Cargo.toml: Unicode text, UTF-8 text serde-json-core-0.6.0/Cargo.toml.orig: Unicode text, UTF-8 text, with CRLF line terminators serde-json-core-0.6.0/LICENSE-APACHE: ASCII text serde-json-core-0.6.0/LICENSE-MIT: ASCII text serde-json-core-0.6.0/README.md: ASCII text, with CRLF line terminators serde-json-core-0.6.0/src/de/enum_.rs: ASCII text, with CRLF line terminators serde-json-core-0.6.0/src/de/map.rs: C source, Unicode text, UTF-8 text, with CRLF line terminators serde-json-core-0.6.0/src/de/mod.rs: Unicode text, UTF-8 text, with CRLF line terminators serde-json-core-0.6.0/src/de/seq.rs: ASCII text, with CRLF line terminators serde-json-core-0.6.0/src/lib.rs: ASCII text, with CRLF line terminators serde-json-core-0.6.0/src/ser/map.rs: ASCII text, with CRLF line terminators serde-json-core-0.6.0/src/ser/mod.rs: Unicode text, UTF-8 text, with CRLF line terminators serde-json-core-0.6.0/src/ser/seq.rs: ASCII text, with CRLF line terminators serde-json-core-0.6.0/src/ser/struct_.rs: ASCII text, with CRLF line terminators serde-json-core-0.6.0/src/str.rs: ASCII text, with CRLF line terminators This isn’t the case in the upstream git repository, so these must be getting converted when the crate is published from a Windows environment. There’s therefore nothing to fix upstream (if they insist on publishing from Windows), so we should fix it downstream. We can just blindly pass everything to dos2unix. Add this to rust2rpm.toml: [requires] build = ["dos2unix"] [scripts.prep] pre = [ "# Fix CRLF-terminated sources", "find . -type f -exec dos2unix --keepdate '{}' '+'", ] ===== 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. [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", "*No copyright* Apache License 2.0", "MIT License". 16 files have unknown license. Detailed output of licensecheck in /home/ben/fedora/review/2400067-rust-serde-json- core/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [-]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [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. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [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. [x]: The License field must be a valid SPDX expression. [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. [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. [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. [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 0 bytes in 0 files. [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. [x]: Final provides and requires are sane (see attachments). [-]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in rust- serde-json-core-devel , rust-serde-json-core+default-devel , rust- serde-json-core+custom-error-messages-devel , rust-serde-json- core+defmt-devel , rust-serde-json-core+heapless-devel , rust-serde- json-core+std-devel [x]: Package functions as described. (tests pass) [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [x]: Package should compile and build into binary rpms on all supported architectures. https://koji.fedoraproject.org/koji/taskinfo?taskID=137638939 [x]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [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 [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [!]: Rpmlint is run on all installed packages. Note: Mock build failed See: https://docs.fedoraproject.org/en-US/packaging- guidelines/#_use_rpmlint [!]: Spec file according to URL is the same as in SRPM. Note: Spec file as given by url is not the same as in SRPM (see attached diff). See: (this test has no URL) OK: differences are solely due to rpmautospec macro expansion. Installation errors ------------------- INFO: mock.py version 6.3 starting (python version = 3.13.7, NVR = mock-6.3-1.fc42), args: /usr/libexec/mock/mock -r fedora-rawhide-aarch64 --no-cleanup-after --no-clean --plugin-option=tmpfs:keep_mounted=True --resultdir=/home/ben/fedora/review/2400067-rust-serde-json-core/results install /home/ben/fedora/review/2400067-rust-serde-json-core/results/rust-serde-json-core+std-devel-0.6.0-1.fc44.noarch.rpm /home/ben/fedora/review/2400067-rust-serde-json-core/results/rust-serde-json-core+custom-error-messages-devel-0.6.0-1.fc44.noarch.rpm /home/ben/fedora/review/2400067-rust-serde-json-core/results/rust-serde-json-core-devel-0.6.0-1.fc44.noarch.rpm /home/ben/fedora/review/2400067-rust-serde-json-core/results/rust-serde-json-core+heapless-devel-0.6.0-1.fc44.noarch.rpm /home/ben/fedora/review/2400067-rust-serde-json-core/results/rust-serde-json-core+default-devel-0.6.0-1.fc44.noarch.rpm /home/ben/fedora/review/2400067-rust-serde-json-core/results/rust-serde-json-core+defmt-devel-0.6.0-1.fc44.noarch.rpm Start(bootstrap): init plugins INFO: selinux enabled Finish(bootstrap): init plugins Start: init plugins INFO: selinux enabled Finish: init plugins INFO: Signal handler active Start: run Mock Version: 6.3 INFO: Mock Version: 6.3 Start(bootstrap): chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: Package manager dnf5 detected and used (fallback) Finish(bootstrap): chroot init Start: chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf5 detected and used (direct choice) Finish: chroot init INFO: installing package(s): /builddir/rust-serde-json-core+std-devel-0.6.0-1.fc44.noarch.rpm /builddir/rust-serde-json-core+custom-error-messages-devel-0.6.0-1.fc44.noarch.rpm /builddir/rust-serde-json-core-devel-0.6.0-1.fc44.noarch.rpm /builddir/rust-serde-json-core+heapless-devel-0.6.0-1.fc44.noarch.rpm /builddir/rust-serde-json-core+default-devel-0.6.0-1.fc44.noarch.rpm /builddir/rust-serde-json-core+defmt-devel-0.6.0-1.fc44.noarch.rpm ERROR: Command failed: # /usr/bin/systemd-nspawn -q -M 22383c777c13441e8913d61932eb1b30 -D /var/lib/mock/fedora-rawhide-aarch64-bootstrap/root -a --capability=cap_ipc_lock --bind=/tmp/mock-resolv.4z1ll9wo:/etc/resolv.conf --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/var/lib/mock/fedora-rawhide-aarch64/root/installation-homedir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007"' '--setenv=PS1=<mock-chroot> \s-\v\$ ' --setenv=LANG=C.UTF-8 --setenv=LC_MESSAGES=C.UTF-8 --resolv-conf=off /usr/bin/dnf5 --installroot /var/lib/mock/fedora-rawhide-aarch64/root/ --releasever 44 install /builddir/rust-serde-json-core+std-devel-0.6.0-1.fc44.noarch.rpm /builddir/rust-serde-json-core+custom-error-messages-devel-0.6.0-1.fc44.noarch.rpm /builddir/rust-serde-json-core-devel-0.6.0-1.fc44.noarch.rpm /builddir/rust-serde-json-core+heapless-devel-0.6.0-1.fc44.noarch.rpm /builddir/rust-serde-json-core+default-devel-0.6.0-1.fc44.noarch.rpm /builddir/rust-serde-json-core+defmt-devel-0.6.0-1.fc44.noarch.rpm --setopt=deltarpm=False --setopt=allow_vendor_change=yes --allowerasing --setopt=tsflags=nocontexts Rpmlint ------- Checking: rust-serde-json-core-devel-0.6.0-1.fc44.noarch.rpm rust-serde-json-core+default-devel-0.6.0-1.fc44.noarch.rpm rust-serde-json-core+custom-error-messages-devel-0.6.0-1.fc44.noarch.rpm rust-serde-json-core+defmt-devel-0.6.0-1.fc44.noarch.rpm rust-serde-json-core+heapless-devel-0.6.0-1.fc44.noarch.rpm rust-serde-json-core+std-devel-0.6.0-1.fc44.noarch.rpm rust-serde-json-core-0.6.0-1.fc44.src.rpm ============================ rpmlint session starts ============================ rpmlint: 2.7.0 configuration: /usr/lib/python3.13/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml rpmlintrc: [PosixPath('/tmp/tmpwr4ve3kj')] checks: 32, packages: 7 rust-serde-json-core-devel.noarch: W: wrong-file-end-of-line-encoding /usr/share/cargo/registry/serde-json-core-0.6.0/CHANGELOG.md rust-serde-json-core-devel.noarch: W: wrong-file-end-of-line-encoding /usr/share/cargo/registry/serde-json-core-0.6.0/README.md 7 packages and 0 specfiles checked; 0 errors, 2 warnings, 37 filtered, 0 badness; has taken 0.3 s Source checksums ---------------- https://crates.io/api/v1/crates/serde-json-core/0.6.0/download#/serde-json-core-0.6.0.crate : CHECKSUM(SHA256) this package : 5b81787e655bd59cecadc91f7b6b8651330b2be6c33246039a65e5cd6f4e0828 CHECKSUM(SHA256) upstream package : 5b81787e655bd59cecadc91f7b6b8651330b2be6c33246039a65e5cd6f4e0828 Requires -------- rust-serde-json-core-devel (rpmlib, GLIBC filtered): (crate(ryu/default) >= 1.0.5 with crate(ryu/default) < 2.0.0~) (crate(serde) >= 1.0.100 with crate(serde) < 2.0.0~) (crate(serde/derive) >= 1.0.100 with crate(serde/derive) < 2.0.0~) cargo rust rust-serde-json-core+default-devel (rpmlib, GLIBC filtered): cargo crate(serde-json-core) crate(serde-json-core/heapless) rust-serde-json-core+custom-error-messages-devel (rpmlib, GLIBC filtered): cargo crate(serde-json-core) crate(serde-json-core/heapless) rust-serde-json-core+defmt-devel (rpmlib, GLIBC filtered): (crate(defmt/default) >= 0.3.0 with crate(defmt/default) < 0.4.0~) (crate(heapless/default) >= 0.8.0 with crate(heapless/default) < 0.9.0~) (crate(heapless/defmt-03) >= 0.8.0 with crate(heapless/defmt-03) < 0.9.0~) (crate(heapless/serde) >= 0.8.0 with crate(heapless/serde) < 0.9.0~) cargo crate(serde-json-core) rust-serde-json-core+heapless-devel (rpmlib, GLIBC filtered): (crate(heapless/default) >= 0.8.0 with crate(heapless/default) < 0.9.0~) (crate(heapless/serde) >= 0.8.0 with crate(heapless/serde) < 0.9.0~) cargo crate(serde-json-core) rust-serde-json-core+std-devel (rpmlib, GLIBC filtered): (crate(serde/std) >= 1.0.100 with crate(serde/std) < 2.0.0~) cargo crate(serde-json-core) Provides -------- rust-serde-json-core-devel: crate(serde-json-core) rust-serde-json-core-devel rust-serde-json-core+default-devel: crate(serde-json-core/default) rust-serde-json-core+default-devel rust-serde-json-core+custom-error-messages-devel: crate(serde-json-core/custom-error-messages) rust-serde-json-core+custom-error-messages-devel rust-serde-json-core+defmt-devel: crate(serde-json-core/defmt) rust-serde-json-core+defmt-devel rust-serde-json-core+heapless-devel: crate(serde-json-core/heapless) rust-serde-json-core+heapless-devel rust-serde-json-core+std-devel: crate(serde-json-core/std) rust-serde-json-core+std-devel Diff spec file in url and in SRPM --------------------------------- --- /home/ben/fedora/review/2400067-rust-serde-json-core/srpm/rust-serde-json-core.spec 2025-09-30 10:03:43.449990830 +0100 +++ /home/ben/fedora/review/2400067-rust-serde-json-core/srpm-unpacked/rust-serde-json-core.spec 2025-09-25 01:00:00.000000000 +0100 @@ -1,2 +1,12 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.8.1) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 1; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + # Generated by rust2rpm 27 %bcond check 1 @@ -116,3 +126,6 @@ %changelog -%autochangelog +## START: Generated by rpmautospec +* Thu Sep 25 2025 Andreas Schneider <asn> - 0.6.0-1 +- Initial package version 0.6.0 +## END: Generated by rpmautospec Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/usr/bin/fedora-review -b 2400067 Buildroot used: fedora-rawhide-aarch64 Active plugins: Shell-api, Generic Disabled plugins: PHP, SugarActivity, R, Python, Haskell, C/C++, Ocaml, Java, fonts, Perl Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
Spec URL: https://asn.fedorapeople.org/rust-serde-json-core.spec SRPM URL: https://asn.fedorapeople.org/rust-serde-json-core-0.6.0-2.fc44.src.rpm * Tue Sep 30 2025 Andreas Schneider <asn> - 0.6.0-2 - Hide the defmt package - Use dos2unix to convert from dos to unix file endings * Thu Sep 25 2025 Andreas Schneider <asn> - 0.6.0-1 - Initial package version 0.6.0
Created attachment 2108082 [details] The .spec file difference from Copr build 9626613 to 9631822
Copr build: https://copr.fedorainfracloud.org/coprs/build/9631822 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2400067-rust-serde-json-core/fedora-rawhide-x86_64/09631822-rust-serde-json-core/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.
The spec-file diff shows that the issues found in the previous review were corrected: --- ../../srpm-unpacked/rust-serde-json-core.spec 2025-09-25 01:00:00.000000000 +0100 +++ srpm-unpacked/rust-serde-json-core.spec 2025-09-30 01:00:00.000000000 +0100 @@ -2,7 +2,7 @@ ## (rpmautospec version 0.8.1) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: - release_number = 1; + release_number = 2; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} @@ -24,6 +24,7 @@ Source: %{crates_source} BuildRequires: cargo-rpm-macros >= 24 +BuildRequires: dos2unix %global _description %{expand: Serde-json for no_std programs.} @@ -70,18 +71,6 @@ %files -n %{name}+custom-error-messages-devel %ghost %{crate_instdir}/Cargo.toml -%package -n %{name}+defmt-devel -Summary: %{summary} -BuildArch: noarch - -%description -n %{name}+defmt-devel %{_description} - -This package contains library source intended for building other packages which -use the "defmt" feature of the "%{crate}" crate. - -%files -n %{name}+defmt-devel -%ghost %{crate_instdir}/Cargo.toml - %package -n %{name}+heapless-devel Summary: %{summary} BuildArch: noarch @@ -108,6 +97,8 @@ %prep %autosetup -n %{crate}-%{version} -p1 +# Fix CRLF-terminated sources +find . -type f -exec dos2unix --keepdate '{}' '+' %cargo_prep %generate_buildrequires @@ -126,6 +117,10 @@ %changelog ## START: Generated by rpmautospec +* Tue Sep 30 2025 Andreas Schneider <asn> - 0.6.0-2 +- Hide the defmt package +- Use dos2unix to convert from dos to unix file endings + * Thu Sep 25 2025 Andreas Schneider <asn> - 0.6.0-1 - Initial package version 0.6.0 ## END: Generated by rpmautospec The output of fedora-review does not reveal any new problems, and there are no rpmlint messages. The package is therefore 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 - add @rust-sig with "commit" access as package co-maintainer (should happen automatically) - set bugzilla assignee overrides to @rust-sig (optional) - track package in koschei for all built branches (should happen automatically once rust-sig is co-maintainer)
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-serde-json-core