lp:~ignacio-nin/percona-server/5.1-nonconflicting-libmysqlclient

Created by Ignacio Nin and last modified
Get this branch:
bzr branch lp:~ignacio-nin/percona-server/5.1-nonconflicting-libmysqlclient
Only Ignacio Nin can upload to this branch. If you are Ignacio Nin please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Recent revisions

516. By Ignacio Nin

Move libmysqlclient.so from the shared package to the devel package

This commit is part of a series of fixes in all the branches of Percona-Server
and Percona-XtraDB-Cluster, for which the goal is to stop including
libmysqlclient.so and libmysqlclient_r.so in the shared packages and include
it in the devel package.

Rationale:
Following the model of the upstream (MySQL) packages, a copy of the versioned
library -- libmysqlclient.so.15 for 5.0, libmysqlclient.so.16 for 51 and
libmysqlclient.so.18 for 5.5 -- was included in the shared package with name
libmysqlclient.so.

This creates the problem of making the library packages not compatible to each
other, making it impossible to have PS-shared-51 and PS-shared-55 installed at
the same time, for example. Upstream solved this problem by providing a
shared-compat package (which we also include), containing all the older
versions of the libraries.

This solution is acceptable for manual installation, however it doesn't play
good with our repositories. Since we include all of our software in the same
repository, there are many combinations possible that you can choose. As long
as the user stuck to a particular version, this wouldn't cause trouble -- but
it's impossible to avoid when installing a package that depends on a particular
libmysqlclient.so version, like php-mysql, or percona-toolkit (indirectly via
perl-DBD-mysql). In rhel6, these packages depend on the 5.1 version of the
library, so if Percona-Server-5.5 was installed, the shared package for the 5.1
version got selected by yum but it would conflict at the file level on
libmysqlclient.so. In rhel5 the situation would be even worse, since these
packages depend on the 5.0 version of the library, making 5.1 and 5.5 difficult
to install unless the user would select specifically
Percona-Server-shared-compat. Having 5.1 or 5.5 depend directly on
PS-shared-compat only introduced further problems.

The solution proposed hereby is to follow the model of the distributions, and
have the packages not install libmysqlclient.so, but only the versioned
libraries. The distro packages are prepared to link against the versioned
libraries only, so not having the unversioned libraries should not be a problem
for installing packages. The unversiones libraries are installed in the -devel
packages, since these are needed for linking new programs against it.

This way, PS 5.1, PS 5.5 and PXC can be installed alonside the shared package
for 5.0 (Percona-SQL-shared-50) in rhel5 and 5.1 (Percona-Server-shared-51) in
rhel6, allowing for any combination of software and seamless installs of
percona-toolkit or any other package that would depend on a specific package.

515. By Stewart Smith

merge 5.1.66-14.2 release branch

514. By <email address hidden>

Merge lp:~percona-core/percona-server/release-5.1.66-14.1

513. By <email address hidden>

Merge lp:~hrvojem/percona-server/bug1092106-5.1

512. By <email address hidden>

Merge lp:~hrvojem/percona-server/rn-5.1.66-14.2-r2

511. By <email address hidden>

Merge lp:~laurynas-biveinis/percona-server/BT-16274-bug1087202-1087218-5.1

510. By <email address hidden>

Merge lp:~vlad-lesin/percona-server/5.1-bug1049871-injections-gca

509. By <email address hidden>

Merge lp:~hrvojem/percona-server/rn-5.1.66-14.2

508. By <email address hidden>

Merge lp:~hrvojem/percona-server/bug1057031-5.1

507. By <email address hidden>

Merge lp:~stewart/percona-server/5.1-bug1090596

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:percona-server/5.5
This branch contains Public information 
Everyone can see this information.

Subscribers