]> git.pld-linux.org Git - packages/mysql.git/blobdiff - mysql.spec
- rel 4; fix for SECURITY bug that allows any user to crash entire server (also fixes...
[packages/mysql.git] / mysql.spec
index 53dfb892d3a8560665d54a15a3f704983d3df3e3..21183215820bb0e00627b71421a42e7b55e658ae 100644 (file)
@@ -23,7 +23,8 @@
 %bcond_with    tests           # FIXME: don't run correctly
 %bcond_with    ndb             # NDB is now a separate product, this here is broken, so disable it
 
-%define        percona_rel     62.0
+%define                rel     4
+%define                percona_rel     68.0
 %include       /usr/lib/rpm/macros.perl
 Summary:       MySQL: a very fast and reliable SQL database engine
 Summary(de.UTF-8):     MySQL: ist eine SQL-Datenbank
@@ -34,16 +35,16 @@ Summary(ru.UTF-8):  MySQL - быстрый SQL-сервер
 Summary(uk.UTF-8):     MySQL - швидкий SQL-сервер
 Summary(zh_CN.UTF-8):  MySQL数据库服务器
 Name:          mysql
-Version:       5.6.14
-Release:       4
+Version:       5.6.20
+Release:       %{percona_rel}.%{rel}
 License:       GPL + MySQL FLOSS Exception
 Group:         Applications/Databases
 # Source0Download: http://dev.mysql.com/downloads/mysql/5.5.html#downloads
 # Source0:     http://vesta.informatik.rwth-aachen.de/mysql/Downloads/MySQL-5.5/%{name}-%{version}.tar.gz
-Source0:       http://www.percona.com/redir/downloads/Percona-Server-5.6/LATEST/release-%{version}-%{percona_rel}/483/source/Percona-Server-%{version}-rel%{percona_rel}.tar.gz
-# Source0-md5: 2e6b2ce44173784bb8990813e536cf3c
-Source100:     http://www.sphinxsearch.com/files/sphinx-2.1.2-release.tar.gz
-# Source100-md5:       3e828fa58e2e6049f02aa6aef3009d48
+Source0:       http://www.percona.com/downloads/Percona-Server-5.6/LATEST/source/tarball/percona-server-%{version}-%{percona_rel}.tar.gz
+# Source0-md5: 0a22d7a5455498fc5c66d545646f3c06
+Source100:     http://www.sphinxsearch.com/files/sphinx-2.1.9-release.tar.gz
+# Source100-md5:       3b987baa64b9c050c92412a72c4d3059
 Source1:       %{name}.init
 Source2:       %{name}.sysconfig
 Source3:       %{name}.logrotate
@@ -60,8 +61,11 @@ Source14:    my.cnf
 Patch1:                %{name}-versioning.patch
 Patch2:                %{name}hotcopy-5.0-5.5.patch
 Patch3:                bug-67402.patch
+Patch4:                %{name}-no-default-secure-auth.patch
+Patch5:                %{name}-system-libhsclient.patch
 # from fedora
 Patch6:                %{name}-system-users.patch
+Patch7:                bug-73834.patch
 
 Patch9:                %{name}-build.patch
 Patch11:       %{name}-upgrade.patch
@@ -71,24 +75,30 @@ Patch18:    %{name}-sphinx.patch
 Patch19:       %{name}-chain-certs.patch
 # from fedora
 Patch20:       %{name}-dubious-exports.patch
-Patch21:       bison3.patch
+
 Patch22:       bug-66589.patch
+Patch23:       bug-44278.patch
+Patch24:       %{name}-cmake.patch
+Patch25:       %{name}-readline.patch
+Patch26:       mysqldumpslow-clusters.patch
 URL:           http://www.mysql.com/products/community/
 BuildRequires: bison >= 1.875
 BuildRequires: cmake >= 2.6
-BuildRequires: groff
+BuildRequires: readline-devel >= 6.2
 %if "%{pld_release}" == "ac"
 BuildRequires: libstdc++4-devel >= 5:4.0
 %else
 BuildRequires: libstdc++-devel >= 5:4.0
 %endif
-BuildRequires: libtool
+BuildRequires: automake
+BuildRequires: libhsclient-devel
 %{?with_tcpd:BuildRequires:    libwrap-devel}
 BuildRequires: ncurses-devel >= 4.2
 %{?with_ssl:BuildRequires:     openssl-devel >= 0.9.7d}
+BuildRequires: pam-devel
 %{?with_autodeps:BuildRequires:        perl-DBI}
 BuildRequires: perl-devel >= 1:5.6.1
-BuildRequires: readline-devel >= 4.2
+BuildRequires: python-modules
 BuildRequires: rpm-perlprov >= 4.1-13
 BuildRequires: rpmbuild(macros) >= 1.597
 BuildRequires: sed >= 4.0
@@ -118,6 +128,7 @@ Obsoletes:  mysql-server
 Conflicts:     logrotate < 3.8.0
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                _orgname        percona-server
 %define                _libexecdir     %{_sbindir}
 %define                _localstatedir  /var/lib/mysql
 %define                _mysqlhome      /home/services/mysql
@@ -301,6 +312,7 @@ Summary(uk.UTF-8):  MySQL клієнт
 Group:         Applications/Databases
 Requires:      %{name}-charsets = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
+Requires:      readline >= 6.2
 Obsoletes:     MySQL-client
 
 %description client
@@ -484,7 +496,12 @@ This package contains the standard MySQL NDB CPC Daemon.
 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
 
 %prep
-%setup -q -n Percona-Server-%{version}-rel%{percona_rel} %{?with_sphinx:-a100}
+%setup -q -n percona-server-%{version}-%{percona_rel} %{?with_sphinx:-a100}
+
+# we want to use old, mysql compatible client library name
+find . -name CMakeLists.txt -exec sed -i -e 's#perconaserverclient#mysqlclient#g' "{}" ";"
+sed -i -e 's#perconaserverclient#mysqlclient#g' libmysql/libmysql.{ver.in,map} scripts/mysql_config.*
+
 %if %{with sphinx}
 # http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51
 mv sphinx-*/mysqlse storage/sphinx
@@ -493,8 +510,10 @@ mv sphinx-*/mysqlse storage/sphinx
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
-
+%patch4 -p1
+%patch5 -p1
 %patch6 -p1
+%patch7 -p1
 
 %patch9 -p1
 %patch11 -p1
@@ -502,12 +521,16 @@ mv sphinx-*/mysqlse storage/sphinx
 %patch14 -p0
 %patch19 -p1
 %patch20 -p1
-%patch21 -p1
+
 %patch22 -p1
+%patch23 -p1
+%patch24 -p1
+%patch25 -p1
+%patch26 -p1
 
 # to get these files rebuild
-[ -f sql/sql_yacc.cc ] && rm sql/sql_yacc.cc
-[ -f sql/sql_yacc.h ] && rm sql/sql_yacc.h
+[ -f sql/sql_yacc.cc ] && %{__rm} sql/sql_yacc.cc
+[ -f sql/sql_yacc.h ] && %{__rm} sql/sql_yacc.h
 
 # map has more sane versioning that default "global everything" in ver.in
 cp -p libmysql/libmysql.map libmysql/libmysql.ver.in
@@ -526,7 +549,7 @@ cd build
 %{expand:%%define      __cpp   %(echo '%__cpp' | sed -e 's,-gcc,-gcc4,')}
 %endif
 
-%cmake \
+%cmake .. \
        -DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \
        -DCMAKE_C_FLAGS_RELEASE="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
        -DCMAKE_CXX_FLAGS_RELEASE="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
@@ -537,27 +560,26 @@ cd build
        -DINSTALL_LAYOUT=RPM \
        -DINSTALL_LIBDIR=%{_lib} \
        -DINSTALL_MYSQLTESTDIR_RPM="" \
-       -DINSTALL_PLUGINDIR=%{_libdir}/%{name}/plugin \
+       -DINSTALL_PLUGINDIR=%{_lib}/%{name}/plugin \
        -DINSTALL_SQLBENCHDIR=%{_datadir} \
-       -DINSTALL_SUPPORTFILESDIR=%{_datadir}/%{name}-support \
+       -DINSTALL_SUPPORTFILESDIR=share/%{_orgname}-support \
+       -DINSTALL_MYSQLSHAREDIR=share/%{_orgname} \
        -DMYSQL_UNIX_ADDR=/var/lib/%{name}/%{name}.sock \
        %{?debug:-DWITH_DEBUG=ON} \
        -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
        -DWITH_FAST_MUTEXES=ON \
-       -DWITH_LIBEDIT=OFF \
        -DWITH_LIBWRAP=%{?with_tcpd:ON}%{!?with_tcpd:OFF} \
        -DWITH_PAM=ON \
        -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
        -DWITH_PIC=ON \
-       -DWITH_READLINE=OFF \
+       -DWITH_EDITLINE=system \
 %if "%{pld_release}" == "ac"
        -DWITH_SSL=%{?with_ssl:bundled}%{!?with_ssl:no} \
 %else
        -DWITH_SSL=%{?with_ssl:system}%{!?with_ssl:no} \
 %endif
        -DWITH_UNIT_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \
-       -DWITH_ZLIB=system \
-       ..
+       -DWITH_ZLIB=system
 
 %{__make}
 
@@ -591,7 +613,7 @@ touch $RPM_BUILD_ROOT/var/log/%{name}/{mysqld,query,slow}.log
 cp mysqld.conf mysqld.tmp
 awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
 
-cp -a mysqld.conf $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.conf
+cp -a mysqld.conf $RPM_BUILD_ROOT%{_datadir}/%{_orgname}/mysqld.conf
 cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/mysql-client.conf
 ln -s mysql-client.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/my.cnf
 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/skel/.my.cnf
@@ -611,7 +633,7 @@ sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
 sed -i -e '/libs/s/-lprobes_mysql//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
 
 # remove known unpackaged files
-%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql-support
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{_orgname}-support
 
 # rename not to be so generic name
 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump
@@ -624,9 +646,9 @@ mv $RPM_BUILD_ROOT{%{_bindir},%{_sysconfdir}}/mysqlaccess.conf
 %{!?debug:%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
 %{!?debug:%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1}
 # generate symbols file, so one can generate backtrace using it
-# mysql_resolve_stack_dump -s %{_datadir}/%{name}/mysqld.sym -n mysqld.stack.
+# mysql_resolve_stack_dump -s %{_datadir}/%{_orgname}/mysqld.sym -n mysqld.stack.
 # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html
-%{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.sym}
+%{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/%{_orgname}/mysqld.sym}
 
 # do not clobber users $PATH
 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_plugin
@@ -645,10 +667,10 @@ mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck
 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
-#rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate
-#rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server
-#rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg-utf8.txt
+#rm $RPM_BUILD_ROOT%{_datadir}/%{_orgname}/mysql-log-rotate
+#rm $RPM_BUILD_ROOT%{_datadir}/%{_orgname}/mysql.server
+#rm $RPM_BUILD_ROOT%{_datadir}/%{_orgname}/binary-configure
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{_orgname}/errmsg-utf8.txt
 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1*
 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
@@ -780,7 +802,7 @@ done
 
 %banner -e %{name}-4.1.x <<-EOF
        If you want to use new help tables in MySQL 4.1.x then You'll need to import the help data:
-       mysql -u mysql mysql < %{_datadir}/%{name}/fill_help_tables.sql
+       mysql -u mysql mysql < %{_datadir}/%{_orgname}/fill_help_tables.sql
 EOF
 #'
 
@@ -886,6 +908,7 @@ done
 %dir %{_libdir}/%{name}
 %dir %{_libdir}/%{name}/plugin
 %attr(755,root,root) %{_libdir}/%{name}/plugin/adt_null.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/audit_log.so
 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth.so
 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam.so
 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam_compat.so
@@ -895,10 +918,15 @@ done
 #%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_archive.so
 #%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_blackhole.so
 #%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_federated.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/handlersocket.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libfnv1a_udf.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libfnv_udf.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libmurmur_udf.so
 %attr(755,root,root) %{_libdir}/%{name}/plugin/mypluglib.so
 %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_client.so
 %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_interface.so
 %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_server.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/scalability_metrics.so
 %attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_master.so
 %attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_slave.so
 %attr(755,root,root) %{_libdir}/%{name}/plugin/validate_password.so
@@ -920,7 +948,7 @@ done
 
 %if %{?debug:1}0
 %attr(755,root,root) %{_bindir}/*resolve_stack_dump
-%{_datadir}/%{name}/mysqld.sym
+%{_datadir}/%{_orgname}/mysqld.sym
 %{_mandir}/man1/*resolve_stack_dump.1*
 %endif
 
@@ -932,45 +960,45 @@ done
 %attr(640,mysql,mysql) %ghost /var/log/mysql/*
 
 # This is template for configuration file which is created after 'service mysql init'
-%{_datadir}/%{name}/mysqld.conf
-%{_datadir}/%{name}/mysql_security_commands.sql
-%{_datadir}/%{name}/mysql_system_tables_data.sql
-%{_datadir}/%{name}/mysql_system_tables.sql
-%{_datadir}/%{name}/mysql_test_data_timezone.sql
-
-%{_datadir}/%{name}/english
-%{_datadir}/%{name}/dictionary.txt
-%{_datadir}/%{name}/fill_help_tables.sql
-%{_datadir}/%{name}/innodb_memcached_config.sql
-#%{_datadir}/%{name}/mysql_fix_privilege_tables.sql
-%lang(bg) %{_datadir}/%{name}/bulgarian
-%lang(cs) %{_datadir}/%{name}/czech
-%lang(da) %{_datadir}/%{name}/danish
-%lang(de) %{_datadir}/%{name}/german
-%lang(el) %{_datadir}/%{name}/greek
-%lang(es) %{_datadir}/%{name}/spanish
-%lang(et) %{_datadir}/%{name}/estonian
-%lang(fr) %{_datadir}/%{name}/french
-%lang(hu) %{_datadir}/%{name}/hungarian
-%lang(it) %{_datadir}/%{name}/italian
-%lang(ja) %{_datadir}/%{name}/japanese
-%lang(ko) %{_datadir}/%{name}/korean
-%lang(nl) %{_datadir}/%{name}/dutch
-%lang(nb) %{_datadir}/%{name}/norwegian
-%lang(nn) %{_datadir}/%{name}/norwegian-ny
-%lang(pl) %{_datadir}/%{name}/polish
-%lang(pt) %{_datadir}/%{name}/portuguese
-%lang(ro) %{_datadir}/%{name}/romanian
-%lang(ru) %{_datadir}/%{name}/russian
-%lang(sr) %{_datadir}/%{name}/serbian
-%lang(sk) %{_datadir}/%{name}/slovak
-%lang(sv) %{_datadir}/%{name}/swedish
-%lang(uk) %{_datadir}/%{name}/ukrainian
+%{_datadir}/%{_orgname}/mysqld.conf
+%{_datadir}/%{_orgname}/mysql_security_commands.sql
+%{_datadir}/%{_orgname}/mysql_system_tables_data.sql
+%{_datadir}/%{_orgname}/mysql_system_tables.sql
+%{_datadir}/%{_orgname}/mysql_test_data_timezone.sql
+
+%{_datadir}/%{_orgname}/english
+%{_datadir}/%{_orgname}/dictionary.txt
+%{_datadir}/%{_orgname}/fill_help_tables.sql
+%{_datadir}/%{_orgname}/innodb_memcached_config.sql
+#%{_datadir}/%{_orgname}/mysql_fix_privilege_tables.sql
+%lang(bg) %{_datadir}/%{_orgname}/bulgarian
+%lang(cs) %{_datadir}/%{_orgname}/czech
+%lang(da) %{_datadir}/%{_orgname}/danish
+%lang(de) %{_datadir}/%{_orgname}/german
+%lang(el) %{_datadir}/%{_orgname}/greek
+%lang(es) %{_datadir}/%{_orgname}/spanish
+%lang(et) %{_datadir}/%{_orgname}/estonian
+%lang(fr) %{_datadir}/%{_orgname}/french
+%lang(hu) %{_datadir}/%{_orgname}/hungarian
+%lang(it) %{_datadir}/%{_orgname}/italian
+%lang(ja) %{_datadir}/%{_orgname}/japanese
+%lang(ko) %{_datadir}/%{_orgname}/korean
+%lang(nl) %{_datadir}/%{_orgname}/dutch
+%lang(nb) %{_datadir}/%{_orgname}/norwegian
+%lang(nn) %{_datadir}/%{_orgname}/norwegian-ny
+%lang(pl) %{_datadir}/%{_orgname}/polish
+%lang(pt) %{_datadir}/%{_orgname}/portuguese
+%lang(ro) %{_datadir}/%{_orgname}/romanian
+%lang(ru) %{_datadir}/%{_orgname}/russian
+%lang(sr) %{_datadir}/%{_orgname}/serbian
+%lang(sk) %{_datadir}/%{_orgname}/slovak
+%lang(sv) %{_datadir}/%{_orgname}/swedish
+%lang(uk) %{_datadir}/%{_orgname}/ukrainian
 
 %files charsets
 %defattr(644,root,root,755)
-%dir %{_datadir}/mysql
-%{_datadir}/%{name}/charsets
+%dir %{_datadir}/%{_orgname}
+%{_datadir}/%{_orgname}/charsets
 
 %files extras
 %defattr(644,root,root,755)
This page took 0.146081 seconds and 4 git commands to generate.