[MDEV-4199] Installing postfix on CentOS 5.9 requires MariaDB-server Created: 2013-02-23  Updated: 2013-05-13  Resolved: 2013-05-13

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 5.5.29
Fix Version/s: 5.5.31

Type: Bug Priority: Major
Reporter: Tom Parrott Assignee: Sergei Golubchik
Resolution: Fixed Votes: 0
Labels: packaging
Environment:

CentOS 5.9 x86_64



 Description   

Since CentOS 5.9 the postfix package requires the package "mysql".

With the vanilla CentOS mysql packages the "mysql" package is the client.

This means that you only need to install the mysql client to use postfix.

However when using MariaDB or Oracle RPMs the MariaDB-server package provides "mysql".

This means that one must install MariaDB-server to install postfix, whereas not all servers need MariaDB-server, some just need MariaDB-client.



 Comments   
Comment by Tom Parrott [ 2013-02-23 ]

Here is the output from: yum provides mysql

[root@tp ~]# yum provides mysql
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
MySQL-server-5.5.28-1.rhel5.x86_64 : MySQL: a very fast and reliable SQL database server
Repo : infinity-shared
Matched from:
Other : mysql

mysql-5.0.95-3.el5.i386 : MySQL client programs and shared libraries
Repo : base
Matched from:

mysql-5.0.95-3.el5.x86_64 : MySQL client programs and shared libraries
Repo : base
Matched from:

mysql-5.0.95-5.el5_9.i386 : MySQL client programs and shared libraries
Repo : updates
Matched from:

mysql-5.0.95-5.el5_9.x86_64 : MySQL client programs and shared libraries
Repo : updates
Matched from:

MariaDB-Galera-server-5.5.28a-1.x86_64 : MariaDB: a very fast and robust SQL database server
Repo : mariadb
Matched from:
Other : mysql

MariaDB-server-5.5.29-1.x86_64 : MariaDB: a very fast and robust SQL database server
Repo : mariadb
Matched from:
Other : mysql

MariaDB-server-5.5.29-1.x86_64 : MariaDB: a very fast and robust SQL database server
Repo : installed
Matched from:
Other : Provides-match: mysql

Comment by Tom Parrott [ 2013-02-23 ]

Here is the output from rpm -qi --requires postfix:

[root@tp ~]# rpm -qi --requires postfix
Name : postfix Relocations: (not relocatable)
Version : 2.3.3 Vendor: CentOS
Release : 6.el5 Build Date: Wed 09 Jan 2013 04:42:39 UTC
Install Date: Sat 23 Feb 2013 18:34:12 UTC Build Host: builder10.centos.org
Group : System Environment/Daemons Source RPM: postfix-2.3.3-6.el5.src.rpm
Size : 9651254 License: IBM Public License
Signature : DSA/SHA1, Wed 09 Jan 2013 18:55:48 UTC, Key ID a8a447dce8562897
URL : http://www.postfix.org
Summary : Postfix Mail Transport Agent
Description :
Postfix is a Mail Transport Agent (MTA), supporting LDAP, SMTP AUTH (SASL),
TLS
/bin/bash
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/sbin/chkconfig
/sbin/service
/usr/bin/perl
/usr/sbin/alternatives
/usr/sbin/groupadd
/usr/sbin/useradd
config(postfix) = 2:2.3.3-6.el5
cyrus-sasl >= 2.1.10
fileutils
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libcrypto.so.6()(64bit)
libdb-4.3.so()(64bit)
libdl.so.2()(64bit)
liblber-2.3.so.0()(64bit)
libldap-2.3.so.0()(64bit)
libm.so.6()(64bit)
libmysqlclient.so.15()(64bit)
libmysqlclient.so.15(libmysqlclient_15)(64bit)
libnsl.so.1()(64bit)
libnsl.so.1(GLIBC_2.2.5)(64bit)
libpcre.so.0()(64bit)
libresolv.so.2()(64bit)
libresolv.so.2(GLIBC_2.2.5)(64bit)
libsasl2.so.2()(64bit)
libssl.so.6()(64bit)
libz.so.1()(64bit)
mysql
openldap >= 2.0.27
openssl
pcre
perl(File::Find)
perl(Getopt::Std)
perl(IO::File)
perl(strict)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
setup >= 2.5.36-1
sh-utils
textutils

Comment by Elena Stepanova [ 2013-02-26 ]

>> However when using MariaDB or Oracle RPMs the MariaDB-server package provides "mysql".

If Oracle server RPM indeed provides "mysql", I suppose there isn't much we can do: if Oracle's server package provides mysql, so should MariaDB's, otherwise it won't be a proper replacement.

However, as I can see, Oracle's RPM provides "MySQL", not "mysql", and the package names are case-sensitive, right?
If so, possibly we could make our server RPM provide "MySQL" (as Oracle does), while the client or shared package would provide "mysql", as CentOS does. I'll leave it to Sergei to say whether it's possible and reasonable.

Comment by Tom Parrott [ 2013-02-26 ]

Hi Elena,

You are correct, infact Oracle's MySQL-server used to provide "mysql" until very recently, I think it changed either in 5.5.29 or 5.5.30, and now they only provide "MySQL" in the server package.

Oracles approach has actually caused more problems in CentOS 5.9, as the package (for example) postfix that requires "mysql", will not pull in MySQL-client or MySQL-server, and instead installs the vanilla CentOS 5.9 mysql client package.

This is fine until one tries to install the Oracle MySQL-client package on the same server and then you get conflicts because the packages share many of the same files. /usr/bin/mysql for example.

Interestingly in CentOS 6 the postfix package only requires "mysql-libs" rather than "mysql", which means it can pull in MySQL-shared-compat or MariaDB-compat and avoid the whole server/client issue.

I don't know why CentOS/Redhat decided to require "mysql" for postfix in 5.9 but it is causing a lot of problems when trying to using Oracle/MariaDB

Comment by Sergei Golubchik [ 2013-05-13 ]

pushed in 5.5

Generated at Thu Feb 08 06:54:33 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.