percona-server-common-5.6_5.6.16-64.1-563.wheezy_amd64 put dependency on mysql-common, breaking installation

Bug #1294211 reported by Timur Bakeyev on 2014-03-18
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server
Status tracked in 5.6
5.5
Undecided
Alexey Bychko
5.6
Undecided
Alexey Bychko

Bug Description

Hi!

I was happily running percona-server-server-5.6(5.6.15-rel63.0-519.wheezy) on my Debian GNU/Linux 7.4 (wheezy) amd64 installation, but with the recent update of Percona server 'apt-get dist-upgrade' gives me the following:

# dpkg -l|grep percona
ii percona-server-client-5.6 5.6.15-rel63.0-519.wheezy amd64 Percona Server database client binaries
ii percona-server-common-5.6 5.6.15-rel63.0-519.wheezy amd64 Percona Server database common files (e.g. /etc/mysql/my.cnf)
ii percona-server-server-5.6 5.6.15-rel63.0-519.wheezy amd64 Percona Server database server binaries

# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be REMOVED:
  percona-server-client-5.6 percona-server-server-5.6
The following NEW packages will be installed:
  mysql-client mysql-client-5.5 mysql-common
The following packages will be upgraded:
  percona-server-common-5.6
1 upgraded, 3 newly installed, 2 to remove and 0 not upgraded.

Not exactly what you'd expect from the upgrade procedure.

It comes down to the fact that in percona-server-common-5.6_5.6.16-64.1-563.wheezy_amd64 control file dependencies are set like:

Package: percona-server-common-5.6
Source: percona-server-5.6
Version: 5.6.16-64.1-563.wheezy
Architecture: amd64
Maintainer: Percona Server Development Team <email address hidden>
Installed-Size: 76
Depends: mysql-common
Section: database
Priority: extra

While in percona-server-common-5.6_5.6.15-rel63.0-519.wheezy_amd64 it used to be more sane:

Package: percona-server-common-5.6
Source: percona-server-5.6
Version: 5.6.15-rel63.0-519.wheezy
Architecture: amd64
Maintainer: Percona Server Development Team <email address hidden>
Installed-Size: 28
Conflicts: mysql-common, mysql-common-4.1, mysql-common-5.0, mysql-common-5.1, percona-server-common-5.1, percona-server-common-5.5
Replaces: mysql-common, mysql-common-4.1, mysql-common-5.0, mysql-common-5.1, percona-server-common-5.1, percona-server-common-5.5
Provides: mysql-common
Section: database
Priority: extra

For a normal wheezy installation 'mysql-common' has dependencies like:

Package: mysql-common
Source: mysql-5.5
Version: 5.5.35+dfsg-0+wheezy1
Installed-Size: 142
Maintainer: Debian MySQL Maintainers <email address hidden>
Architecture: all
Breaks: amarok (<< 2.5.0-2), mysql-client-5.1 (<< 5.5), mysql-server-5.1 (<< 5.5), mysql-server-core-5.1 (<< 5.5)
Description-en: MySQL database common files, e.g. /etc/mysql/my.cnf
 MySQL is a fast, stable and true multi-user, multi-threaded SQL database
 server. SQL (Structured Query Language) is the most popular database query
 language in the world. The main goals of MySQL are speed, robustness and
 ease of use.
 .
 This package includes files needed by all versions of the client library,
 e.g. /etc/mysql/my.cnf.
Homepage: http://dev.mysql.com/
Description-md5: 562d254c602f89e4390e28f6362283c8
Multi-Arch: foreign
Section: misc
Priority: optional
Filename: pool/updates/main/m/mysql-5.5/mysql-common_5.5.35+dfsg-0+wheezy1_all.deb
Size: 84384
MD5sum: 697de6066b5590e741138e98317dc12e
SHA1: f8906af162cd102d62815d603d8ed0cda4323921
SHA256: de2044934646e0c579e2ed67af6c6d6eae29f61f84d64c3bc8806bc39a1780cb

Package: mysql-common
Source: mysql-5.5
Version: 5.5.33+dfsg-0+wheezy1
Installed-Size: 138
Maintainer: Debian MySQL Maintainers <email address hidden>
Architecture: all
Breaks: amarok (<< 2.5.0-2), mysql-client-5.1 (<< 5.5), mysql-server-5.1 (<< 5.5), mysql-server-core-5.1 (<< 5.5)
Description-en: MySQL database common files, e.g. /etc/mysql/my.cnf
 MySQL is a fast, stable and true multi-user, multi-threaded SQL database
 server. SQL (Structured Query Language) is the most popular database query
 language in the world. The main goals of MySQL are speed, robustness and
 ease of use.
 .
 This package includes files needed by all versions of the client library,
 e.g. /etc/mysql/my.cnf.
Multi-Arch: foreign
Homepage: http://dev.mysql.com/
Description-md5: 562d254c602f89e4390e28f6362283c8
Tag: devel::lang:sql, implemented-in::c, implemented-in::c++, role::app-data,
 works-with::db
Section: database
Priority: optional
Filename: pool/main/m/mysql-5.5/mysql-common_5.5.33+dfsg-0+wheezy1_all.deb
Size: 80306
MD5sum: 53af8dbca74b8fec0385e581c69719a4
SHA1: c82cf204d03a40f687f3caac16e55e8071bfaaf8
SHA256: fc9b675c9cefad254235063241132d12b8a5283668448e44d8a7fbee71af49a8

Please, revert it to the previous version behavior.

I see at least one related bug #1294067

Tags: pkg Edit Tag help

Related branches

lp:~percona-core/percona-server/release-5.5.36-34.1
Merged into lp:percona-server/5.5 at revision 646
Laurynas Biveinis: Approve on 2014-03-27
lp:~percona-core/percona-server/release-5.6.16-64.1
Merged into lp:percona-server at revision 568
Laurynas Biveinis: Approve on 2014-03-26
Timur Bakeyev (timur.bakeyev) wrote :

The same dependency exists in percona-server-common-5.5_5.5.36-rel34.0-632.wheezy_amd64, but due:

Replaces: mariadb-server, mariadb-server-5.5, mariadb-server-core-5.5, mysql-server-5.0, mysql-server-5.1, mysql-server-5.5, mysql-server-core-5.1, percona-server-server-5.1, percona-xtradb-server-5.0
Provides: virtual-mysql-server

in the control file of percona-server-server-5.5_5.5.36-rel34.0-632.wheezy_amd64 the harm was minimal - mysql-common just tried to replace existing /etc/mysql/my.cnf, but dare to ask about it, so wasn't replaced.

See bug #1293867 though.

Changed in percona-server:
assignee: nobody → Alexey Bychko (abychko)
Timur Bakeyev (timur.bakeyev) wrote :

I have to admin, that my diagnostics were incorrect, the root of the problem is not in the 'mysql-common' itself, but in the combination of the packages installed on my system, in particular - zabbix-server-mysql.

Still, the regression exists, just the real cause is it in the different provide sections between two last 5.6 versions:

Package: percona-server-client-5.6
Status: install ok installed
Priority: extra
Section: database
Installed-Size: 37475
Maintainer: Percona Server Development Team <email address hidden>
Architecture: amd64
Source: percona-server-5.6
Version: 5.6.15-rel63.0-519.wheezy
Replaces: mysql-client (<< 5.6.15-rel63.0-519.wheezy), mysql-client-5.0, mysql-client-5.1, mysql-client-core-5.1, percona-server-client-5.1, percona-server-client-5.5, percona-xtradb-client-5.0
Provides: mysql-client, virtual-mysql-client
Depends: debianutils (>= 1.6), libdbi-perl, percona-server-common-5.6 (>= 5.6.15-rel63.0-519.wheezy), libmysqlclient18.1
Conflicts: mysql-client (<< 5.6.15-rel63.0-519.wheezy), mysql-client-5.0, mysql-client-5.1, mysql-client-core-5.1, percona-server-client-5.1, percona-server-client-5.5, percona-xtradb-client-5.0

vs.

Package: percona-server-client-5.6
Source: percona-server-5.6
Version: 5.6.16-64.1-563.wheezy
Architecture: amd64
Maintainer: Percona Server Development Team <email address hidden>
Installed-Size: 38104
Depends: debianutils (>= 1.6), libdbi-perl, percona-server-common-5.6 (>= 5.6.16-64.1-563.wheezy), libperconaserverclient18.1 (>= 5.6.16-64.1-563.wheezy), libc6 (>= 2.11), libgcc1 (>= 1:4.1.1), libncurses5 (>= 5.5-5~), libssl1.0.0 (>= 1.0.0), libstdc++6 (>= 4.1.1), libtinfo5, zlib1g (>= 1:1.1.4)
Breaks: mariadb-client, mariadb-client-5.5, mariadb-client-core-5.5, mysql-client-5.0, mysql-client-5.1, mysql-client-5.5, mysql-client-5.6, mysql-client-core-5.1, percona-server-client-5.1, percona-server-client-5.5, percona-xtradb-client-5.0
Replaces: mariadb-client, mariadb-client-5.5, mariadb-client-core-5.5, mysql-client-5.0, mysql-client-5.1, mysql-client-5.5, mysql-client-5.6, mysql-client-core-5.1, percona-server-client-5.1, percona-server-client-5.5, percona-xtradb-client-5.0
Provides: virtual-mysql-client

In particular, 'provides' section now misses 'mysql-client'. So, in my case, when zabbix-server-mysql requests 'mysql-client' it brings mysql-client-5.5, which kicks off percona-server-*.

So, again, please revert to the previous behavior, so it' would be possible to use percona-server as a full replacement for mysql-server/mariadb-server on Debain.

Timur Bakeyev (timur.bakeyev) wrote :

I can assume, that there is a move towards 'virtual-mysql-client' in the Debian, but ATM:

apt-rdepends -r virtual-mysql-client

virtual-mysql-client
  Reverse Depends: cacti (0.8.8a+dfsg-5+deb7u2)
  Reverse Depends: drupal7 (7.14-2+deb7u2)
  Reverse Depends: jffnms (0.9.3-3)
  Reverse Depends: owncloud-mysql (5.0.14.a+dfsg-1~bpo70+2)
  Reverse Depends: redmine-mysql (1.4.4+dfsg1-2+deb7u1)
  Reverse Depends: roundcube-mysql (0.7.2-9+deb7u1)
  Reverse Depends: simba (0.8.4-4.2)

# apt-rdepends -r mysql-client

mysql-client
  Reverse Depends: audiolink (>= 0.05-1.2)
  Reverse Depends: auth2db-common (0.2.5-2+dfsg-4)
  Reverse Depends: automysqlbackup (2.6+debian.3-1)
  Reverse Depends: bacula-director-mysql (5.2.6+dfsg-9)
  Reverse Depends: beancounter (0.8.10)
  Reverse Depends: cqrlog (1.4.1-1)
  Reverse Depends: dpm-name-server-mysql (1.8.2-1+b2)
  Reverse Depends: dpsyco-mysql (1.0.36)
  Reverse Depends: drupal7 (7.14-2+deb7u2)
  Reverse Depends: frontaccounting (2.2.10-3.1)
  Reverse Depends: jffnms (0.9.3-3)
  Reverse Depends: lfc-server-mysql (1.8.2-1+b2)
  Reverse Depends: libdspam7-drv-mysql (3.10.1+dfsg-11)
  Reverse Depends: movabletype-opensource (5.1.4+dfsg-4+deb7u1)
  Reverse Depends: mysql-testsuite-5.5 (= 5.5.33+dfsg-0+wheezy1)
  Reverse Depends: mysql-workbench (5.2.40+dfsg-2)
  Reverse Depends: ndoutils-nagios3-mysql (1.4b9-1.1+b1)
  Reverse Depends: netmrg (0.20-6.1)
  Reverse Depends: ocsinventory-reports (2.0.5-1.1)
  Reverse Depends: opendnssec-enforcer-mysql (1:1.3.9-5)
  Reverse Depends: owncloud-mysql (5.0.14.a+dfsg-1~bpo70+2)
  Reverse Depends: percona-xtrabackup-20 (2.0.8-587.wheezy)
  Reverse Depends: percona-xtrabackup-test (2.1.8-733-1.wheezy)
  Reverse Depends: phpbb3 (3.0.10-4+deb7u1)
  Reverse Depends: piwi (0.8+20041206-3)
  Reverse Depends: postfix-cluebringer-mysql (2.0.10-1)
  Reverse Depends: postfixadmin (2.3.5-2)
  Reverse Depends: redmine-mysql (1.4.4+dfsg1-2+deb7u1)
  Reverse Depends: roundcube-mysql (0.7.2-9+deb7u1)
  Reverse Depends: rt4-db-mysql (>= 4.0.7-5+deb7u2)
  Reverse Depends: scuttle (0.7.4-8.1)
  Reverse Depends: wordpress (3.6.1+dfsg-1~deb7u1)
  Reverse Depends: zabbix-proxy-mysql (1:2.2.2-1+wheezy)
  Reverse Depends: zabbix-server-mysql (1:2.2.2-1+wheezy)
  Reverse Depends: zoneminder (1.25.0-4)

Some packages have:

Depends: mysql-client | virtual-mysql-client

So appear in both lists, but still, mysql-client is more popular.

tags: added: pkg
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers