Should I name this package vkbasalt-devel to fix E: shlib-policy-name-error?

Hello,
I am packaging vkbasalt.
https://build.opensuse.org/package/show/home:andythe_great/vkbasalt

The problem is that it produce a file that is %{_libdir}/libvkbasalt.so
RPMLINT error is

vkbasalt.x86_64: E: shlib-policy-name-error (Badness: 10000) libvkbasalt
Your package contains a single shared library but is not named after its
SONAME.

Which I think RPMLINT told me to rename the package to libvkbasalt.
But I was told that it should remain as vkbasalt.https://build.opensuse.org/request/show/834343#comments-list
Should I split it into devel package? However, I do not think that it is devel package, so what should I do?

Thank you.

Hi
Yes, split out the shared library into libvkbasalt, you can find the soname (I normally just pop into the build root to run this);


readelf -a <lib_name>.so | grep SONAME

Just create a define in your spec file, then use %{lib_name};


%define lib_name libvkbasalt<soname>

Hi,

I have split the package into libvkbasalt and vkbasalt.
Do you think vkbasalt should depend on libvkbasalt or vice versa?

Hi
Check the build log at the end to see if it detects (It should), then let rpm sort it out. You can also check the details tab for each of those two rpms.

It does not detect each other.

My file list look like this.

%files -n %{libname}
%{_libdir}/libvkbasalt.so

%files
%license LICENSE
%doc README.md
%dir %{_datadir}/vulkan
%dir %{_datadir}/vulkan/implicit_layer.d
%{_datadir}/vulkan/implicit_layer.d/vkBasalt.json 

But I don’t feel like it make sense… If it is like this, vkbasalt only have .json file. So I think I have to make vkbasalt depend on libvkbasalt.

Hi
Yes, but shouldn’t it need vulkan as a requires as well? Isn’t the vkBasalt.conf file missing?

SOLVED

I have submit this to graphics repo. RPMLINT warning is actually false positive. I have to add rpmlintrc to it
To quote the graphics maintainer.

The name does not fit. 'libvkbasalt.so' is not a generic shared library, but a module loaded by the vulkan runtime library.