X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=mysql.spec;h=0794cd330037e44e6999bda2b01a497135d46c60;hb=b9dfaa43a89da8831ac95a78a4e712a82a0d9387;hp=e36d9b6fd6af3a30ae34cac228b6c46a2d0a9456;hpb=92992b5122a1c85b41060898a5ebf9015528ae92;p=packages%2Fmysql.git diff --git a/mysql.spec b/mysql.spec index e36d9b6..0794cd3 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,8 +1,6 @@ # TODO: -# - unpackaged: -# /usr/bin/mysqlaccess.conf -# /usr/data/mysql/.empty -# /usr/data/test/.empty +# - 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) ? # - missing have_archive, have_merge @@ -21,10 +19,11 @@ %bcond_without raid # RAID support %bcond_without ssl # OpenSSL support %bcond_without tcpd # libwrap (tcp_wrappers) support -%bcond_with sphinx # Sphinx storage engine 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 30.2 %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 @@ -35,15 +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.8 -Release: 0.1 +Version: 5.5.30 +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-md5: 42e866302b61f5e213afd33e04677017 -Source100: http://www.sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz -# Source100-md5: 7b9b618cb9b378f949bb1b91ddcc4f54 +# 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: 82604d750e9d858e927c3abcda784431 +Source100: http://sphinxsearch.com/files/sphinx-2.0.6-release.tar.gz +# Source100-md5: de6be5ee20b1bfafa2a0cea7155a8331 Source1: %{name}.init Source2: %{name}.sysconfig Source3: %{name}.logrotate @@ -57,34 +57,33 @@ Source11: %{name}-ndb-cpc.init Source12: %{name}-ndb-cpc.sysconfig Source13: %{name}-client.conf Source14: my.cnf -Patch0: %{name}-libs.patch -Patch1: %{name}-libwrap.patch -Patch2: %{name}-c++.patch -Patch3: %{name}-info.patch -Patch4: %{name}-sql-cxx-pic.patch -Patch5: %{name}-noproc.patch +# from fedora +Source15: lib%{name}.version + +Patch2: mysqlhotcopy-5.0-5.5.patch +Patch3: bug-67402.patch +# from fedora +Patch5: %{name}-versioning.patch Patch6: %{name}-system-users.patch -Patch7: %{name}-bug-34192.patch + Patch8: %{name}-client-config.patch Patch9: %{name}-build.patch -Patch10: %{name}-alpha.patch Patch11: %{name}-upgrade.patch Patch12: %{name}-config.patch Patch14: %{name}-bug-43594.patch -Patch15: plugin-avoid-version.patch -Patch16: %{name}-fix-dummy-thread-race-condition.patch Patch18: %{name}-sphinx.patch -# -Patch100: %{name}-userstat.patch -Patch101: %{name}-innodb_extend_slow.patch -Patch102: %{name}-microsec_process.patch -Patch103: %{name}-innodb_split_buf_pool_mutex.patch -# +Patch19: %{name}-chain-certs.patch +# from fedora +Patch20: %{name}-dubious-exports.patch URL: http://www.mysql.com/products/community/ BuildRequires: bison -BuildRequires: cmake +BuildRequires: cmake >= 2.6 BuildRequires: groff -BuildRequires: libstdc++-devel >= 5:3.0 +%if "%{pld_release}" == "ac" +BuildRequires: libstdc++4-devel >= 5:4.0 +%else +BuildRequires: libstdc++-devel >= 5:4.0 +%endif BuildRequires: libtool %{?with_tcpd:BuildRequires: libwrap-devel} BuildRequires: ncurses-devel >= 4.2 @@ -93,7 +92,7 @@ BuildRequires: ncurses-devel >= 4.2 BuildRequires: perl-devel >= 1:5.6.1 BuildRequires: readline-devel >= 4.2 BuildRequires: rpm-perlprov >= 4.1-13 -BuildRequires: rpmbuild(macros) >= 1.577 +BuildRequires: rpmbuild(macros) >= 1.597 BuildRequires: sed >= 4.0 BuildRequires: zlib-devel Requires(post,preun): /sbin/chkconfig @@ -117,15 +116,13 @@ Provides: msqlormysql Provides: user(mysql) Obsoletes: MySQL Obsoletes: mysql-server -Conflicts: logrotate < 3.7-4 +Conflicts: logrotate < 3.8.0 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _libexecdir %{_sbindir} %define _localstatedir /var/lib/mysql %define _mysqlhome /home/services/mysql -%define _noautoreqdep 'perl(DBD::mysql)' - %description MySQL is a true multi-user, multi-threaded SQL (Structured Query Language) database server. SQL is the most popular database language @@ -270,6 +267,7 @@ innobackup. Summary: MySQL additional utilities Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL Group: Applications/Databases +Requires: %{name}-client = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} %description extras @@ -326,7 +324,7 @@ Este pacote contém os clientes padrão para o MySQL. %package libs Summary: Shared libraries for MySQL -Summary(pl.UTF-8): Biblioteki dzielone MySQL +Summary(pl.UTF-8): Biblioteki współdzielone MySQL Group: Libraries Obsoletes: libmysql10 Obsoletes: mysql-doc < 4.1.12 @@ -335,11 +333,11 @@ Obsoletes: mysql-doc < 4.1.12 Shared libraries for MySQL. %description libs -l pl.UTF-8 -Biblioteki dzielone MySQL. +Biblioteki współdzielone MySQL. %package devel -Summary: MySQL - Development header files and libraries -Summary(pl.UTF-8): MySQL - Pliki nagłówkowe i biblioteki dla programistów +Summary: MySQL - development header files and other files +Summary(pl.UTF-8): MySQL - Pliki nagłówkowe i inne dla programistów Summary(pt.UTF-8): MySQL - Medições de desempenho Summary(ru.UTF-8): MySQL - хедеры и библиотеки разработчика Summary(uk.UTF-8): MySQL - хедери та бібліотеки програміста @@ -351,7 +349,7 @@ Obsoletes: MySQL-devel Obsoletes: libmysql10-devel %description devel -This package contains the development header files and libraries +This package contains the development header files and other files necessary to develop MySQL client applications. %description devel -l fr.UTF-8 @@ -360,7 +358,7 @@ developpement necessaires pour developper des applications clientes MySQL. %description devel -l pl.UTF-8 -Pliki nagłówkowe i biblioteki konieczne do kompilacji aplikacji +Pliki nagłówkowe i inne pliki konieczne do kompilacji aplikacji klienckich MySQL. %description devel -l pt_BR.UTF-8 @@ -487,48 +485,30 @@ This package contains the standard MySQL NDB CPC Daemon. Ten pakiet zawiera standardowego demona MySQL NDB CPC. %prep -%setup -q %{?with_sphinx:-a100} +%setup -q -n Percona-Server-%{version}-rel%{percona_rel} %{?with_sphinx:-a100} %if %{with sphinx} # http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51 mv sphinx-*/mysqlse storage/sphinx %patch18 -p1 %endif -# CHECK ME, seems obsolete -#%patch0 -p1 -#%{?with_tcpd:%patch1 -p1} # WHATS PURPOSE OF THIS PATCH? -#%patch2 -p1 # NEEDS CHECK, which exact program needs -lc++ + +%patch2 -p1 %patch3 -p1 -%ifarch alpha -# this is strange: mysqld functions for UDF modules are not explicitly defined, -# so -rdynamic is used; in such case gcc3+ld on alpha doesn't like C++ vtables -# in objects compiled without -fPIC -%patch4 -p1 -# gcc 3.3.x ICE -%patch10 -p1 -%endif -# CHECK ME, obsolete -#%patch5 -p1 + +%patch5 -p1 %patch6 -p1 -%patch7 -p1 + %patch8 -p1 %patch9 -p1 %patch11 -p1 %patch12 -p1 %patch14 -p0 -# CHECK ME, obsolete -#%patch15 -p1 -# OBSOLETE, YES -#%patch16 -p1 -# -# CHECK ME -#%patch100 -p1 -# CHECK ME -#%patch101 -p1 -# CHECK ME -#%patch102 -p1 -# CHECK ME -#%patch103 -p1 -# +%patch19 -p1 +%patch20 -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 %build install -d build @@ -536,37 +516,48 @@ cd build # NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file # (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 \ - -DCMAKE_C_FLAGS_RELEASE="%{rpmcflags} -DNDEBUG" \ - -DCMAKE_CXX_FLAGS_RELEASE="%{rpmcxxflags} -DNDEBUG" \ + -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 \ %{?debug:-DWITH_DEBUG=ON} \ -DWITH_FAST_MUTEXES=ON \ + -DWITH_PIC=ON \ -DWITH_LIBEDIT=OFF \ - -DWITH_READLINE=ON \ - -DWITH_SSL=%{?with_ssl:yes}%{?!with_ssl:no} \ + -DWITH_READLINE=OFF \ +%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 \ - -DWITH_COMMENT="PLD Linux Distribution MySQL RPM" \ - -DWITH_LIBWRAP=%{?with_tcpd:ON}%{?!with_tcpd:OFF} \ - -DCURSES_INCLUDE_PATH=%{_includedir}/ncurses \ - -DCMAKE_INSTALl_PREFIX="" \ + -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_INCLUDEDIR=%{_includedir}/%{name} \ - -DINSTALL_BINDIR=%{_bindir} \ - -DINSTALL_DOCDIR=%{_docdir}/%{name}-%{version} \ - -DINSTALL_DOCREADMEDIR=%{_docdir}/%{name}-%{version} \ - -DINSTALL_INFODIR=%{_infodir} \ - -DINSTALL_LIBDIR=%{_libdir} \ - -DINSTALL_MANDIR=%{_mandir} \ - -DINSTALL_MYSQLDATADIR=/var/lib/%{name} \ - -DINSTALL_MYSQLSHAREDIR=%{_datadir}/%{name} \ - -DINSTALL_MYSQLTESTDIR=%{_datadir}/%{name}-test \ - -DINSTALL_PLUGINDIR=%{_libdir}/%{name}/plugin \ - -DINSTALL_SBINDIR=%{_sbindir} \ - -DINSTALL_SCRIPTDIR=%{_bindir} \ - -DINSTALL_SHAREDIR=%{_datadir} \ + -DINSTALL_LAYOUT=RPM \ + -DINSTALL_MYSQLTESTDIR_RPM="" \ -DINSTALL_SQLBENCHDIR=%{_datadir} \ -DINSTALL_SUPPORTFILESDIR=%{_datadir}/%{name}-support \ + -DINSTALL_PLUGINDIR=%{_libdir}/%{name}/plugin \ + -DINSTALL_LIBDIR=%{_lib} \ .. %{__make} @@ -577,7 +568,8 @@ cd build 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{%{_infodir},%{_mysqlhome}} \ + $RPM_BUILD_ROOT%{_libdir} %{__make} -C build install \ DESTDIR=$RPM_BUILD_ROOT @@ -617,32 +609,32 @@ cp -a %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc %endif # symlinks point to the .so file, fix it -ln -sf libmysqlclient.so.16 $RPM_BUILD_ROOT%{_libdir}/libmysqlclient_r.so.16 -ln -sf libmysqlclient.so.16.0.0 $RPM_BUILD_ROOT%{_libdir}/libmysqlclient_r.so.16.0.0 +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 # remove known unpackaged files -rm -rf $RPM_BUILD_ROOT%{_datadir}/mysql-test -rm -rf $RPM_BUILD_ROOT%{_datadir}/mysql-support - -# remove .txt variants for .sys messages -rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/*/*.txt +%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql-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 -f $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump} -%{!?debug:rm -f $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1} +%{!?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. # 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} # do not clobber users $PATH +mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_plugin mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_upgrade mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/innochecksum mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk @@ -654,35 +646,31 @@ sed -i -e 's#/usr/bin/my_print_defaults#%{_sbindir}/my_print_defaults#g' $RPM_BU mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck # delete - functionality in initscript / rpm -# mysql_install_db is needed by digikam -#rm $RPM_BUILD_ROOT%{_bindir}/mysql_install_db -#rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_install_db.1* -rm $RPM_BUILD_ROOT%{_bindir}/mysqld_safe -rm $RPM_BUILD_ROOT%{_bindir}/mysqld_multi -rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}* +# note: mysql_install_db (and thus resolveip) are needed by digikam +%{__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%{_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%{_bindir}/resolveip -rm $RPM_BUILD_ROOT%{_mandir}/man1/resolveip.1* -rm $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1* +%{__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%{_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} $RPM_BUILD_ROOT%{_bindir}/mysql_client_test +%{__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 # not needed -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/libdaemon_example.* -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/ha_example.* -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/sphinx.{a,la} +%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/libdaemon_example.* \ +${__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/daemon_example.ini %clean rm -rf $RPM_BUILD_ROOT @@ -693,6 +681,7 @@ rm -rf $RPM_BUILD_ROOT %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 @@ -702,8 +691,9 @@ if [ "$1" = "0" ]; then /sbin/chkconfig --del mysql fi -%postun -p /sbin/postshell --/usr/sbin/fix-info-dir -c %{_infodir} +%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 @@ -825,11 +815,60 @@ 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/set-variable\s*=\s* // + # use # as comment in config + s/^;/#/ + ' $config + datadir=$(awk -F= '!/^#/ && $1 ~ /datadir/{print $2}' $config | xargs) echo "# mysql_upgrade --datadir=$datadir" done ) | %banner -e %{name}-5.1 +%triggerpostun -- mysql < 5.5.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/^language *= *polish/lc-messages = pl_PL/i + s/set-variable\s*=\s* // + s/^skip-locking/skip-external-locking/ + # this is not valid for server. it is client option + s/^default-character-set/# client-config: &/ + # use # as comment in config + s/^;/#/ + ' $config + + socket=$(awk -F= '!/^#/ && $1 ~ /socket/{print $2}' $config | xargs) + echo "# mysql_upgrade ${socket:+--socket=$socket}" +done +) | %banner -e %{name}-5.5 + %files %defattr(644,root,root,755) %doc build/support-files/*.cnf build/support-files/*.ini @@ -843,16 +882,19 @@ done %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) %{_bindir}/mysql_install_db %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 @@ -863,15 +905,17 @@ done %attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_master.so %attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_slave.so %if %{with sphinx} -%attr(755,root,root) %{_libdir}/%{name}/plugin/sphinx.so +%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/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_install_db.1* +%{_mandir}/man1/mysql_plugin.1* %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysqlcheck.1* %{_mandir}/man8/mysqld.8* @@ -931,16 +975,20 @@ done %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_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_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) @@ -956,6 +1004,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* @@ -974,7 +1023,6 @@ done %attr(755,root,root) %{_bindir}/mysqldump %attr(755,root,root) %{_bindir}/mysqlimport %attr(755,root,root) %{_bindir}/mysqlshow -#%attr(755,root,root) %{_sbindir}/mysqlmanager %{_mandir}/man1/mysql.1* %{_mandir}/man1/mysqladmin.1* %{_mandir}/man1/mysqlbinlog.1* @@ -982,16 +1030,15 @@ done %{_mandir}/man1/mysqldump.1* %{_mandir}/man1/mysqlimport.1* %{_mandir}/man1/mysqlshow.1* -#%{_mandir}/man8/mysqlmanager.8* %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 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.16 +%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.16 +%attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.18 %if %{with ndb} %attr(755,root,root) %{_libdir}/libndbclient.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3 @@ -1002,8 +1049,6 @@ done %attr(755,root,root) %{_bindir}/mysql_config %attr(755,root,root) %{_libdir}/libmysqlclient.so %attr(755,root,root) %{_libdir}/libmysqlclient_r.so -# what's this? -%attr(755,root,root) %{_libdir}/libmysqlservices.so %if %{with ndb} %attr(755,root,root) %{_libdir}/libndbclient.so %endif