--- cauldron/mariadb/current/SPECS/mariadb.spec 2014/02/05 14:08:48 583353 +++ cauldron/mariadb/current/SPECS/mariadb.spec 2014/02/05 14:18:48 583354 @@ -49,18 +49,20 @@ %define mirror http://ftp.osuosl.org/pub/mariadb -%define boostver 1_53_0 - %define muser mysql + +# rule out some useless autodeps in the test suite +%define _requires_exceptions perl(th\\|perl(lib\\|perl(mtr\\|perl(My +%define _provides_exceptions perl(th\\|perl(lib\\|perl(mtr\\|perl(My + Summary: A very fast and reliable SQL database engine Name: mariadb -Version: 5.5.35 -Release: %mkrel 1 +Version: 10.0.7 +Release: %mkrel 0.0 Group: Databases License: GPLv2 with exceptions URL: http://mariadb.org/ Source0: %{mirror}/%{name}-%{version}/kvm-tarbake-jaunty-x86/%{name}-%{version}.tar.gz -Source2: mysqld.sysconfig Source3: my.cnf Source10: mysql.tmpfiles.d Source11: mysqld.service @@ -78,7 +80,7 @@ Patch107: mariadb-5.5-mysql_install_db-quiet.patch # mageia patches -Patch120: mariadb-5.5.25-forgotten-files.patch +Patch121: mariadb-10.0.7-mysqlbug_67018.diff Requires(post): systemd >= %{systemd_required_version} Requires(post): rpm-helper >= 0.24.8-1 @@ -120,24 +122,16 @@ BuildRequires: libaio-devel BuildRequires: pam-devel BuildConflicts: edit-devel - -## internal BOOST sources -Source200: http://download.sourceforge.net/boost/boost_%{boostver}.tar.bz2 -# https://svn.boost.org/trac/boost/ticket/6150 -Patch204: boost-1.50.0-fix-non-utf8-files.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=756005 -# https://svn.boost.org/trac/boost/ticket/6131 -Patch207: boost-1.50.0-foreach.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=783660 -# https://svn.boost.org/trac/boost/ticket/6459 fixed -Patch210: boost-1.50.0-long-double-1.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=828856 -# https://bugzilla.redhat.com/show_bug.cgi?id=828857 -Patch215: boost-1.50.0-pool.patch -Patch216: boost-1.54.0-glibc.patch BuildRequires: python-devel BuildRequires: icu-devel BuildRequires: bzip2-devel +# use system jemalloc libs instead of bundled ones +BuildRequires: jemalloc-devel +# required by oqgraph v3 +BuildRequires: boost-devel +BuildRequires: judy-devel +# required by cassandra +BuildRequires: thrift-devel %description The MariaDB software delivers a very fast, multi-threaded, multi-user, and @@ -157,12 +151,16 @@ - MyISAMMRG Storage Engine - Partition Storage Engine - Perfschema Storage Engine - - XtraDB Storage Engine (InnoDB replacement) + - Percona XtraDB Storage Engine (InnoDB replacement) The following extra storage engines are provided by the mariadb-extra package - OQGraph Storage Engine - Sphinx Storage Engine + - Casandra Storage Engine + - CONNECT handler + - Sequence Storage Engine + - Spider Storage Engine The feedback storage engine is provided by the mariadb-feedback package @@ -171,7 +169,6 @@ The following storage engines are provided in the mariadb-obsolete package - Federated Storage Engine - - InnoDB Storage Engine %package -n mysql-MariaDB Summary: A MySQL drop-in replacement @@ -202,7 +199,14 @@ Conflicts: %{name}-common-core%{_isa} < %{version}-%{release} %description extra -MariaDB oqgraph and sphinx storage engines. +This package provides various storage engines such as: + + - OQGraph Storage Engine + - Sphinx Storage Engine + - Casandra Storage Engine + - CONNECT handler + - Sequence Storage Engine + - Spider Storage Engine %package obsolete Summary: MariaDB obsolete storage engines @@ -212,9 +216,9 @@ Conflicts: mysql-core < 5.5.18 %description obsolete -MariaDB obsolete storage engines. InnoDB and Federated are being replaced by -XtraDB and FederatedX storage engines. These obsolete storage engines are -provided in case you need the vanilla mysql storage engines. +MariaDB obsolete storage engines. Federated are being replaced by XtraDB and +FederatedX storage engines. These obsolete storage engines are provided in +case you need the vanilla mysql storage engines. %package core Summary: Server core binary @@ -274,6 +278,7 @@ Suggests: %{name}%{_isa} >= %{version}-%{release} Provides: mysql-bench = %{version}-%{release} Obsoletes: mysql-bench < %{version}-%{release} +Conflicts: mariadb < 10.0.7 %description bench This package contains MariaDB benchmark scripts and data. @@ -358,10 +363,9 @@ %patch101 -p1 %patch106 -p1 %patch107 -p1 -%patch120 -p1 +%patch121 -p1 mkdir -p Mageia -cp %{SOURCE2} Mageia/mysqld.sysconfig cp %{SOURCE3} Mageia/my.cnf # remove the sql_yacc.cc file so that bison will regenerate it properly, even if it's patched @@ -389,42 +393,11 @@ # fix distribution name sed -i 's/Source distribution/%{_vendor} MariaDB Server/' mysql-test/suite/percona/innodb_sys_index.result -## prep internal BOOST -%setup -q -D -T -b 200 -cd ../boost_%{boostver} -%patch204 -p1 -%patch207 -p2 -%patch210 -p1 -%patch215 -p0 -%patch216 -p1 -cd .. +# static xtradb +perl -pi -e "s|MODULE_ONLY||g" storage/xtradb/CMakeLists.txt %build -pushd ../boost_%{boostver} -## build internal BOOST -%define gcc_ver %(rpm -q --queryformat="%%{VERSION}" gcc) -cat > ./tools/build/v2/user-config.jam << EOF -using gcc : %gcc_ver : gcc : "%optflags -I%{_includedir}/python%{py_ver}" "%optflags -I%{_includedir}/python%{py_ver}" "%ldflags" ; -using python : %py_ver : %{_bindir}/python%{py_ver} : %{_includedir}/python%{py_ver} : %{_libdir} ; -EOF -./bootstrap.sh --with-toolset=gcc --with-icu --prefix=%{_prefix} --libdir=%{_libdir} -./b2 -d+2 -q %{?_smp_mflags} --without-mpi \ - --prefix=%{_prefix} --libdir=%{_libdir} \ - linkflags="%{ldflags} -lpython%{py_ver} -lstdc++ -lm" \ - -sHAVE_ICU=1 \ - link=shared threading=multi debug-symbols=off --layout=system - -## install internal BOOST -./b2 -d+2 -q %{?_smp_mflags} --without-mpi \ - --prefix=%{buildroot}/../boost%{_prefix} --libdir=%{buildroot}/../boost%{_libdir} \ - link=shared \ - install -popd - -## let oqgraph find boost -sed -i '1iSET(BOOST_ROOT %{buildroot}/../boost%{_prefix})' storage/oqgraph/CMakeLists.txt - ## MariaDB %serverbuild export CFLAGS="${CFLAGS:-%{optflags}}" @@ -471,6 +444,8 @@ -DWITHOUT_NDBCLUSTER_STORAGE_ENGINE=1 \ -DWITHOUT_DAEMON_EXAMPLE=1 \ -DWITH_PLUGIN_PBXT=0 \ + -DWITH_XTRADB=1 \ + -DWITHOUT_INNOBASE=1 \ -DFEATURE_SET="community" \ -DRPM=1 \ -DCOMPILATION_COMMENT="%{_vendor} MariaDB Server" @@ -497,7 +472,6 @@ export EXCLUDE_FROM_EOL_CONVERSION="std_data/loaddata7.dat" # install configuration files -install -m0644 Mageia/mysqld.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/mysqld install -m0644 Mageia/my.cnf %{buildroot}%{_sysconfdir}/my.cnf install -m 0644 -D %{SOURCE10} %{buildroot}%{_tmpfilesdir}/mysql.conf @@ -506,8 +480,6 @@ install -m 0755 %{SOURCE13} %{buildroot}%{_sbindir}/mysqld-wait-ready # bork -mv %{buildroot}%{_bindir}/mysqlaccess.conf %{buildroot}%{_sysconfdir}/ -chmod 644 %{buildroot}%{_sysconfdir}/mysqlaccess.conf mv %{buildroot}%{_datadir}/mysql/aclocal %{buildroot}%{_datadir}/aclocal pushd %{buildroot}%{_bindir} @@ -559,11 +531,6 @@ #rm -f %{buildroot}%{_bindir}/mysql_plugin rm -f %{buildroot}%{_libdir}/mysql/plugin/daemon_example.ini -# remove more useless plugins -rm -f %{buildroot}%{_libdir}/mysql/plugin/auth_0x0100.so -rm -f %{buildroot}%{_libdir}/mysql/plugin/auth_test_plugin.so -rm -f %{buildroot}%{_libdir}/mysql/plugin/dialog_examples.so - # no RHEL4 selinux files for us rm -rf %{buildroot}%{_datadir}/mysql/SELinux # no solaris files for us @@ -571,8 +538,6 @@ # no init script for us rm -f %{buildroot}%{_initrddir}/mysql rm -f %{buildroot}%{_initrddir}/mysqld -# no split up config yet -rm -rf %{buildroot}%{_sysconfdir}/my.cnf.d # house cleaning rm -rf %{buildroot}%{_datadir}/info @@ -600,6 +565,12 @@ rm -rf %{buildroot}%{_sysconfdir}/init.d/mysql rm -rf %{buildroot}%{_sysconfdir}/logrotate.d/mysql +# plugin-load-add does not work incrementally, so just disable the loading here for now +perl -pi -e "s|^plugin-load-add|;plugin-load-add|g" \ + %{buildroot}%{_sysconfdir}/my.cnf.d/cassandra.cnf \ + %{buildroot}%{_sysconfdir}/my.cnf.d/connect.cnf \ + %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf + %multiarch_binaries %{buildroot}%{_bindir}/mysql_config %multiarch_includes %{buildroot}%{_includedir}/mysql/my_config.h @@ -709,27 +680,24 @@ %{_libdir}/mysql/plugin/ha_federatedx.so # sql logging plugin %{_libdir}/mysql/plugin/sql_errlog.so -# upstream describes this as "junk" -%{_libdir}/mysql/plugin/adt_null.so -%{_libdir}/mysql/plugin/mypluglib.so -%{_libdir}/mysql/plugin/qa_auth_client.so -%{_libdir}/mysql/plugin/qa_auth_interface.so -%{_libdir}/mysql/plugin/qa_auth_server.so -# example plugins, not usefull at all, removing -#%{_libdir}/mysql/plugin/auth_0x0100.so -#%{_libdir}/mysql/plugin/auth_test_plugin.so -#%{_libdir}/mysql/plugin/dialog_examples.so +# new since 10.x +# %%{_libdir}/mysql/plugin/ha_xtradb.so +%{_libdir}/mysql/plugin/locales.so +%{_libdir}/mysql/plugin/metadata_lock_info.so +%{_libdir}/mysql/plugin/query_response_time.so %files -n mysql-MariaDB %files obsolete -%{_libdir}/mysql/plugin/ha_innodb.so %{_libdir}/mysql/plugin/ha_federated.so %files feedback %{_libdir}/mysql/plugin/feedback.so %files extra +%config(noreplace) %{_sysconfdir}/my.cnf.d/cassandra.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/connect.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf %{_libdir}/mysql/plugin/ha_oqgraph.so %{_libdir}/mysql/plugin/ha_sphinx.so %{_libdir}/mysql/plugin/handlersocket.so @@ -737,9 +705,16 @@ %{_libdir}/mysql/plugin/query_cache_info.so # sphinx has 2 plugins now? odd, but wth %{_libdir}/mysql/plugin/sphinx.so +# new since 10.x +%{_libdir}/mysql/plugin/ha_cassandra.so +%{_libdir}/mysql/plugin/ha_connect.so +%{_libdir}/mysql/plugin/ha_sequence.so +%{_libdir}/mysql/plugin/ha_spider.so +%{_datadir}/mysql/install_spider.sql %files client -%config(noreplace) %{_sysconfdir}/mysqlaccess.conf +%config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf %{_bindir}/msql2mysql %{_bindir}/mysql %{_bindir}/mysqlaccess @@ -784,11 +759,21 @@ %{_mandir}/man1/mysql_client_test_embedded.1* %{_mandir}/man1/mysqltest.1* %{_mandir}/man1/mysqltest_embedded.1* +%{_libdir}/mysql/plugin/adt_null.so +%{_libdir}/mysql/plugin/auth_0x0100.so +%{_libdir}/mysql/plugin/auth_test_plugin.so +%{_libdir}/mysql/plugin/dialog_examples.so +%{_libdir}/mysql/plugin/ha_test_sql_discovery.so +%{_libdir}/mysql/plugin/mypluglib.so +%{_libdir}/mysql/plugin/qa_auth_client.so +%{_libdir}/mysql/plugin/qa_auth_interface.so +%{_libdir}/mysql/plugin/qa_auth_server.so %files core %{_sbindir}/mysqld %files common-core +%config(noreplace) %{_sysconfdir}/my.cnf.d/server.cnf %config(noreplace) %{_sysconfdir}/my.cnf %dir %{_datadir}/mysql %{_datadir}/mysql/english @@ -796,7 +781,7 @@ %files common %doc README COPYING -%config(noreplace) %{_sysconfdir}/sysconfig/mysqld +%dir %{_sysconfdir}/my.cnf.d %{_bindir}/aria_chk %{_bindir}/aria_dump_log %{_bindir}/aria_ftdump @@ -905,7 +890,6 @@ %{_includedir}/mysql/private/atomic/*.h %{_includedir}/mysql/psi/*.h %multiarch %{multiarch_includedir}/mysql/my_config.h -%{_mandir}/man1/comp_err.1* %{_mandir}/man1/mysql_config.1* %{_datadir}/aclocal/mysql.m4 # mysqlservices library is static, because it doesn't contain any code