Spec URL: https://gotmax23.fedorapeople.org/reviews/python-orjson/python-orjson.spec SRPM URL: https://gotmax23.fedorapeople.org/reviews/python-orjson/python-orjson-3.8.9-1.fc37.src.rpm Description: orjosn is a fast, correct Python JSON library supporting dataclasses, datetimes, and numpy Koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=99507666
Copr build: https://copr.fedorainfracloud.org/coprs/build/5740791 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2184237-python-orjson/fedora-rawhide-x86_64/05740791-python-orjson/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.
> %changelog > * Tue Mar 28 2023 Maxwell G <maxwell> - 3.8.9-1 > - Update to 3.8.7. That is definitely wrong. The message should say "Initial package". I'll fix it.
Reading the spec. The "# Ineligble for upstreaming" comment might benefit form more rationale/reason. Although I have not seen if the commit message sin the patches don't already do that. There is "APACHE-2.0" in the license, should have been "Apache-2.0". What is the purpose of the outmost parenthesis here? "((Apache-2.0 OR MIT) AND BSD-3-Clause)" ? Should the License be flattened to: "(Apache-2.0 OR MIT) AND (Apache-2.0 OR BSL-1.0) AND AND BSD-3-Clause AND Apache-2.0"?
> The "# Ineligble for upstreaming" comment might benefit form more rationale/reason. Although I have not seen if the commit message sin the patches don't already do that. You can see the specfile and patches in https://git.sr.ht/~gotmax23/fedora-python-orjson/tree if that's easier than unpacking the SRPM. I think the messages in the patches themselves (they're git formatted patches) explain/justify the patches, but let me know if anything in particular needs to be clarified. > There is "APACHE-2.0" in the license, should have been "Apache-2.0". You're right. I've fixed it. > What is the purpose of the outmost parenthesis here? "((Apache-2.0 OR MIT) AND BSD-3-Clause)" ? Should the License be flattened to: "(Apache-2.0 OR MIT) AND (Apache-2.0 OR BSL-1.0) AND AND BSD-3-Clause AND Apache-2.0"? "(Apache-2.0 OR MIT) AND BSD-3-Clause" is the license of encoding_rs. I'd prefer not to preform effective licensing analysis/flattening if the License: value is still reasonable without it. --- Fix APACHE-2.0 and %changelog typos: Spec URL: https://gotmax23.fedorapeople.org/reviews/python-orjson/python-orjson.spec SRPM URL: https://gotmax23.fedorapeople.org/reviews/python-orjson/python-orjson-3.8.9-1.fc37.src.rpm
Spec URL: https://gotmax23.fedorapeople.org/reviews/python-orjson/python-orjson.spec SRPM URL: https://gotmax23.fedorapeople.org/reviews/python-orjson/python-orjson-3.8.9-1.fc37.src.rpm Initial package
Copr build: https://copr.fedorainfracloud.org/coprs/build/5742432 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2184237-python-orjson/fedora-rawhide-x86_64/05742432-python-orjson/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.
Copr build: https://copr.fedorainfracloud.org/coprs/build/5742435 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2184237-python-orjson/fedora-rawhide-x86_64/05742435-python-orjson/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.
(In reply to Maxwell G from comment #4) > > The "# Ineligble for upstreaming" comment might benefit form more rationale/reason. Although I have not seen if the commit message sin the patches don't already do that. > > You can see the specfile and patches in > https://git.sr.ht/~gotmax23/fedora-python-orjson/tree if that's easier than > unpacking the SRPM. I think the messages in the patches themselves (they're > git formatted patches) explain/justify the patches, but let me know if > anything in particular needs to be clarified. Thanks, being able to clickity-click to the patches thought the web-browser indeed makes it easier. Will check the messages. > > What is the purpose of the outmost parenthesis here? "((Apache-2.0 OR MIT) AND BSD-3-Clause)" ? Should the License be flattened to: "(Apache-2.0 OR MIT) AND (Apache-2.0 OR BSL-1.0) AND AND BSD-3-Clause AND Apache-2.0"? > > "(Apache-2.0 OR MIT) AND BSD-3-Clause" is the license of encoding_rs. I'd > prefer not to preform effective licensing analysis/flattening if the > License: value is still reasonable without it. This did not seem like a case of "effective licensing" to me, so I asked: https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/F4MYD7U6D2ROAL3CAOHSYDL3H6TPWZOT/
Remove-unstable-simd-feature.patch commit message does not really say why we need to do this. Is Fedora's Rust too old? Or is this featue explicitly disabled? etc. Small nit: Use-setuptools-rust-instead-of-maturin.patch has "[PATCH 1/2]" in it, which might be a tad confusing to anybody who is digging that deep (so effectively, probably nobody), considering the "[PATCH 2/2]" part is not there. I recommend formatting such patches via `git format-patch --no-numbered`.
https://git.sr.ht/~gotmax23/fedora-python-orjson/commit/c8f9767963e1cd3a9ce576b97fd150f38846bda0 Spec URL: https://gotmax23.fedorapeople.org/reviews/python-orjson/python-orjson.spec SRPM URL: https://gotmax23.fedorapeople.org/reviews/python-orjson/python-orjson-3.8.9-1.fc37.src.rpm Apply patch formatting nits
Copr build: https://copr.fedorainfracloud.org/coprs/build/5743222 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2184237-python-orjson/fedora-rawhide-x86_64/05743222-python-orjson/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.
> export CARGO_HOME=.cargo RUSTC_BOOTSTRAP=1 RUSTFLAGS='%{build_rustflags}' This looks a bit fishy to me ... 1. Is setting "CARGO_HOME=.cargo" really necessary? I guess the "%cargo_build" macro does this as well, but none of the other Rusty Python packages in Fedora set this (I checked python-cryptography, fapolicy-analyzer). 2. Setting "RUSTC_BOOTSTRAP=1" should not be needed. It's an internal implementation detail of the Rust packaging macros to work around some shortcomings of dependency resolution. It basically enables unstable / nightly-only features on the stable version of the Rust compiler / cargo (because we use `-Zavoid-dev-deps` in the `%cargo_install` macro). But you should never need to add this for any other reasons. If you *do* need it, then your project actually requires a nightly Rust compiler, and we don't have that. Since I don't think orjson requires "Rust Nightly", you should remove this.
I copied those env vars from %cargo_build. I'll try to remove RUSTC_BOOTSTRAP. As for CARGOHOME, https://pagure.io/fedora-rust/rust-packaging/blob/main/f/macros.d/macros.cargo#_3 says: # CARGO_HOME: This ensures cargo reads configuration file from .cargo/config, # and prevents writing any files to $HOME during RPM builds. How are Python bindings written in Rust different in this regard?
(In reply to Maxwell G from comment #13) > # CARGO_HOME: This ensures cargo reads configuration file from .cargo/config, > # and prevents writing any files to $HOME during RPM builds. > > How are Python bindings written in Rust different in this regard? It looks like setting CARGO_HOME=. is not necessary in all circumstances? cargo already respects settings it finds in "$(pwd)/.cargo/config" as far as I know ... not sure if the build process writes anything to $HOME? But it doesn't look like it.
I thought about the License issue more and tend to agree with Miro. I changed "(Apache-2.0 OR MIT) AND (Apache-2.0 OR BSL-1.0) AND ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND Apache-2.0" to "(Apache-2.0 OR MIT) AND (Apache-2.0 OR BSL-1.0) AND BSD-3-Clause AND Apache-2.0". https://git.sr.ht/~gotmax23/fedora-python-orjson/commit/acf36db685411cc3962f03e8e8626099ab5833a4 I defer to Fabio and removed the two env vars. They are not absolutely necessary, and we just need to make sure the build respects the distro build flags, not exactly reproduce the %cargo_build macro. https://git.sr.ht/~gotmax23/fedora-python-orjson/commit/2bc546e51773a9c0556f7758a409ee3b5bdb0dc8 Spec URL: https://gotmax23.fedorapeople.org/reviews/python-orjson/python-orjson.spec SRPM URL: https://gotmax23.fedorapeople.org/reviews/python-orjson/python-orjson-3.8.9-1.fc37.src.rpm
Created attachment 1955976 [details] The .spec file difference from Copr build 5743222 to 5747259
Copr build: https://copr.fedorainfracloud.org/coprs/build/5747259 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2184237-python-orjson/fedora-rawhide-x86_64/05747259-python-orjson/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.
Can you take https://bugzilla.redhat.com/show_bug.cgi?id=2184588 in exchange?
The only remark I have is that LICENCES.dependencies also contains MIT: castaway v0.2.2 MIT: compact_str v0.7.0 MIT: itoap v1.0.1 which are not mentioned in the license breakdown of the spec - is there any particular reason for that?
Spec URL: https://gotmax23.fedorapeople.org/reviews/python-orjson/python-orjson.spec SRPM URL: https://gotmax23.fedorapeople.org/reviews/python-orjson/python-orjson-3.8.9-1.fc37.src.rpm add missing packages to license summary https://git.sr.ht/~gotmax23/fedora-python-orjson/commit/0ba42917ecec6a97f6fd9c88c47991a90f372421
Copr build: https://copr.fedorainfracloud.org/coprs/build/5776159 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2184237-python-orjson/fedora-rawhide-x86_64/05776159-python-orjson/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.
Copr build: https://copr.fedorainfracloud.org/coprs/build/5776160 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2184237-python-orjson/fedora-rawhide-x86_64/05776160-python-orjson/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.
LGTM, approved. This is a review *template*. Besides handling the [ ]-marked tests you are also supposed to fix the template before pasting into bugzilla: - Add issues you find to the list of issues on top. If there isn't such a list, create one. - Add your own remarks to the template checks. - Add new lines marked [!] or [?] when you discover new things not listed by fedora-review. - Change or remove any text in the template which is plain wrong. In this case you could also file a bug against fedora-review - Remove the "[ ] Manual check required", you will not have any such lines in what you paste. - Remove attachments which you deem not really useful (the rpmlint ones are mandatory, though) - Remove this text Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== [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", "*No copyright* MIT License", "*No copyright* MIT License Apache License 2.0", "*No copyright* MIT License Apache License". 483 files have unknown license. [x]: License file installed when any subpackage combination is installed. [x]: 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. [-]: 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. [ ]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [-]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 51200 bytes in 1 files. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: No rpmlint messages. [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]: 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]: Package does not contain duplicates in %files. [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]: Packages must not store files under /srv, /opt or /usr/local Python: [x]: Python eggs must not download any dependencies during the build process. [-]: A package which is used by another package via an egg interface should provide egg info. [x]: Package meets the Packaging Guidelines::Python [x]: Package contains BR: python2-devel or python3-devel [x]: Packages MUST NOT have dependencies (either build-time or runtime) on packages named with the unversioned python- prefix unless no properly versioned package exists. Dependencies on Python packages instead MUST use names beginning with python2- or python3- as appropriate. [x]: Python packages must not contain %{pythonX_site(lib|arch)}/* in %files [x]: Binary eggs must be removed in %prep ===== 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. [?]: Package functions as described. [?]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: 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. [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: [x]: Rpmlint is run on all installed packages. Note: No rpmlint messages. [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: python3-orjson-3.8.9-1.fc39.x86_64.rpm python-orjson-debugsource-3.8.9-1.fc39.x86_64.rpm python-orjson-3.8.9-1.fc39.src.rpm =========================================================================================================== rpmlint session starts ========================================================================================================== rpmlint: 2.4.0 configuration: /usr/lib/python3.11/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.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/tmpavllwx7y')] checks: 31, packages: 3 ============================================================================ 3 packages and 0 specfiles checked; 0 errors, 0 warnings, 0 badness; has taken 1.1 s =========================================================================== Rpmlint (installed packages) ---------------------------- ============================ rpmlint session starts ============================ rpmlint: 2.4.0 configuration: /usr/lib/python3.11/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.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 checks: 31, packages: 2 2 packages and 0 specfiles checked; 0 errors, 0 warnings, 0 badness; has taken 0.1 s Unversioned so-files -------------------- python3-orjson: /usr/lib64/python3.11/site-packages/orjson/orjson.cpython-311-x86_64-linux-gnu.so Source checksums ---------------- https://files.pythonhosted.org/packages/source/o/orjson/orjson-3.8.9.tar.gz : CHECKSUM(SHA256) this package : c40bece58c11cb09aff17424d21b41f6f767d2b1252b2f745ec3ff29cce6a240 CHECKSUM(SHA256) upstream package : c40bece58c11cb09aff17424d21b41f6f767d2b1252b2f745ec3ff29cce6a240 Requires -------- python3-orjson (rpmlib, GLIBC filtered): ld-linux-x86-64.so.2()(64bit) libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3)(64bit) libgcc_s.so.1(GCC_4.2.0)(64bit) python(abi) rtld(GNU_HASH) python-orjson-debugsource (rpmlib, GLIBC filtered): Provides -------- python3-orjson: python-orjson python3-orjson python3-orjson(x86-64) python3.11-orjson python3.11dist(orjson) python3dist(orjson) python-orjson-debugsource: python-orjson-debugsource python-orjson-debugsource(x86-64) Generated by fedora-review 0.9.0 (6761b6c) last change: 2022-08-23 Command line :/usr/bin/fedora-review -b 2184237 Buildroot used: fedora-rawhide-x86_64 Active plugins: Generic, Shell-api, Python Disabled plugins: SugarActivity, R, Java, Ocaml, Haskell, fonts, C/C++, Perl, PHP Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH
Spec URL: https://gotmax23.fedorapeople.org/reviews/python-orjson/python-orjson.spec SRPM URL: https://gotmax23.fedorapeople.org/reviews/python-orjson/python-orjson-3.8.10-1.fc37.src.rpm Update to 3.8.10 Koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=99888784
Oops, I didn't see that you had already approved the package when I submitted that. Thank you!
The Pagure repository was created at https://src.fedoraproject.org/rpms/python-orjson
FEDORA-2023-849e8af025 has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-849e8af025
FEDORA-2023-849e8af025 has been pushed to the Fedora 39 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2023-02616d2cc2 has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2023-02616d2cc2
FEDORA-2023-55e5e7c58c has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2023-55e5e7c58c
FEDORA-2023-9295891af9 has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2023-9295891af9
FEDORA-2023-02616d2cc2 has been pushed to the Fedora 38 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-02616d2cc2 \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-02616d2cc2 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2023-55e5e7c58c has been pushed to the Fedora 37 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-55e5e7c58c \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-55e5e7c58c See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2023-9295891af9 has been pushed to the Fedora 36 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-9295891af9 \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-9295891af9 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2023-55e5e7c58c has been pushed to the Fedora 37 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2023-02616d2cc2 has been pushed to the Fedora 38 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2023-9295891af9 has been pushed to the Fedora 36 stable repository. If problem still persists, please make note of it in this bug report.