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

  • Committer: Ignacio Nin
  • Date: 2013-03-04 19:50:34 UTC
  • Revision ID: ignacio.nin@percona.com-20130304195034-ca2o8i8wnc73tqae
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.

Filename Latest Rev Last Changed Committer Comment Size
..
build 334 12 years ago Stewart Smith Import MySQL 5.1.59 tree Diff
doc 334 12 years ago Stewart Smith Import MySQL 5.1.59 tree Diff
HandlerSocket-Plugin-for-MySQL 494.1.1 11 years ago Ignacio Nin Update HandlerSocket by readding it to the version Diff
kewpie 410.4.1 12 years ago Patrick Crews Merge in kewpie (the test-runner formerly known as Diff
Percona-Server 334 12 years ago Stewart Smith Import MySQL 5.1.59 tree Diff
python-for-subunit2junitxml 334 12 years ago Stewart Smith Import MySQL 5.1.59 tree Diff
UDF 334 12 years ago Stewart Smith Import MySQL 5.1.59 tree Diff
.bzrignore 456.1.1 11 years ago Hrvoje Matijakovic * bug fix for Bug #1013968 * modified doc Makefile 22 bytes Diff Download File
COPYING.show_temp_51 334 12 years ago Stewart Smith Import MySQL 5.1.59 tree 1.6 KB Diff Download File
handlersocket.patch 494.1.1 11 years ago Ignacio Nin Update HandlerSocket by readding it to the version 1.2 KB Diff Download File
Makefile 491.3.9 11 years ago Ignacio Nin Bump versions to 5.5.28-14.2. 2.6 KB Diff Download File
README.HandlerSocket 494.1.1 11 years ago Ignacio Nin Update HandlerSocket by readding it to the version 508 bytes Diff Download File
README.txt 334 12 years ago Stewart Smith Import MySQL 5.1.59 tree 481 bytes Diff Download File
File subunit2junitxml 334 12 years ago Stewart Smith Import MySQL 5.1.59 tree 2.2 KB Diff Download File