Adjust Conflicts and Obsoletes, various spec cleanups

This commit is contained in:
Andrey Bondrov 2014-05-27 18:43:57 +11:00
parent 64b9b49b3c
commit 051eb3bbbd

View file

@ -1,25 +1,28 @@
%define beta %{nil}
%define scmrev %{nil}
%define libmajor 18
%define muser mysql
Name: mariadb
Version: 10.0.11
Release: 2
Source0: http://mirrors.n-ix.net/mariadb/mariadb-%{version}/source/mariadb-%{version}.tar.gz
Source100: mysqld.service
Source101: mysqld-prepare-db-dir
Source102: mysqld-wait-ready
Source1000: %{name}.rpmlintrc
%define major 18
%define libmysqlclient %mklibname mysqlclient %{major}
%define libmysqlclient_r %mklibname mysqlclient_r %{major}
%define libmysqld %mklibname mysqld %{major}
%define devname %mklibname mysqlclient -d
%define sdevname %mklibname mysqlclient -d -s
%define semddevname %mklibname mysqld -d -s
Summary: The MariaDB database, a drop-in replacement for MySQL
Name: mariadb
Version: 10.0.11
Release: 2
License: GPLv2+
Group: System/Servers
Url: http://mariadb.org/
Source0: http://mirrors.n-ix.net/mariadb/mariadb-%{version}/source/mariadb-%{version}.tar.gz
Source100: mysqld.service
Source101: mysqld-prepare-db-dir
Source102: mysqld-wait-ready
Source1000: %{name}.rpmlintrc
# Don't strip -Wformat from --cflags -- -Werror=format-string without -Wformat
# means trouble
Patch0: mariadb-10.0.8-fix-mysql_config.patch
Summary: The MariaDB database, a drop-in replacement for MySQL
URL: http://mariadb.org/
License: GPL
Group: System/Servers
Requires: %{name}-server = %{EVRD}
Requires: %{name}-client = %{EVRD}
Patch0: mariadb-10.0.8-fix-mysql_config.patch
BuildRequires: bison
BuildRequires: cmake
BuildRequires: dos2unix
@ -27,92 +30,129 @@ BuildRequires: doxygen
BuildRequires: python
BuildRequires: systemd-units
BuildRequires: systemtap
BuildRequires: libaio-devel
BuildRequires: stdc++-devel
BuildRequires: readline-devel
BuildRequires: xfsprogs-devel
# For plugin/ha_oqgraph.so
BuildRequires: boost-devel
BuildRequires: jemalloc-devel
BuildRequires: libaio-devel
# For plugin/auth_pam.so
BuildRequires: pam-devel
BuildRequires: readline-devel
BuildRequires: stdc++-devel
BuildRequires: wrap-devel
BuildRequires: xfsprogs-devel
BuildRequires: pkgconfig(libevent)
BuildRequires: pkgconfig(ncursesw)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(zlib)
BuildRequires: pkgconfig(libevent)
BuildRequires: wrap-devel
# For plugin/auth_pam.so
BuildRequires: pam-devel
# For plugin/ha_oqgraph.so
BuildRequires: boost-devel
Obsoletes: mysql < 5.7
Provides: mysql = 5.7
Requires: %{name}-server = %{EVRD}
Requires: %{name}-client = %{EVRD}
Obsoletes: mysql < 5.7
Provides: mysql = 5.7
%description
The MariaDB database, a drop-in replacement for MySQL.
%libpackage mysqlclient %{libmajor}
%{_libdir}/libmysqlclient_r.so.%{libmajor}*
%files
# meta package
%libpackage mysqld %{libmajor}
#----------------------------------------------------------------------------
%define devpackage %mklibname -d mysqlclient
%package -n %{libmysqlclient}
Summary: Shared library for MariaDB database
Group: System/Libraries
%package -n %{devpackage}
Summary: Development files for the MariaDB database
Provides: %{name}-devel = %{EVRD}
Provides: %{mklibname -d mysqlclient_r} = %{EVRD}
Provides: %{mklibname -d mysqld} = %{EVRD}
Requires: %{mklibname mysqlclient 18} = %{EVRD}
Requires: %{mklibname mysqld 18} = %{EVRD}
Requires: %{name}-common = %{EVRD}
Obsoletes: %{mklibname -d mysql} < %{EVRD}
Provides: %{mklibname -d mysql} = %{EVRD}
%rename mysql-devel
Group: Development/Other
%description -n %{libmysqlclient}
Shared library for MariaDB database.
%description -n %{devpackage}
%files -n %{libmysqlclient}
%{_libdir}/libmysqlclient.so.%{major}*
#----------------------------------------------------------------------------
%package -n %{libmysqlclient_r}
Summary: Shared library for MariaDB database
Group: System/Libraries
%description -n %{libmysqlclient_r}
Shared library for MariaDB database.
%files -n %{libmysqlclient_r}
%{_libdir}/libmysqlclient_r.so.%{major}*
#----------------------------------------------------------------------------
%package -n %{libmysqld}
Summary: Shared library for MariaDB database
Group: System/Libraries
%description -n %{libmysqld}
Shared library for MariaDB database.
%files -n %{libmysqld}
%{_libdir}/libmysqld.so.%{major}*
#----------------------------------------------------------------------------
%package -n %{devname}
Summary: Development files for the MariaDB database
Group: Development/Other
Requires: %{libmysqlclient} = %{EVRD}
Requires: %{libmysqlclient_r} = %{EVRD}
Requires: %{libmysqld} = %{EVRD}
Requires: %{name}-common = %{EVRD}
Provides: %{name}-devel = %{EVRD}
Obsoletes: %{_lib}mysql-devel < 5.7
Provides: %{_lib}mysql-devel = 5.7
%description -n %{devname}
Development files for the MariaDB database.
%files -n %{devpackage}
%files -n %{devname}
%{_includedir}/mysql
%{_libdir}/*.so
%{_datadir}/aclocal/mysql.m4
%define staticpackage %mklibname -d -s mysqlclient
#----------------------------------------------------------------------------
%package -n %{staticpackage}
Summary: Static libraries for the MariaDB database
Requires: %{devpackage} = %{EVRD}
Provides: %{name}-static-devel = %{EVRD}
Group: Development/Other
Obsoletes: mysql-static-devel < 5.7
Provides: mysql-static-devel = 5.7
%package -n %{sdevname}
Summary: Static libraries for the MariaDB database
Group: Development/Other
Requires: %{devname} = %{EVRD}
Provides: %{name}-static-devel = %{EVRD}
Conflicts: mysql-static-devel < 5.7
Obsoletes: mysql-static-devel < 5.7
Provides: mysql-static-devel = 5.7
%description -n %{staticpackage}
%description -n %{sdevname}
Static libraries for the MariaDB database.
%files -n %{staticpackage}
%files -n %{sdevname}
%{_libdir}/libmysqlclient.a
%{_libdir}/libmysqlclient_r.a
%{_libdir}/libmysqlservices.a
%define staticembpackage %mklibname -d -s mysqld
#----------------------------------------------------------------------------
%package -n %{staticembpackage}
Summary: Static libraries for the Embedded MariaDB database
Provides: %{name}-embedded-static-devel = %{EVRD}
Group: Development/Other
Requires: %{staticpackage} = %{EVRD}
%package -n %{semddevname}
Summary: Static libraries for the Embedded MariaDB database
Group: Development/Other
Provides: %{name}-embedded-static-devel = %{EVRD}
Requires: %{sdevname} = %{EVRD}
%description -n %{staticembpackage}
Static libraries for the Embedded MariaDB database
%description -n %{semddevname}
Static libraries for the Embedded MariaDB database.
%files -n %{staticembpackage}
%files -n %{semddevname}
%{_libdir}/libmysqld.a
#----------------------------------------------------------------------------
%package plugin
Summary: MariaDB plugins
Group: Databases
Obsoletes: mysql-plugin < 5.7
Provides: mysql-plugin = 5.7
Conflicts: mysql-server <= 5.5.30-3
Summary: MariaDB plugins
Group: Databases
Conflicts: mysql-server < 5.7
Obsoletes: mysql-plugin < 5.7
Provides: mysql-plugin = 5.7
%description plugin
Plugins for the MariaDB database.
@ -155,10 +195,12 @@ Plugins for the MariaDB database.
%{_libdir}/mysql/plugin/sql_errlog.so
%{_mandir}/man1/mysql_plugin.1*
#----------------------------------------------------------------------------
%package plugin-tokudb
Summary: The TokuDB storage engine plugin for MariaDB
Requires: %{name}-server = %{EVRD}
Group: Databases
Summary: The TokuDB storage engine plugin for MariaDB
Group: Databases
Requires: %{name}-server = %{EVRD}
%description plugin-tokudb
The TokuDB storage engine plugin for MariaDB.
@ -178,11 +220,18 @@ for both hard disk drives and flash memory.
%{_bindir}/tokuftdump
%endif
#----------------------------------------------------------------------------
%package test
Summary: MariaDB test suite
Group: System/Servers
Obsoletes: mysql-test < 5.7
Provides: mysql-test = 5.7
Summary: MariaDB test suite
Group: Databases
Conflicts: mysql-bench < 5.7
Conflicts: mysql-server < 5.7
Conflicts: mysql-test < 5.7
Obsoletes: mysql-bench < 5.7
Obsoletes: mysql-test < 5.7
Provides: mysql-bench = 5.7
Provides: mysql-test = 5.7
%description test
MariaDB test suite.
@ -200,14 +249,17 @@ MariaDB test suite.
%{_mandir}/man1/mysqltest.1*
%{_mandir}/man1/mysqltest_embedded.1*
#----------------------------------------------------------------------------
%package server
Summary: MariaDB server
Group: System/Servers
Requires: %{name}-common = %{EVRD}
Requires: %{name}-plugin = %{EVRD}
Obsoletes: mysql-server < 5.7
Provides: mysql-server = 5.7
Requires(post,preun): rpm-helper
Summary: MariaDB server
Group: System/Servers
Requires: %{name}-common = %{EVRD}
Requires: %{name}-plugin = %{EVRD}
Conflicts: mysql-server < 5.7
Obsoletes: mysql-server < 5.7
Provides: mysql-server = 5.7
Requires(post,preun): rpm-helper
%description server
The MariaDB server. For a full MariaDB database server, install
@ -300,9 +352,13 @@ package '%{name}'.
%{_mandir}/man1/resolve_stack_dump.1*
%{_mandir}/man1/resolveip.1*
#----------------------------------------------------------------------------
%package msql2mysql
Summary: Tool to convert code written for mSQL to MySQL/MariaDB
Group: Development/Other
Summary: Tool to convert code written for mSQL to MySQL/MariaDB
Group: Development/Other
Conflicts: mysql-client < 5.7
Conflicts: mysql-cluster-client
%description msql2mysql
Tool to convert code written for mSQL to MySQL/MariaDB.
@ -311,12 +367,14 @@ Tool to convert code written for mSQL to MySQL/MariaDB.
%{_bindir}/msql2mysql
%{_mandir}/man1/msql2mysql.1*
#----------------------------------------------------------------------------
%package common
Summary: Common files needed by both the MariaDB server and client
Group: System/Servers
BuildArch: noarch
Obsoletes: mysql-common < 5.7
Provides: mysql-common = 5.7
Summary: Common files needed by both the MariaDB server and client
Group: System/Servers
Obsoletes: mysql-common < 5.7
Provides: mysql-common = 5.7
BuildArch: noarch
%description common
Common files needed by both the MariaDB server and client.
@ -355,12 +413,15 @@ Common files needed by both the MariaDB server and client.
# it, e.g. php)
%{_bindir}/mysql_config
#----------------------------------------------------------------------------
%package client
Summary: MariaDB command line client
Group: Databases
Obsoletes: mysql-client < 5.7
Provides: mysql-client = 5.7
Conflicts: mysql-server <= 5.5.30-3
Summary: MariaDB command line client
Group: Databases
Conflicts: mysql-server < 5.7
Conflicts: mysql-client < 5.7
Obsoletes: mysql-client < 5.7
Provides: mysql-client = 5.7
%description client
MariaDB command line client.
@ -394,6 +455,8 @@ MariaDB command line client.
%{_mandir}/man1/mysql_waitpid.1*
%{_mandir}/man1/my_print_defaults.1*
#----------------------------------------------------------------------------
%prep
%setup -q
%apply_patches
@ -459,5 +522,3 @@ rm -f %{buildroot}%{_datadir}/mysql/config.huge.ini \
%{buildroot}%{_datadir}/mysql/SELinux/RHEL4/mysql.fc \
%{buildroot}%{_datadir}/mysql/SELinux/RHEL4/mysql.te
%files
# meta package