https://bugzilla.redhat.com/show_bug.cgi?id=2453288
Ben Beasley <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #3 from Ben Beasley <[email protected]> --- Glancing at the spec file, I think you should consult https://docs.fedoraproject.org/en-US/packaging-guidelines/#_shared_libraries. Shared libraries MUST be versioned via SONAME; no unversioned shared libraries can be installed in the default linker path. We do have a few Rust-based shared libraries. I can provide some good examples using cargo-c, e.g. rust-rav1e: https://src.fedoraproject.org/rpms/rust-rav1e/blob/d9a574d39b3cebea0d1b05d64d30d51a0d9eb92a/f/rust-rav1e.spec or rust-rustc-demangle-capi, where cargo-c support had to be patched in downstream: https://src.fedoraproject.org/rpms/rust-rustc-demangle-capi/blob/54e45c7b8e3c168b139a1f877759d1485a26d78f/f/rust-rustc-demangle-capi.spec See also: https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_building_shared_libraries_with_cargo_c This is probably the easiest way for you to make a versioned shared library. I am not sure what it would take to make it happen without cargo-c. You might know more about this than I do. We also don’t package static (.a) libraries at all unless there’s a technical reason why we *need* them and can’t use the shared library: https://docs.fedoraproject.org/en-US/packaging-guidelines/#packaging-static-libraries If the static library is needed, I think it ought to be justified in a spec-file comment, like: https://src.fedoraproject.org/rpms/libfplll/blob/83e803542166d97d3255b22c473bca0cb2f25a6c/f/libfplll.spec#_167 The fact that %build is empty is a little weird, but I haven’t investigated closely. Currently, you have everything in the base package’s %files list, and aren’t actually producing a binary -devel package. The versioned shared library (once you have one) goes in the base package: %{_libdir}/libnsm.so.0.5{,.*} The unversioned shared-library symbolic link, the header, and the pkgconfig file go in the -devel subpackage (%files devel): %{_includedir}/nsm.h %{_libdir}/pkgconfig/libnsm.pc %{_libdir}/libnsm.so The static library shouldn’t be shipped, if possible. If you must ship it, it needs to go in a -static subpackage that Requires the -devel package with a fully-versioned dependency, like https://docs.fedoraproject.org/en-US/packaging-guidelines/#_requiring_base_package. %{_libdir}/libnsm.a -- You are receiving this mail because: You are always notified about changes to this product and component You are on the CC list for the bug. https://bugzilla.redhat.com/show_bug.cgi?id=2453288 Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202453288%23c3 -- _______________________________________________ package-review mailing list -- [email protected] To unsubscribe send an email to [email protected] Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/[email protected] Do not reply to spam, report it: https://forge.fedoraproject.org/infra/tickets/issues/new
