What the ... does no-dependency-on mean in RPMLint reports?

Hi,

I’ve been building a package in the OBS called libmsym and of late I’ve been trying to fix RPMLint warnings, partly because I just want my packages to be the best they can be, although I have noticed that many packages in openSUSE:Factory have RPMLint warnings that are ignored. One warning I’ve been getting that I can’t figure out how to fix is:


libmsym0_2-devel.x86_64: W: no-dependency-on libmsym0_2*/libmsym0_2-libs/liblibmsym0_2*

there’s no such package as libmsym0_2*/libmsym0_2-libs/liblibmsym0_2* of anything like it so I’m quite confused. Any ideas what the … I’m meant to do? I’ve tried DuckDuckGo searching “no-dependency-on” (with the quotation marks) but it always ignores the hyphens and gets results with “no dependency on” too and the search turns out to be useless.

Thanks for your time,
Brenton

To quote the rpmlint errors document;

no-dependency-on

rpmlint has detected that the package uses some capabilities not provided by its dependencies. E.g., the package installs Perl modules but does not require Perl itself.

Thanks, where is this RPMLint doco you’re referring to btw? It would come in handy to be able to bookmark it. Now that we have the why, what’s the fix? The library in question simply doesn’t exist, and frankly shouldn’t exist. I suspect RPM is wrong here.

If you provide link to your package, someone may be able to figure it out.

Oops sorry, https://build.opensuse.org/package/show/home:fusion809/libmsym

/usr/lib/libmsym.so is symlink to libmsym.so.0.2 which means package libmsym0_2-devel must require package that provides libmsym.so.0.2, otherwise -devel package is not functional. Normally run-time library is included in library package, where name template can vary. RPMlint message simply tries to tell you one of usual library package names.

You need explicitly add dependency on run-time package to your -devel package. See any other package providing both run-time library and corresponding development package for reference.

Ah thanks, I missed that one. I’ve been checking my packages for such careless errors. The problem is that now it’s fixed I still get that RPMLint warning.