X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=mysql.spec;h=a4639016ab440d1163a1d768d112be879a39b705;hb=001b57c18ba238c517411f948b1757f0b7e292c9;hp=3c3b3402ae24248e0882e58d4aa0dd04df993cb0;hpb=d79171ec49bf7a6cdcf9850f4178fa6220bd3b03;p=packages%2Fmysql.git diff --git a/mysql.spec b/mysql.spec index 3c3b340..a463901 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,8 +1,4 @@ # TODO: -# - unpackaged files: -# /usr/bin/mysqlaccess.conf -# /usr/lib/mysql/plugin/daemon_example.ini -# - 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) ? @@ -21,12 +17,13 @@ %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 %bcond_with ndb # NDB is now a separate product, this here is broken, so disable it -%define percona_rel 29.1 +%define percona_rel 63.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 @@ -37,16 +34,16 @@ Summary(ru.UTF-8): MySQL - быстрый SQL-сервер Summary(uk.UTF-8): MySQL - швидкий SQL-сервер Summary(zh_CN.UTF-8): MySQL数据库服务器 Name: mysql -Version: 5.5.28 +Version: 5.6.15 Release: 1 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/Percona-Server-5.5.28-29.1/source/Percona-Server-%{version}-rel29.1.tar.gz -# Source0-md5: 8ac1798de3a14f0b912910ea63edb22d -Source100: http://sphinxsearch.com/files/sphinx-2.0.3-release.tar.gz -# Source100-md5: a1293aecd5034aa797811610beb7ba89 +Source0: http://www.percona.com/downloads/Percona-Server-5.6/LATEST/source/Percona-Server-%{version}-rel%{percona_rel}.tar.gz +# Source0-md5: 30298acd471405feb3b23389c130e76d +Source100: http://www.sphinxsearch.com/files/sphinx-2.1.4-release.tar.gz +# Source100-md5: 3d453b507834ec746237e2016d34f928 Source1: %{name}.init Source2: %{name}.sysconfig Source3: %{name}.logrotate @@ -60,15 +57,13 @@ Source11: %{name}-ndb-cpc.init Source12: %{name}-ndb-cpc.sysconfig Source13: %{name}-client.conf Source14: my.cnf -# from fedora -Source15: lib%{name}.version - +Patch1: %{name}-versioning.patch +Patch2: %{name}hotcopy-5.0-5.5.patch Patch3: bug-67402.patch +Patch4: mysql-no-default-secure-auth.patch # from fedora -Patch5: %{name}-versioning.patch Patch6: %{name}-system-users.patch -Patch8: %{name}-client-config.patch Patch9: %{name}-build.patch Patch11: %{name}-upgrade.patch Patch12: %{name}-config.patch @@ -77,10 +72,13 @@ Patch18: %{name}-sphinx.patch Patch19: %{name}-chain-certs.patch # from fedora Patch20: %{name}-dubious-exports.patch +Patch21: bison3.patch +Patch22: bug-66589.patch URL: http://www.mysql.com/products/community/ -BuildRequires: bison +BuildRequires: bison >= 1.875 BuildRequires: cmake >= 2.6 BuildRequires: groff +BuildRequires: libedit-devel %if "%{pld_release}" == "ac" BuildRequires: libstdc++4-devel >= 5:4.0 %else @@ -92,10 +90,10 @@ BuildRequires: ncurses-devel >= 4.2 %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d} %{?with_autodeps:BuildRequires: perl-DBI} BuildRequires: perl-devel >= 1:5.6.1 -BuildRequires: readline-devel >= 4.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 @@ -493,24 +491,29 @@ Ten pakiet zawiera standardowego demona MySQL NDB CPC. mv sphinx-*/mysqlse storage/sphinx %patch18 -p1 %endif - +%patch1 -p1 +%patch2 -p1 %patch3 -p1 +%patch4 -p1 -%patch5 -p1 %patch6 -p1 -%patch8 -p1 %patch9 -p1 %patch11 -p1 %patch12 -p1 %patch14 -p0 %patch19 -p1 %patch20 -p1 +%patch21 -p1 +%patch22 -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 +# map has more sane versioning that default "global everything" in ver.in +cp -p libmysql/libmysql.map libmysql/libmysql.ver.in + %build install -d build cd build @@ -525,39 +528,36 @@ cd build %{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 \ -DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \ - -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" \ - -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ - -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ + -DCOMPILATION_COMMENT="PLD/Linux Distribution MySQL RPM" \ + -DCURSES_INCLUDE_PATH=/usr/include/ncurses \ + %{?with_systemtap:-DENABLE_DTRACE=ON} \ + -DFEATURE_SET="community" \ + -DINSTALL_LAYOUT=RPM \ + -DINSTALL_LIBDIR=%{_lib} \ + -DINSTALL_MYSQLTESTDIR_RPM="" \ + -DINSTALL_PLUGINDIR=%{_libdir}/%{name}/plugin \ + -DINSTALL_SQLBENCHDIR=%{_datadir} \ + -DINSTALL_SUPPORTFILESDIR=%{_datadir}/%{name}-support \ + -DMYSQL_UNIX_ADDR=/var/lib/%{name}/%{name}.sock \ %{?debug:-DWITH_DEBUG=ON} \ + -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ -DWITH_FAST_MUTEXES=ON \ + -DWITH_LIBWRAP=%{?with_tcpd:ON}%{!?with_tcpd:OFF} \ + -DWITH_PAM=ON \ + -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ -DWITH_PIC=ON \ - -DWITH_LIBEDIT=OFF \ - -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_ZLIB=system \ - -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} \ + -DWITH_ZLIB=system \ .. %{__make} @@ -568,14 +568,12 @@ cp -a %{SOURCE15} libmysql/libmysql.version 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%{_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 @@ -596,6 +594,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 @@ -608,12 +607,9 @@ 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 @@ -622,6 +618,9 @@ sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config 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} @@ -664,9 +663,15 @@ mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck %{__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 + +# not an .info file +%{__rm} $RPM_BUILD_ROOT%{_infodir}/mysql.info %clean rm -rf $RPM_BUILD_ROOT @@ -676,7 +681,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 @@ -688,9 +692,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,7 +869,7 @@ done %files %defattr(644,root,root,755) -%doc build/support-files/*.cnf build/support-files/*.ini +%doc build/support-files/*.cnf %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} @@ -891,15 +893,16 @@ done %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/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/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/semisync_master.so %attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_slave.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/validate_password.so %if %{with sphinx} %attr(755,root,root) %{_libdir}/%{name}/plugin/ha_sphinx.so %endif @@ -929,16 +932,19 @@ done %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_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 @@ -1000,6 +1006,7 @@ done %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* @@ -1015,6 +1022,7 @@ done %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}/mysqlshow @@ -1022,6 +1030,7 @@ done %{_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/mysqlshow.1* @@ -1030,6 +1039,7 @@ done %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.*.*.* @@ -1047,6 +1057,8 @@ done %if %{with ndb} %attr(755,root,root) %{_libdir}/libndbclient.so %endif +# static-only so far +%{_libdir}/libmysqld.a %{_includedir}/mysql %{_aclocaldir}/mysql.m4 %{_mandir}/man1/mysql_config.1*