Percona Server with XtraDB

percona-server-server-5.5/percona-server-server-5.1 should depend on libdbd-mysql-perl

Reported by Laurynas Biveinis on 2012-05-24
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server
Status tracked in 5.6
5.1
Medium
Ignacio Nin
5.5
Medium
Ignacio Nin
5.6
Medium
Ignacio Nin

Bug Description

Original report by Rodrigo Campos <rodrigo at sdfg.com.ar>:

mysql_set_permission needs libdbd-mysql-perl to run and the package that
installs it, doesn't depend on it, so it fails. The package that installs it
seems to be percona-server-server-5.5:

$ dpkg -S $(which mysql_setpermission)
percona-server-server-5.5: /usr/bin/mysql_setpermission

This is very similar to debian bug:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=64493

So please, would you consider adding libdbd-mysql-perl as a dependency ?

Rodrigo Campos (rodrigocc) wrote :

Ping ?

Stewart Smith (stewart) wrote :

Confirmed, we should depend on the perl module.

Rodrigo Campos (rodrigocc) wrote :

Cool. Can I help you in any way ?

On Mon, 04 Jun 2012 02:48:34 -0000, Rodrigo Campos <email address hidden> wrote:
> Cool. Can I help you in any way ?

The ultimate way to help is a patch. You can branch the percona-server
repository (we have separate 5.1 and 5.5 branches) and modify the debian
packaging files to include the dependency.

--
Stewart Smith

Confirmed for 5.1 as well

summary: - percona-server-server-5.5 should depend on libdbd-mysql-perl
+ percona-server-server-5.5/percona-server-server-5.1 should depend on
+ libdbd-mysql-perl
Ignacio Nin (ignacio-nin) wrote :

Fixed in 5.1, ready for next release.

For 5.5, it may be a little more complicated. Unfortunately, official libdbd-mysql-perl depends on libmysqlclient16 (note the version dependency) instead of libmysqlclient, so having percona-server-server-5.5 depend on libdbd-mysql-perl would make it effectively depend on libmysqlclient16 (apart from libmysqlclient18, on which it already depends).

This may be an acceptable solution, but I'm looking into more options.

N.

On Mon, Jun 18, 2012 at 06:44:30PM -0000, Ignacio Nin wrote:
> Fixed in 5.1, ready for next release.
>
> For 5.5, it may be a little more complicated. Unfortunately, official
> libdbd-mysql-perl depends on libmysqlclient16 (note the version
> dependency) instead of libmysqlclient, so having percona-server-
> server-5.5 depend on libdbd-mysql-perl would make it effectively depend
> on libmysqlclient16 (apart from libmysqlclient18, on which it already
> depends).

Debian package for libdbd-mysql-perl on testing depends on libmysqlclient18. You
say for older releases from debian/ubuntu where this percona version is
backported ?

>
> This may be an acceptable solution, but I'm looking into more options.

Yeah, it doesn't sound ideal. But if it's only for older releases (we have a
ubuntu natty server with libmysqlclient16 and libmysqlclient18 with no problems)
and it doesn't cause any problems it seems acceptable to me.

If we need to avoid using different libmysqlclient versions, maybe the
appropiarte thing is to use libmysqlclient16 on those releases for percona too
(if that is possible). But to backport all packages that use libmysqlclient, to
make them use libmysqlclient18 seems kind of messy and a good place for bugs
IMHO. But maybe there are more options besides these two ?

Also, looking at the files both libmysqlclient versions install, it seems they
shouldn't conflict. They install a .so with the version, so tools linked agains
one shouldn't conflict with the other. Also, libmysqlclient18-dev is not
neccesary to install so it shouldn't cause any damage compiling (maybe at link
time if the version is not specified).

Anyways, in our server we have both versions installed and it didn't cause any
troubles (although I understand is not an ideal solution). If you don't have
such an environment, let me know if you want me to test something :)

Thanks a lot,
Rodrigo

Ignacio Nin (ignacio-nin) wrote :

Hi,

Yes, checked in Precise as well and libdbd-mysql-perl links to libmysqlclient18, as is the case for testing. But we do support squeeze so we need to have it working on that platform also, as well as in older ubuntu releases.

The two versions of the libmysqlclient packages do not collide, they can be installed side by side so it would work, but ideally I'd like to just depend on libmysqlclient18 in either plaform, since it's the one the server actually uses. I'm checking how could it be solved at the package level, I'll elaborate on this.

Thanks,

N.

Changed in percona-server:
status: Triaged → In Progress
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers