X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=mysql.spec;h=ff981c16d3ec206c8170e95fcef9095986061b21;hb=9c2f854;hp=d32bdfcedcacc3495872da2f378612d0f5345b76;hpb=a4082aa8af6c067c1452bc102fcf5a7fa50e3679;p=packages%2Fmysql.git diff --git a/mysql.spec b/mysql.spec index d32bdfc..ff981c1 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,4 @@ # TODO: -# - make response_time_distribution.patch compatible with i386 alpha sparc ppc arches # - mysqldump ... (invalid usage) prints to stdout not stderr (idiotic if you want to create dump and get usage in .sql) # - http://bugs.mysql.com/bug.php?id=16470 # - innodb are dynamic (= as plugins) ? @@ -12,18 +11,19 @@ # (profiling disabled temporaily to workaround this) # # Conditional build: -%bcond_with autodeps # BR packages needed only for resolving deps %bcond_without innodb # InnoDB storage engine support %bcond_without big_tables # Support tables with more than 4G rows even on 32 bit platforms %bcond_without federated # Federated storage engine support %bcond_without raid # RAID support %bcond_without ssl # OpenSSL support +%bcond_without systemtap # systemtap/dtrace probes %bcond_without tcpd # libwrap (tcp_wrappers) support %bcond_without sphinx # Sphinx storage engine support -%bcond_with tests # FIXME: don't run correctly +# mysql needs boost 1.59.0 and doesn't support newer/older boost versions +%bcond_with system_boost +%bcond_without tests # run test suite %bcond_with ndb # NDB is now a separate product, this here is broken, so disable it -%define percona_rel 30.3 %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 +34,18 @@ Summary(ru.UTF-8): MySQL - быстрый SQL-сервер Summary(uk.UTF-8): MySQL - швидкий SQL-сервер Summary(zh_CN.UTF-8): MySQL数据库服务器 Name: mysql -Version: 5.5.31 -Release: 2 +Version: 5.7.21 +Release: 3 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.5/LATEST/source/Percona-Server-%{version}-rel%{percona_rel}.tar.gz -# Source0-md5: 702f4869b97cec5de8531954291a6b74 -Source100: http://www.sphinxsearch.com/files/sphinx-2.0.8-release.tar.gz -# Source100-md5: bcaf0af0ba403a43b9ef3af6f9599cb4 +Source0: http://cdn.mysql.com/Downloads/MySQL-5.7/%{name}-%{version}.tar.gz +# Source0-md5: e26523b174bdc3fd0fde6f36791ce17e +Source100: http://www.sphinxsearch.com/files/sphinx-2.2.11-release.tar.gz +# Source100-md5: 5cac34f3d78a9d612ca4301abfcbd666 +%if %{without system_boost} +Source101: http://downloads.sourceforge.net/boost/boost_1_59_0.tar.bz2 +# Source101-md5: 6aa9a5c6a4ca1016edd0ed1178e3cb87 +%endif Source1: %{name}.init Source2: %{name}.sysconfig Source3: %{name}.logrotate @@ -57,42 +59,39 @@ Source11: %{name}-ndb-cpc.init Source12: %{name}-ndb-cpc.sysconfig Source13: %{name}-client.conf Source14: my.cnf -# from fedora -Source15: lib%{name}.version - -Patch2: mysqlhotcopy-5.0-5.5.patch -Patch3: bug-67402.patch -# from fedora -Patch6: %{name}-system-users.patch - -Patch8: %{name}-client-config.patch -Patch9: %{name}-build.patch -Patch11: %{name}-upgrade.patch -Patch12: %{name}-config.patch -Patch14: %{name}-bug-43594.patch +Patch0: %{name}-opt.patch +Patch1: lz4.patch + +Patch17: %{name}-5.7-sphinx.patch Patch18: %{name}-sphinx.patch Patch19: %{name}-chain-certs.patch -# from fedora -Patch20: %{name}-dubious-exports.patch + +Patch24: %{name}-cmake.patch +Patch25: %{name}-readline.patch + +Patch26: %{name}dumpslow-clusters.patch URL: http://www.mysql.com/products/community/ -BuildRequires: bison -BuildRequires: cmake >= 2.6 -BuildRequires: groff -%if "%{pld_release}" == "ac" -BuildRequires: libstdc++4-devel >= 5:4.0 -%else +BuildRequires: bison >= 1.875 +%{?with_system_boost:BuildRequires: boost-devel >= 1.59.0} +BuildRequires: cmake >= 2.8.2 +BuildRequires: libaio-devel +BuildRequires: libevent-devel +BuildRequires: libhsclient-devel BuildRequires: libstdc++-devel >= 5:4.0 -%endif -BuildRequires: libtool %{?with_tcpd:BuildRequires: libwrap-devel} +BuildRequires: lz4-devel +BuildRequires: mecab-devel BuildRequires: ncurses-devel >= 4.2 %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d} -%{?with_autodeps:BuildRequires: perl-DBI} +BuildRequires: pam-devel BuildRequires: perl-devel >= 1:5.6.1 -BuildRequires: readline-devel >= 4.2 +BuildRequires: protobuf-devel >= 2.5 +BuildRequires: python-modules +BuildRequires: readline-devel >= 6.2 BuildRequires: rpm-perlprov >= 4.1-13 BuildRequires: rpmbuild(macros) >= 1.597 BuildRequires: sed >= 4.0 +%{?with_systemtap:BuildRequires: systemtap-sdt-devel} BuildRequires: zlib-devel Requires(post,preun): /sbin/chkconfig Requires(postun): /usr/sbin/groupdel @@ -227,6 +226,9 @@ MySQL - це SQL (Structured Query Language) сервер бази даних. M Summary: MySQL - character sets definitions Summary(pl.UTF-8): MySQL - definicje kodowań znaków Group: Applications/Databases +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description charsets This package contains character sets definitions needed by both client @@ -236,32 +238,6 @@ and server. Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i klienta. -%package -n mysqlhotcopy -Summary: mysqlhotcopy - A MySQL database backup program -Summary(pl.UTF-8): mysqlhotcopy - program do tworzenia kopii zapasowych baz MySQL -Group: Applications/Databases -Requires: perl-DBD-mysql - -%description -n mysqlhotcopy -mysqlhotcopy uses LOCK TABLES, FLUSH TABLES, and cp or scp to make a -database backup quickly. It is the fastest way to make a backup of the -database or single tables, but it can be run only on the same machine -where the database directories are located. mysqlhotcopy works only -for backing up MyISAM and ARCHIVE tables. - -See innobackup package to backup InnoDB tables. - -%description -n mysqlhotcopy -l pl.UTF-8 -mysqlhotcopy wykorzystuje LOCK TABLES, FLUSH TABLES oraz cp i scp do -szybkiego tworzenia kopii zapasowych baz danych. Jest to najszybszy -sposób wykonania kopii zapasowej bazy danych lub pojedynczych tabel, -ale może działać tylko na maszynie, na której znajdują się katalogi z -bazą danych. mysqlhotcopy działa tylko dla tabel typu MyISAM i -ARCHIVE. - -Narzędzie do tworzenia kopii tabel InnoDB znajduje się w pakiecie -innobackup. - %package extras Summary: MySQL additional utilities Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL @@ -282,9 +258,7 @@ Summary: MySQL additional utilities written in Perl Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL napisane w Perlu Group: Applications/Databases Requires: %{name}-extras = %{version}-%{release} -# this is just for the sake of smooth upgrade, not to break systems -Requires: mysqlhotcopy = %{version}-%{release} -Requires: perl(DBD::mysql) +Requires: perl-DBD-mysql %description extras-perl MySQL additional utilities written in Perl. @@ -301,6 +275,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 @@ -342,10 +317,11 @@ Summary(ru.UTF-8): MySQL - хедеры и библиотеки разработ Summary(uk.UTF-8): MySQL - хедери та бібліотеки програміста Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} -%{?with_ssl:Requires: openssl-devel} +%{?with_ssl:Requires: openssl-devel} Requires: zlib-devel Obsoletes: MySQL-devel Obsoletes: libmysql10-devel +Obsoletes: webscalesql-devel %description devel This package contains the development header files and other files @@ -404,7 +380,7 @@ Summary(uk.UTF-8): MySQL - бенчмарки Group: Applications/Databases Requires: %{name} = %{version}-%{release} Requires: %{name}-client -Requires: perl(DBD::mysql) +Requires: perl-DBD-mysql Obsoletes: MySQL-bench %description bench @@ -484,29 +460,33 @@ 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 %{?with_sphinx:-a100} %{!?with_system_boost:-a101} + +%patch0 -p1 +%patch1 -p1 + %if %{with sphinx} # http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51 mv sphinx-*/mysqlse storage/sphinx +%patch17 -p1 %patch18 -p1 %endif -%patch2 -p1 -%patch3 -p1 +# really not fixed? verify +%patch19 -p1 -%patch6 -p1 +%patch24 -p1 +%patch25 -p1 -%patch8 -p1 -%patch9 -p1 -%patch11 -p1 -%patch12 -p1 -%patch14 -p0 -%patch19 -p1 -%patch20 -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 + +# ensure sytstem lib +# need to keep xxhash.[ch] +%{__rm} -rv extra/lz4/lz4** %build install -d build @@ -515,48 +495,38 @@ cd build # (it defaults to first cluster but user may change it to whatever # cluster it wants) -%if "%{pld_release}" == "ac" -# add suffix, but allow ccache, etc in ~/.rpmmacros -%{expand:%%define __cc %(echo '%__cc' | sed -e 's,-gcc,-gcc4,')} -%{expand:%%define __cxx %(echo '%__cxx' | sed -e 's,-g++,-g++4,')} -%{expand:%%define __cpp %(echo '%__cpp' | sed -e 's,-gcc,-gcc4,')} -%endif - -# upstream has fallen down badly on symbol versioning, do it ourselves -install -d libmysql -cp -a %{SOURCE15} libmysql/libmysql.version - -%cmake \ +CPPFLAGS="%{rpmcppflags}" \ +%cmake .. \ -DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \ + -DCMAKE_C_FLAGS_RELWITHDEBINFO="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \ + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \ + -DCOMPILATION_COMMENT="PLD/Linux Distribution MySQL RPM" \ + -DCURSES_INCLUDE_PATH=/usr/include/ncurses \ + %{?with_systemtap:-DENABLE_DTRACE=ON} \ -DFEATURE_SET="community" \ - -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" \ + -DINSTALL_LAYOUT=RPM \ + -DINSTALL_LIBDIR=%{_lib} \ + -DINSTALL_MYSQLTESTDIR_RPM="" \ + -DINSTALL_PLUGINDIR=%{_lib}/%{name}/plugin \ + -DINSTALL_SQLBENCHDIR=%{_datadir} \ + -DINSTALL_SUPPORTFILESDIR=share/%{name}-support \ + -DINSTALL_MYSQLSHAREDIR=share/%{name} \ + -DMYSQL_UNIX_ADDR=/var/lib/%{name}/%{name}.sock \ + %{?debug:-DWITH_DEBUG=ON} \ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ + -DWITH_LIBWRAP=%{?with_tcpd:ON}%{!?with_tcpd:OFF} \ -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ - %{?debug:-DWITH_DEBUG=ON} \ - -DWITH_FAST_MUTEXES=ON \ -DWITH_PIC=ON \ - -DWITH_LIBEDIT=OFF \ - -DWITH_READLINE=OFF \ -%if "%{pld_release}" == "ac" - -DWITH_SSL=%{?with_ssl:bundled}%{!?with_ssl:no} \ -%else + -DWITH_LZ4=system \ + -DWITH_LIBEVENT=system \ + -DWITH_PROTOBUF=system \ -DWITH_SSL=%{?with_ssl:system}%{!?with_ssl:no} \ -%endif - -DWITH_ZLIB=system \ - -DWITH_PAM=ON \ - -DCOMPILATION_COMMENT="PLD/Linux Distribution MySQL RPM" \ - -DWITH_LIBWRAP=%{?with_tcpd:ON}%{!?with_tcpd:OFF} \ -DWITH_UNIT_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \ - -DCURSES_INCLUDE_PATH=/usr/include/ncurses \ - -DMYSQL_UNIX_ADDR=/var/lib/%{name}/%{name}.sock \ - -DINSTALL_LAYOUT=RPM \ - -DINSTALL_MYSQLTESTDIR_RPM="" \ - -DINSTALL_SQLBENCHDIR=%{_datadir} \ - -DINSTALL_SUPPORTFILESDIR=%{_datadir}/%{name}-support \ - -DINSTALL_PLUGINDIR=%{_libdir}/%{name}/plugin \ - -DINSTALL_LIBDIR=%{_lib} \ - .. + %{!?with_system_boost:-DWITH_BOOST="$(pwd)/$(ls -1d ../boost_*)"} \ + -DWITH_ZLIB=system \ + -DWITH_EDITLINE=system \ + -DWITH_MECAB=system \ + -DTMPDIR=/var/tmp %{__make} @@ -565,15 +535,13 @@ cp -a %{SOURCE15} libmysql/libmysql.version %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,skel} \ - $RPM_BUILD_ROOT/var/{log/{archive,}/mysql,lib/mysql} \ - $RPM_BUILD_ROOT{%{_infodir},%{_mysqlhome}} \ + $RPM_BUILD_ROOT/var/{log/{archive,}/mysql,lib/{mysql,mysql-files}} \ + $RPM_BUILD_ROOT%{_mysqlhome} \ $RPM_BUILD_ROOT%{_libdir} %{__make} -C build install \ DESTDIR=$RPM_BUILD_ROOT -cp -a Docs/mysql.info $RPM_BUILD_ROOT%{_infodir} - install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql @@ -594,6 +562,7 @@ awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld. cp -a mysqld.conf $RPM_BUILD_ROOT%{_datadir}/%{name}/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 # NDB @@ -606,23 +575,17 @@ install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc cp -a %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc %endif -# symlinks point to the .so file, fix it -ln -sf libmysqlclient.so.18 $RPM_BUILD_ROOT%{_libdir}/libmysqlclient_r.so.18 -ln -sf libmysqlclient.so.18.0.0 $RPM_BUILD_ROOT%{_libdir}/libmysqlclient_r.so.18.0.0 - sed -i -e 's,/usr//usr,%{_prefix},g' $RPM_BUILD_ROOT%{_bindir}/mysql_config 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}/%{name}-support # rename not to be so generic name mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1 -# move to _sysconfdir -mv $RPM_BUILD_ROOT{%{_bindir},%{_sysconfdir}}/mysqlaccess.conf - # not useful without -debug build %{!?debug:%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump} %{!?debug:%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1} @@ -639,6 +602,8 @@ mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack #mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_fix_privilege_tables +mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/lz4_decompress +mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/zlib_decompress mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/my_print_defaults sed -i -e 's#/usr/bin/my_print_defaults#%{_sbindir}/my_print_defaults#g' $RPM_BUILD_ROOT%{_bindir}/mysql_install_db mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck @@ -652,23 +617,29 @@ mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck #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%{_bindir}/mysql_waitpid -%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1* %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server* %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1* %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1* # we don't package those (we have no -test or -testsuite pkg) and some of them just segfault -%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_client_test +%{__rm} $RPM_BUILD_ROOT%{_bindir}/{mysql_client_test,mysqlxtest} +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/plugin/test_udf_services.so %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test.1* %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.1* %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1* %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1* %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql-test +# libmysqld examples +%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql{_client_test_embedded,_embedded,test_embedded} # not needed -%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/libdaemon_example.* \ -${__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/daemon_example.ini +%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/libdaemon_example.* +%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/daemon_example.ini + +# test plugins +%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/libtest*.so +%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/rewrite_example.so +%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/test_security_context.so %clean rm -rf $RPM_BUILD_ROOT @@ -678,7 +649,6 @@ rm -rf $RPM_BUILD_ROOT %useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql %post -[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 /sbin/ldconfig /sbin/chkconfig --add mysql %service mysql restart @@ -690,9 +660,7 @@ if [ "$1" = "0" ]; then fi %postun -[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 /sbin/ldconfig - if [ "$1" = "0" ]; then %userremove mysql %groupremove mysql @@ -867,55 +835,101 @@ for config in $configs; do done ) | %banner -e %{name}-5.5 +%triggerpostun -- mysql < 5.7.0 +configs="" +for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do + if echo "$config" | grep -q '^/'; then + config_file="$config" + elif [ -f "/etc/%{name}/$config" ]; then + config_file=/etc/%{name}/$config + else + clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf) + if [ -z "$clusterdir" ]; then + echo >&2 "Can't find cluster dir for $config!" + echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf" + exit 1 + fi + config_file="$clusterdir/mysqld.conf" + fi + + if [ ! -f "$config_file" ]; then + echo >&2 "ERROR: Can't find real config file for $config! Please report this (with above errors, if any) to http://bugs.pld-linux.org/" + continue + fi + configs="$configs $config_file" +done + +( +echo 'You should run MySQL upgrade script *after* restarting MySQL server for all MySQL clusters.' +echo 'Thus, you should invoke:' +for config in $configs; do + sed -i -e ' + s/^log-warnings *=/log-error-verbosity =/ + s/^myisam-recover$/myisam-recover-options/ + s/^innodb_mirrored_log_groups.*// + ' $config + + socket=$(awk -F= '!/^#/ && $1 ~ /socket/{print $2}' $config | xargs) + echo "# mysql_upgrade ${socket:+--socket=$socket}" +done +) | %banner -e %{name}-5.7 + %files %defattr(644,root,root,755) -%doc build/support-files/*.cnf build/support-files/*.ini %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name} %attr(754,root,root) /etc/rc.d/init.d/%{name} %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name} %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/clusters.conf %attr(755,root,root) %{_sbindir}/innochecksum +%attr(755,root,root) %{_sbindir}/lz4_decompress %attr(755,root,root) %{_sbindir}/my_print_defaults %attr(755,root,root) %{_sbindir}/myisamchk %attr(755,root,root) %{_sbindir}/myisamlog %attr(755,root,root) %{_sbindir}/myisampack -#%attr(755,root,root) %{_sbindir}/mysql_fix_privilege_tables %attr(755,root,root) %{_sbindir}/mysql_plugin %attr(755,root,root) %{_sbindir}/mysql_upgrade %attr(755,root,root) %{_sbindir}/mysqlcheck %attr(755,root,root) %{_sbindir}/mysqld +%attr(755,root,root) %{_sbindir}/zlib_decompress + %dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/plugin %attr(755,root,root) %{_libdir}/%{name}/plugin/adt_null.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 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_socket.so %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_test_plugin.so -%attr(755,root,root) %{_libdir}/%{name}/plugin/dialog.so -%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/authentication_ldap_sasl_client.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/connection_control.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/group_replication.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/keyring_file.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/keyring_udf.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/libpluginmecab.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/locking_service.so %attr(755,root,root) %{_libdir}/%{name}/plugin/mypluglib.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/mysql_no_login.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/mysqlx.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/replication_observers_example_plugin.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/rewriter.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 +%attr(755,root,root) %{_libdir}/%{name}/plugin/version_token.so %if %{with sphinx} %attr(755,root,root) %{_libdir}/%{name}/plugin/ha_sphinx.so %endif -# for plugins -%attr(755,root,root) %{_libdir}/libmysqlservices.so %{_mandir}/man1/innochecksum.1* +%{_mandir}/man1/lz4_decompress.1* %{_mandir}/man1/my_print_defaults.1* %{_mandir}/man1/myisamchk.1* %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* -#%{_mandir}/man1/mysql_fix_privilege_tables.1* %{_mandir}/man1/mysql_plugin.1* %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysqlcheck.1* +%{_mandir}/man1/zlib_decompress.1* %{_mandir}/man8/mysqld.8* %if %{?debug:1}0 @@ -927,116 +941,108 @@ done %attr(700,mysql,mysql) %{_mysqlhome} # root:root is proper here for mysql.rpm while mysql:mysql is potential security hole %attr(751,root,root) /var/lib/mysql +# https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_secure-file-priv +%attr(770,mysql,mysql) %dir /var/lib/mysql-files %attr(750,mysql,mysql) %dir /var/log/mysql %attr(750,mysql,mysql) %dir /var/log/archive/mysql %attr(640,mysql,mysql) %ghost /var/log/mysql/* -%{_infodir}/mysql.info* # This is template for configuration file which is created after 'service mysql init' %{_datadir}/%{name}/mysqld.conf -%{_datadir}/%{name}/mysql_system_tables.sql +%{_datadir}/%{name}/mysql_security_commands.sql +%{_datadir}/%{name}/mysql_sys_schema.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}/mysql_fix_privilege_tables.sql -%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}/%{name}/innodb_memcached_config.sql +%{_datadir}/%{name}/install_rewriter.sql +%{_datadir}/%{name}/uninstall_rewriter.sql +# Don't mark these with %%lang. These are used depending +# on database client settings. +%{_datadir}/%{name}/bulgarian +%{_datadir}/%{name}/czech +%{_datadir}/%{name}/danish +%{_datadir}/%{name}/german +%{_datadir}/%{name}/greek +%{_datadir}/%{name}/spanish +%{_datadir}/%{name}/estonian +%{_datadir}/%{name}/french +%{_datadir}/%{name}/hungarian +%{_datadir}/%{name}/italian +%{_datadir}/%{name}/japanese +%{_datadir}/%{name}/korean +%{_datadir}/%{name}/dutch +%{_datadir}/%{name}/norwegian +%{_datadir}/%{name}/norwegian-ny +%{_datadir}/%{name}/polish +%{_datadir}/%{name}/portuguese +%{_datadir}/%{name}/romanian +%{_datadir}/%{name}/russian +%{_datadir}/%{name}/serbian +%{_datadir}/%{name}/slovak +%{_datadir}/%{name}/swedish +%{_datadir}/%{name}/ukrainian %files charsets %defattr(644,root,root,755) -%dir %{_datadir}/mysql +%dir %{_datadir}/%{name} %{_datadir}/%{name}/charsets %files extras %defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/msql2mysql %attr(755,root,root) %{_bindir}/myisam_ftdump %attr(755,root,root) %{_bindir}/mysql_install_db +%attr(755,root,root) %{_bindir}/mysql_ssl_rsa_setup %attr(755,root,root) %{_bindir}/mysql_secure_installation %attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql %attr(755,root,root) %{_bindir}/perror %attr(755,root,root) %{_bindir}/replace %attr(755,root,root) %{_bindir}/resolveip -%{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/mysql_install_db.1* +%{_mandir}/man1/mysql_ssl_rsa_setup.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/perror.1* %{_mandir}/man1/replace.1* %{_mandir}/man1/resolveip.1* -%files -n mysqlhotcopy -%defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/mysqlhotcopy -%{_mandir}/man1/mysqlhotcopy.1* - %files extras-perl %defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/mysql_convert_table_format -%attr(755,root,root) %{_bindir}/mysql_find_rows -%attr(755,root,root) %{_bindir}/mysql_fix_extensions -%attr(755,root,root) %{_bindir}/mysql_setpermission -%attr(755,root,root) %{_bindir}/mysql_zap -%attr(755,root,root) %{_bindir}/mysqlaccess %attr(755,root,root) %{_bindir}/mysqldumpslow -%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysqlaccess.conf -%{_mandir}/man1/mysql_convert_table_format.1* -%{_mandir}/man1/mysql_find_rows.1* -%{_mandir}/man1/mysql_fix_extensions.1* -%{_mandir}/man1/mysql_setpermission.1* -%{_mandir}/man1/mysql_zap.1* -%{_mandir}/man1/mysqlaccess.1* %{_mandir}/man1/mysqldumpslow.1* %files client %defattr(644,root,root,755) -%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/skel/.my.cnf +%attr(600,root,root) %config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.my.cnf %attr(755,root,root) %{_bindir}/mysql %attr(755,root,root) %{_bindir}/mysqladmin %attr(755,root,root) %{_bindir}/mysqlbinlog -%attr(755,root,root) %{_bindir}/mysqlbug +%attr(755,root,root) %{_bindir}/mysql_config_editor %attr(755,root,root) %{_bindir}/mysqldump %attr(755,root,root) %{_bindir}/mysqlimport +%attr(755,root,root) %{_bindir}/mysqlpump %attr(755,root,root) %{_bindir}/mysqlshow %{_mandir}/man1/mysql.1* %{_mandir}/man1/mysqladmin.1* %{_mandir}/man1/mysqlbinlog.1* -%{_mandir}/man1/mysqlbug.1* +%{_mandir}/man1/mysql_config_editor.1* %{_mandir}/man1/mysqldump.1* %{_mandir}/man1/mysqlimport.1* +%{_mandir}/man1/mysqlpump.1* %{_mandir}/man1/mysqlshow.1* %files libs %defattr(644,root,root,755) %attr(751,root,root) %dir %{_sysconfdir}/mysql %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/mysql-client.conf +%{_sysconfdir}/%{name}/my.cnf %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.18 -%attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.18 +%attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.20 %if %{with ndb} %attr(755,root,root) %{_libdir}/libndbclient.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3 @@ -1046,10 +1052,13 @@ done %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/mysql_config %attr(755,root,root) %{_libdir}/libmysqlclient.so -%attr(755,root,root) %{_libdir}/libmysqlclient_r.so %if %{with ndb} %attr(755,root,root) %{_libdir}/libndbclient.so %endif +%{_pkgconfigdir}/mysqlclient.pc +# static-only so far +%{_libdir}/libmysqld.a +%{_libdir}/libmysqlservices.a %{_includedir}/mysql %{_aclocaldir}/mysql.m4 %{_mandir}/man1/mysql_config.1* @@ -1057,7 +1066,6 @@ done %files static %defattr(644,root,root,755) %{_libdir}/libmysqlclient.a -%{_libdir}/libmysqlclient_r.a %if %{with ndb} %{_libdir}/libndbclient.a %endif @@ -1066,9 +1074,9 @@ done %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/mysqlslap %attr(755,root,root) %{_bindir}/mysqltest -%dir %{_datadir}/sql-bench -%{_datadir}/sql-bench/[CDRl]* -%attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]* +#%dir %{_datadir}/sql-bench +#%{_datadir}/sql-bench/[CDRl]* +#%attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]* %{_mandir}/man1/mysqlslap.1* %{_mandir}/man1/mysqltest.1* %{_mandir}/man1/mysqltest_embedded.1*