Mailinglist Archive: opensuse-buildservice (209 mails)

< Previous Next >
[opensuse-buildservice] package Provides: not taken into consideration sometimes?
  • From: Michal Marek <mmarek@xxxxxxx>
  • Date: Mon, 04 Jun 2007 09:57:52 +0200
  • Message-id: <4663C600.7050905@xxxxxxx>
Hi,

server:database builds libmysqlclient-devel, which has
  Provides: mysql-devel = %{version}-%{release}
It builds against various SUSE Linux versions, which have the old
mysql-devel package.

Now php5.spec in server:php has
  BuildRequires: mysql-devel
  $ osc meta server:php
  ...
  <repository name="server_database_SUSE_Linux_10.0">
    <path repository="SUSE_Linux_10.0" project="server:database"/>
    <arch>i586</arch>
    <arch>x86_64</arch>
  </repository>
  <repository name="server_database_SUSE_Linux_10.1">
    <path repository="SUSE_Linux_10.1" project="server:database"/>
    <arch>i586</arch>
    <arch>x86_64</arch>
  </repository>
  ...
The problem is that when building against
server_database_SUSE_Linux_10.[01], the resolver picks the old
mysql-devel package from the base distribution, which in case of 10.0
causes php5-mysql be linked against the old client library and in case
of 10.1 breaks init_buildsystem, because mysql-devel pulls in
mysql-client (now from server:database) which pulls in libmysqlclient15
(also from server:database), which installs the same files as mysql-shared.

So it seems that if a dependency is satisfied by a package name
directly, that package is preferred over packages which satisfy the
dependency via Provides:. It works as expected if either all packages
satisfy the dependency by package name, or all by Provides:. Eg.
mysql-devel pulls in the new mysql-client package (via name), and
mysql-client pulls in the new libmysqlclient15 package (via
libmysqlclient.so.15(libmysqlclient_15)).

So
a) is this expected or is it a bug?
b) can we work around it somehow? Using BuildRequires:
   libmysqlclient-devel would be tricky, because php5 builds also
   against pristine distributions.

Thanks.

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

< Previous Next >