Bug 1858531
Summary: | Review Request: partio - Library for reading/writing/manipulating common animation particle | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Luya Tshimbalanga <luya_tfz> |
Component: | Package Review | Assignee: | Robert-André Mauchin 🐧 <eclipseo> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | eclipseo, package-review |
Target Milestone: | --- | Flags: | eclipseo:
fedora-review+
|
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2020-09-06 05:43:14 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1856589 |
Description
Luya Tshimbalanga
2020-07-18 20:40:54 UTC
- Please fix the Source0: Source0: https://github.com/wdas/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz (archives → archive) - That should be in the Python subpackage: %{python3_sitearch}/_%{name}.so - There is no versioned library, only the unversioned. You must provide a versioned library, by first asking upstream to version their library, or, in case of refusal, do the versioning dowstream. See: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_downstream_so_name_versioning (Probably something like that: set_target_properties(partio PROPERTIES OUTPUT_NAME partio POSITION_INDEPENDENT_CODE ON VERSION ${VERSION} SOVERSION 1 ) in src/lib/CMakeLists.txt) - You should not provide %license LICENSE for all packages, but for all packages combination. For ex, -devel depends on the main package which already provide the license, so it shouldn't be included another time in the -devel subpackage. Same with -doc subpackage. - Is it useful to package the tests? Are they used by the end-user? - Add Version-Release to your changelog entry. Sorry I shouldn't have checked "do not send mail". Please see the comment above. Also the tests contain arch-dependent binaries in /usr/share, which is not good. /usr/share is for arch independent code only: partio-test.x86_64: E: arch-dependent-file-in-usr-share /usr/share/partio/test/makecircle partio-test.x86_64: E: arch-dependent-file-in-usr-share /usr/share/partio/test/makeline partio-test.x86_64: E: arch-dependent-file-in-usr-share /usr/share/partio/test/testcache partio-test.x86_64: E: arch-dependent-file-in-usr-share /usr/share/partio/test/testclonecopy partio-test.x86_64: E: arch-dependent-file-in-usr-share /usr/share/partio/test/testcluster partio-test.x86_64: E: arch-dependent-file-in-usr-share /usr/share/partio/test/testio partio-test.x86_64: E: arch-dependent-file-in-usr-share /usr/share/partio/test/testiterator partio-test.x86_64: E: arch-dependent-file-in-usr-share /usr/share/partio/test/testkdtree partio-test.x86_64: E: arch-dependent-file-in-usr-share /usr/share/partio/test/testmerge partio-test.x86_64: E: arch-dependent-file-in-usr-share /usr/share/partio/test/teststr (In reply to Robert-André Mauchin 🐧 from comment #1) > - Please fix the Source0: > > Source0: > https://github.com/wdas/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz > > (archives → archive) Fixed. > - That should be in the Python subpackage: > > %{python3_sitearch}/_%{name}.so Fixed, > > (Probably something like that: > > set_target_properties(partio PROPERTIES > OUTPUT_NAME partio POSITION_INDEPENDENT_CODE ON > VERSION ${VERSION} > SOVERSION 1 > ) > > in src/lib/CMakeLists.txt) After applying a patch using the above code, the build managed to build as seen on the scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=47414693 I filed a ticket to upstream about the versioning libraries: https://github.com/wdas/partio/issues/82 > > - You should not provide %license LICENSE for all packages, but for all > packages combination. For ex, -devel depends on the main package which > already provide the license, so it shouldn't be included another time in the > -devel subpackage. Same with -doc subpackage. Fixed. > > - Is it useful to package the tests? Are they used by the end-user? Those tests aren't need so they are removed. > - Add Version-Release to your changelog entry. Done. Here is the updated files: SPEC: https://download.copr.fedorainfracloud.org/results/luya/openshadinglanguage/fedora-rawhide-x86_64/01559730-partio/partio.spec SRPM: https://download.copr.fedorainfracloud.org/results/luya/openshadinglanguage/fedora-rawhide-x86_64/01559730-partio/partio-1.10.1-2.fc33.src.rpm Yeah I have not tested that patch at all. I suspect it is because the $VERSION variable is not available at this point on the build. I'm not an expert of Cmake, so I don't really know how to handle this. Fixed it. diff -ru partio-1.10.1.orig/src/lib/CMakeLists.txt partio-1.10.1/src/lib/CMakeLists.txt --- partio-1.10.1.orig/src/lib/CMakeLists.txt 2019-07-10 19:11:02.000000000 -0700 +++ partio-1.10.1/src/lib/CMakeLists.txt 2020-07-18 20:50:13.713384480 -0700 @@ -35,7 +35,11 @@ file(GLOB core_cpp "core/*.cpp") add_library(partio ${io_cpp} ${core_cpp}) -set_target_properties(partio PROPERTIES OUTPUT_NAME partio POSITION_INDEPENDENT_CODE ON) +set_target_properties(partio PROPERTIES + OUTPUT_NAME partio POSITION_INDEPENDENT_CODE ON + VERSION ${CMAKE_PROJECT_VERSION} + SOVERSION 1 +) target_include_directories(partio PUBLIC ================================================================ No the other issue I haven't mentioned yet is where to put the library we created. I think it should ship separately into a libpartio subpackage and then you change your devel package into libpartio-devel and make libpartio-devel requires libpartio instead of the main package. You might need to adjust the Summary/Description to reflect what's actually packaged (i.e. main package containing the tools and libpartio containing the lib) %files -n libpartio %license LICENSE %{_libdir}/*.so.1* - Also remove the tabs introduced in line 12, line 55, line 58 - Do not use ExcludeArch but ExclusiveArch with the arches you support. - Thank you for the fix. The build is successful this time. I figured out some build requirements lack pkgconfig files on Fedora 31 when testing the scratch build so I adjusted the condition. (In reply to Robert-André Mauchin 🐧 from comment #6) > libpartio-devel requires libpartio instead of the main package. You might > need to adjust the Summary/Description to reflect what's actually packaged > (i.e. main package containing the tools and libpartio containing the lib) > > %files -n libpartio > %license LICENSE > %{_libdir}/*.so.1* Is "%files lib" an equivalent partio-devel requires partio-lib? Some packages used that method. > - Also remove the tabs introduced in line 12, line 55, line 58 Fixed > - Do not use ExcludeArch but ExclusiveArch with the arches you support. I find out it is unneeded. Here is the updated files: SPEC: https://download.copr.fedorainfracloud.org/results/luya/openshadinglanguage/fedora-32-x86_64/01563228-partio/partio.spec SRPM: https://download.copr.fedorainfracloud.org/results/luya/openshadinglanguage/fedora-32-x86_64/01563228-partio/partio-1.10.1-3.fc32.src.rpm > Is "%files lib" an equivalent partio-devel requires partio-lib? Some packages used that method.
Yes that is a solution, I'm not sure what is the standard in Fedora.
Package approved.
Thank you Robert-André!! (fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/partio Closing as the package is available in the repository. |