Mailinglist Archive: opensuse-packaging (107 mails)

< Previous Next >
Re: [opensuse-packaging] Need help by Fixing Bugreports
  • From: oc2pus@xxxxxxxx
  • Date: Thu, 14 May 2009 01:35:41 +0200
  • Message-id: <200905140135.41848.oc2pus@xxxxxxxx>
Am Donnerstag, 14. Mai 2009 schrieb Michael Matz:

On Wed, 13 May 2009, Sascha 'saigkill' Manns wrote:
in my packman package I worked around this problem with packaging
both *.so and *.so.* in the lib-pacakges (because I'm too lazy to fix
this ...)

Don't do this please. If you're too lazy that's okay, but don't advise
this to others.

I didn't advise someone, I wanted just to show how it is done in my package
and why this package works.

That's also the reason why I marked this workaround with the comment:
# to fix by upstream install
addFilter("devel-file-in-non-devel-package .*/kde4/plugins/designer/lib.*.so")
addFilter("devel-file-in-non-devel-package .*/lib.*.so")

You need to move the last file (the one in .../kde4/plugins/...) to the
libskgbasegui1 package. It is an *.so file, so your initial intuition to
put it into a -devel package was correct. But in this case it's a plugin,
not a shared library, so it needs to be part of the base package as it's
required at runtime, not to build against.
A devel package in this case is "senseless" without headers. How could someone
use those libs without knowledge about the interface ?

And the plugin should be part of the main package and/or part of a
sub-package, not part of the lib-package so I put it in the main package.

Just my 2 cent.

That will fix the immediate problem.

But this whole skrooge thingy is highly dubious. Plugins are not supposed
to be reachable from /usr/lib (which it here is via the versioned* links), they are not supposed to be linked against
either (again possible here via the %{_libdir}/ link).
They are supposed to be loaded via a plugin loader at runtime, and in that
case those links in %{_libdir}/*.so.* are not required.

When I look at the other librararies in there, though, it seems as if also isn't actually supposed to be a plugin from the start.
This is also supported by the fact that the application actually links (in
the sense) against this library/plugin/mixup. But this all needs to
be sorted out by upstream. For now it's enough if you provide the plugin
in the lib package (not the other *.so files, only the plugin). It is
possible that you need to add an exception for rpmlint anyway, because it
is named 'lib<something>'. Normally rpmlint should detect that this is
only a plugin and not bitch about packaging *.so files in non-devel
packages. But you'll need to try.


To unsubscribe, e-mail: opensuse-packaging+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-packaging+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups