Spec URL: https://qulogic.fedorapeople.org/reviews/python-pyogrio/python-pyogrio.spec SRPM URL: https://qulogic.fedorapeople.org/reviews/python-pyogrio/python-pyogrio-0.9.0-1.fc39.src.rpm Description: Pyogrio provides a GeoPandas-oriented API to OGR vector data sources, such as ESRI Shapefile, GeoPackage, and GeoJSON. Vector data sources have geometries, such as points, lines, or polygons, and associated records with potentially many columns worth of data.
Copr build: https://copr.fedorainfracloud.org/coprs/build/7670979 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2294379-python-pyogrio/fedora-rawhide-x86_64/07670979-python-pyogrio/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.
I'll review it.
Few notes: * I have a header in your package - /usr/lib64/python3.13/site-packages/pyogrio/arrow_bridge.h. Not sure what is it. Could you elaborate? * Interestingly but that header also licensed under a different license - ASL 2.0 so your %license field has to be "MIT and Apache-2.0" * (Not a blocker) Patches should be commented (like for example "# Fedora-specific, nothing to see here") or links to upstream PRs/MRs should be provided. Please comment/address them and we'll finish it. I don't see any issues so here is my formal Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Header files in -devel subpackage, if present. Note: python3-pyogrio : /usr/lib64/python3.13/site- packages/pyogrio/arrow_bridge.h See: https://docs.fedoraproject.org/en-US/packaging- guidelines/#_devel_packages ^^^ See my note above. ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Development (unversioned) .so files in -devel subpackage but it's ok for arch-dependent Python packages. [x]: If your application is a C or C++ application you must list a BuildRequires against gcc, gcc-c++ or clang. [x]: Package does not contain any libtool archives (.la) [x]: Package contains no static executables. [x]: Rpath absent or only used for internal libs. 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. [!]: License field in the package spec file MUST match the actual license. See my note above. [x]: License file installed when any subpackage combination is installed. [x]: Package must own all directories that it creates. [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 does not contain desktop file (not a GUI application). [-]: No development files (also see my note about header hile above). [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. [-]: Not a rename of another package. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package does not contain systemd file. [x]: Useful -debuginfo package or justification otherwise. [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]: Package installs properly. [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 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]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 3093 bytes in 1 files. [x]: Packages must not store files under /srv, /opt or /usr/local Python: [-]: 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). [x]: Fully versioned dependency in subpackages if applicable. [?]: I did not test if the package functions as described. [x]: Latest version is packaged (0.9.0). [x]: Package does not include license text files separate from upstream. [x/!]: Patches link to upstream bugs/comments/lists or are otherwise justified. See my note above. [-]: Sources were not verified with gpgverify (upstream does not publish signatures). [?]: I dod not check if the package compiles and builds 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: There are rpmlint messages (see attachment). [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-pyogrio-0.9.0-1.fc41.x86_64.rpm python-pyogrio-debugsource-0.9.0-1.fc41.x86_64.rpm python-pyogrio-0.9.0-1.fc41.src.rpm ========================================================================================================================================= rpmlint session starts ======================================================================================================================================== rpmlint: 2.5.0 configuration: /usr/lib/python3.12/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/tmp1mkjgisx')] checks: 32, packages: 3 python3-pyogrio.x86_64: E: zero-length /usr/lib64/python3.13/site-packages/pyogrio/_io.pxd python-pyogrio.src: E: spelling-error ('Vectorized', 'Summary(en_US) Vectorized -> Factorized, Vectored') python3-pyogrio.x86_64: E: spelling-error ('Vectorized', 'Summary(en_US) Vectorized -> Factorized, Vectored') python3-pyogrio.x86_64: W: devel-file-in-non-devel-package /usr/lib64/python3.13/site-packages/pyogrio/arrow_bridge.h =================================================================================================== 3 packages and 0 specfiles checked; 3 errors, 1 warnings, 14 filtered, 3 badness; has taken 2.5 s =================================================================================================== Rpmlint (installed packages) ---------------------------- ============================ rpmlint session starts ============================ rpmlint: 2.5.0 configuration: /usr/lib/python3.13/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: 32, packages: 2 python3-pyogrio.x86_64: E: zero-length /usr/lib64/python3.13/site-packages/pyogrio/_io.pxd python3-pyogrio.x86_64: E: spelling-error ('Vectorized', 'Summary(en_US) Vectorized -> Factorized, Vectored') python3-pyogrio.x86_64: W: devel-file-in-non-devel-package /usr/lib64/python3.13/site-packages/pyogrio/arrow_bridge.h 2 packages and 0 specfiles checked; 2 errors, 1 warnings, 10 filtered, 2 badness; has taken 2.2 s Unversioned so-files -------------------- python3-pyogrio: /usr/lib64/python3.13/site-packages/pyogrio/_err.cpython-313-x86_64-linux-gnu.so python3-pyogrio: /usr/lib64/python3.13/site-packages/pyogrio/_geometry.cpython-313-x86_64-linux-gnu.so python3-pyogrio: /usr/lib64/python3.13/site-packages/pyogrio/_io.cpython-313-x86_64-linux-gnu.so python3-pyogrio: /usr/lib64/python3.13/site-packages/pyogrio/_ogr.cpython-313-x86_64-linux-gnu.so python3-pyogrio: /usr/lib64/python3.13/site-packages/pyogrio/_vsi.cpython-313-x86_64-linux-gnu.so Source checksums ---------------- https://files.pythonhosted.org/packages/source/p/pyogrio/pyogrio-0.9.0.tar.gz : CHECKSUM(SHA256) this package : 6a6fa2e8cf95b3d4a7c0fac48bce6e5037579e28d3eb33b53349d6e11f15e5a8 CHECKSUM(SHA256) upstream package : 6a6fa2e8cf95b3d4a7c0fac48bce6e5037579e28d3eb33b53349d6e11f15e5a8 Requires -------- python3-pyogrio (rpmlib, GLIBC filtered): libc.so.6()(64bit) libgdal.so.35()(64bit) python(abi) python3.13dist(certifi) python3.13dist(numpy) python3.13dist(packaging) rtld(GNU_HASH) python-pyogrio-debugsource (rpmlib, GLIBC filtered): Provides -------- python3-pyogrio: python-pyogrio python3-pyogrio python3-pyogrio(x86-64) python3.13-pyogrio python3.13dist(pyogrio) python3dist(pyogrio) python-pyogrio-debugsource: python-pyogrio-debugsource python-pyogrio-debugsource(x86-64) Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/usr/bin/fedora-review -b 2294379 Buildroot used: fedora-rawhide-x86_64 Active plugins: Generic, Python, Shell-api, C/C++ Disabled plugins: fonts, Haskell, PHP, R, Perl, SugarActivity, Ocaml, Java Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
(In reply to Peter Lemenkov from comment #3) > Few notes: > > * I have a header in your package - > /usr/lib64/python3.13/site-packages/pyogrio/arrow_bridge.h. Not sure what is > it. Could you elaborate? It seems likely this is a mistake, but I have asked upstream about it: https://github.com/geopandas/pyogrio/issues/433#issuecomment-2295434424 > * Interestingly but that header also licensed under a different license - > ASL 2.0 so your %license field has to be "MIT and Apache-2.0" I updated the license to include the header license as well for now, and can drop it later if it goes away. I also updated the license to include the data files. > * (Not a blocker) Patches should be commented (like for example "# > Fedora-specific, nothing to see here") or links to upstream PRs/MRs should > be provided. Comments added. Also added a missing test dependency.
Spec URL: https://qulogic.fedorapeople.org/reviews/python-pyogrio/python-pyogrio.spec SRPM URL: https://qulogic.fedorapeople.org/reviews/python-pyogrio/python-pyogrio-0.9.0-1.fc39.src.rpm
*** Bug 2305648 has been marked as a duplicate of this bug. ***
Ok, I don't see any other issues so this package is ================ === APPROVED === ================
Thank you for the review, Peter
The Pagure repository was created at https://src.fedoraproject.org/rpms/python-pyogrio