[Mageia-dev] mariadb

Funda Wang fundawang at gmail.com
Sat Dec 17 14:23:54 CET 2011


2011/12/17 Maarten Vanraes <alien at rmail.be>:
> ah, didn't see that one... i've put the mklibnames in variables and
> resubmitted.
>
> perhaps this can be documented somewhere(.spec file policy), or even better,
> fixed?
%mklibname takes a lot of parameters, so:

   Requires: %mklibname mysql %{major} = %{version}-%{release}

will let %mklibname think its parameters are:
%1: mysql
%2: %{major}
%3: =
%4: %{version}-%{release}

After parsing, %mklibname only recognize the first three paramerters,
and put an underscore between %2 and %3. so it becomes:

%{_lib}mysql%{major}_=

And, %4(%{version}-%{release}) will be throw away.

> PS: I provided the exact provides as mysql, just to be sure that there is no
> mageia (or otherwise 3rd party package) could be having troubles finding the
> correct packages.
As mariadb is a binary replacement for mysql, why not just named the
libs as %{_lib}mysql18 and %{_lib}mysqld18, which is more accurate
than %{_lib}mariadb18. Almost all the packages are using binary
dependencies (libmysqlclient.so.18) rather than rpm name dependencies,
which is more nature than package name, and more reliable.

Personally, I don't think libmysqld18 (now it is named
libmariadb-embedded18) should have any relationship with libmysqld0.
They have different libmajor, which means all the packages depending
on libmysqld0 should be recompiled. So basically, they are different
libs actually. Adding symbolic link won't provide any help, either.


More information about the Mageia-dev mailing list