https://bugzilla.redhat.com/show_bug.cgi?id=1890891
Robert-André Mauchin 🐧 zebob.m@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|nobody@fedoraproject.org |zebob.m@gmail.com Flags| |fedora-review?
--- Comment #3 from Robert-André Mauchin 🐧 zebob.m@gmail.com ---
Unfortunately the packaging guideline failed to provide the step to set up a versioned .so files.
No, you should check the Cmake help. You need to pass "SOVERSION x.x.x" in the src/ptex/CMakeLists.txt somewhere
set_target_properties(Ptex_dynamic PROPERTIES OUTPUT_NAME Ptex SOVERSION x.x.x)
Patch:
# 0001-set-SOVERSION.patch diff -up ptex-2.3.2/src/ptex/CMakeLists.txt.orig ptex-2.3.2/src/ptex/CMakeLists.txt --- ptex-2.3.2/src/ptex/CMakeLists.txt.orig 2019-03-08 18:39:47.000000000 +0100 +++ ptex-2.3.2/src/ptex/CMakeLists.txt 2020-11-07 11:12:18.517114444 +0100 @@ -32,7 +32,10 @@ endif()
if(PTEX_BUILD_SHARED_LIBS) add_library(Ptex_dynamic SHARED ${SRCS}) - set_target_properties(Ptex_dynamic PROPERTIES OUTPUT_NAME Ptex) + set_target_properties(Ptex_dynamic + PROPERTIES + OUTPUT_NAME Ptex + SOVERSION ${PTEX_MAJOR_VERSION}.${PTEX_MINOR_VERSION}) target_include_directories(Ptex_dynamic PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> ===============================================================
Patch0: 0001-set-SOVERSION.patch
[…]
%autosetup -p1 -n %{name}-%{version}
- Doc subpackage should be noarch
Package Review ==============
Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed
===== MUST items =====
C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: If your application is a C or C++ application you must list a BuildRequires against gcc, gcc-c++ or clang. [x]: Header files in -devel subpackage, if present. [x]: ldconfig not called in %post and %postun for Fedora 28 and later. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. [x]: Development (unversioned) .so files in -devel subpackage, if present.
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". 57 files have unknown license. Detailed output of licensecheck in /home/bob/packaging/review/ptex/review- ptex/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [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. [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]: 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 10240 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: There are rpmlint messages (see attachment). [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 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
===== 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. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in ptex- devel [?]: Package functions as described. [x]: 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. [-]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: Package should compile and build into binary rpms on all supported architectures. [-]: %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]: The placement of pkgconfig(.pc) files are correct. [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: [ ]: Large data in /usr/share should live in a noarch subpackage if package is arched. Note: Arch-ed rpms have a total of 8960000 bytes in /usr/share [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM.
Rpmlint ------- Checking: ptex-2.3.2-2.fc34.x86_64.rpm ptex-devel-2.3.2-2.fc34.x86_64.rpm ptex-doc-2.3.2-2.fc34.x86_64.rpm ptex-debuginfo-2.3.2-2.fc34.x86_64.rpm ptex-debugsource-2.3.2-2.fc34.x86_64.rpm ptex-2.3.2-2.fc34.src.rpm ptex.x86_64: W: no-manual-page-for-binary ptxinfo ptex-devel.x86_64: W: no-documentation ptex.src:46: W: mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 46) 6 packages and 0 specfiles checked; 0 errors, 3 warnings.