Created by Ignacio Nin and last modified
Get this branch:
bzr branch lp:~ignacio-nin/percona-server/5.0-rpm-obsoletes
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

90. By Ignacio Nin on 2013-10-16

Move the Obsolete: lines to the shared package for CentOS 5

Due to every version of Percona Server (5.1, 5.5, 5.6 and PXC) having a
shared library package that Obsoletes: mysql-libs, upgrading from a
mysql-libs installation would use any available version to obsolete
mysql-libs, when in fact the intended package to replace it is the 5.0
version for CentOS 5 and the 5.1 version for CentOS 6.

After installing the percona repository, a yum upgrade would try to
replace mysql-libs with Percona-XtraDB-Cluster-shared-compat, which
would confuse users.

Solve this by removing all the Obsoletes: lines from the packages that
are not intended to replace mysql-libs *except when explicitely
installed*, and in the correct packages only Obsolete: for the correct
versions of CentOS.

89. By Ignacio Nin on 2013-03-04

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.

Also, for rhel5, have the shared package obsolete mysql, which is the package
containing the libmysqlclient.so.15 library in the distribution.

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

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.

88. By Ignacio Nin on 2012-04-19

Remove CFLAGS override from spec file

CFLAGS anx CXXFLAGS were being overriden in the rpm spec file, causing
that the 32 bit compilation flags (among others) to be ignored.

87. By Ignacio Nin on 2011-02-20

Update distribution name before build

Use dch(1) to update the distribution name before each build.

86. By Ignacio Nin on 2011-02-18

Added shared-compat RPM spec and script

Added the .spec file for the percona-shared-compat RPM file, and a script
for setting up the environment and building it.

85. By Ignacio Nin on 2011-02-17

Add cross-compiling capabilities

Modified the building scripts for supporting cross-compiling to 32bits in
a 64bits environment (--i386 parameter).

84. By Ignacio Nin on 2011-02-17

Use -b23 as version suffix

Use -b23 as the version suffix for 5.0.92, following trend in 5.0 series.

83. By Oleg Tsarev on 2011-02-16

fix failed tests

82. By Ignacio Nin on 2011-02-15

Added -pgpg parameter to dpkg-buildpackage

Without -pgpg, dpkg-buildpackage would not sign the packages after
building, so we add it when the user provides -k.

81. By Ignacio Nin on 2011-02-15

Support FreeBSD build tools, autogen support

Modified script for accepting a -a parameter for running autorun.sh
optionally. This was done in case a mismatch in versions of libtool
(shipped in mysql-5.0.92 and locally installed) is found.
Some magic for detecting older versions of getopt(1) was needed.

Branch metadata

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