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
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Fix Released
Undecided
Alexey Bychko
5.5
Fix Released
Undecided
Alexey Bychko
5.6
Fix Released
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

Related branches

Revision history for this message
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)
Revision history for this message
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.

Revision history for this message
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
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-3109

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.