On Mon, 25 Feb 2008, Philipp Thomas wrote:
On Fri, 22 Feb 2008 21:11:42 +0100, Petr Cerny wrote:
When other package Requires: "libfoo", the package manager (and eventually the user) gets fooled and isn't able to install the desired package.
I agree with all of the following...
library packages should *never* be required explicitly as it's far better to have rpm determine the dependency automatically (with the exclusion of sub-packages of the library package). That will make a package dependent on the soname (i.e. internal name) of a library and will be resolved disregarding of the package name. Example:
- libfoo1 contains libfoo.so.1.9.7 with soname libfoo.so.1. When packaging this with AutoReqProv on, rpmbuild will add libfoo.so.1 to libfoo1 provides.
- Binary bar linked to libfoo will have the requirement for libfoo.so.1 encoded in it (as tools like ldd or objdump will show you) which in turn will be discovered by rpm and added to the Requires of the package containing this binary.
... but the problem is probably that binaries and libraries were previously in a package libfoo and the other package just required one of the binaries (and such the libfoo package). The problem with the package split is now that the package containing the binaries got renamed(?) like libfoo --> foo \-> libfoo1 in this case the foo(!) package should provide and obsolete the libfoo name like Provides: libfoo = current-version Obsoletes: libfoo <= version-at-split-time split-provides should be also added for binaries here, like Provides: libfoo:/bin/foo But yes, the libfoo1 package should be never required directly (even if something dlopens a library, the requires should specify the name opened - in the most cases this is sth like /usr/lib/libfoo.so). Also the shared library package should not provide any old unsplit versions of the package. Richard. -- Richard Guenther <rguenther@suse.de> Novell / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 - GF: Markus Rex --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org