]> 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 e36d9b6fd6af3a30ae34cac228b6c46a2d0a9456..21183215820bb0e00627b71421a42e7b55e658ae 100644 (file)
@@ -1,8 +1,5 @@
 # TODO:
-# - unpackaged:
-#   /usr/bin/mysqlaccess.conf
-#   /usr/data/mysql/.empty
-#   /usr/data/test/.empty
+# - 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
 %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_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                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
@@ -35,15 +35,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.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-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/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
@@ -57,44 +58,51 @@ 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
+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:                %{name}-bug-34192.patch
-Patch8:                %{name}-client-config.patch
+Patch7:                bug-73834.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
-# <percona patches, http://bazaar.launchpad.net/~percona-dev/percona-server/5.5.7/files>
-Patch100:      %{name}-userstat.patch
-Patch101:      %{name}-innodb_extend_slow.patch
-Patch102:      %{name}-microsec_process.patch
-Patch103:      %{name}-innodb_split_buf_pool_mutex.patch
-# </percona>
+Patch19:       %{name}-chain-certs.patch
+# from fedora
+Patch20:       %{name}-dubious-exports.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
-BuildRequires: cmake
-BuildRequires: groff
-BuildRequires: libstdc++-devel >= 5:3.0
-BuildRequires: libtool
+BuildRequires: bison >= 1.875
+BuildRequires: cmake >= 2.6
+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: 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.577
+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
@@ -117,15 +125,14 @@ 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                _orgname        percona-server
 %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 +277,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
@@ -304,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
@@ -326,7 +335,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 +344,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 +360,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 +369,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 +496,44 @@ 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}-%{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
 %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++
+%patch1 -p1
+%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
-# <percona %patches>
-# CHECK ME
-#%patch100 -p1
-# CHECK ME
-#%patch101 -p1
-# CHECK ME
-#%patch102 -p1
-# CHECK ME
-#%patch103 -p1
-# </percona>
+%patch19 -p1
+%patch20 -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
+
+# 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
@@ -536,38 +541,45 @@ 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)
-%cmake \
-       -DCMAKE_C_FLAGS_RELEASE="%{rpmcflags} -DNDEBUG" \
-       -DCMAKE_CXX_FLAGS_RELEASE="%{rpmcxxflags} -DNDEBUG" \
-       -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
+
+%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
+
+%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" \
+       -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=%{_lib}/%{name}/plugin \
+       -DINSTALL_SQLBENCHDIR=%{_datadir} \
+       -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_READLINE=ON \
-       -DWITH_SSL=%{?with_ssl:yes}%{?!with_ssl:no} \
-       -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="" \
-       -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_SQLBENCHDIR=%{_datadir} \
-       -DINSTALL_SUPPORTFILESDIR=%{_datadir}/%{name}-support \
-       ..
+       -DWITH_LIBWRAP=%{?with_tcpd:ON}%{!?with_tcpd:OFF} \
+       -DWITH_PAM=ON \
+       -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
+       -DWITH_PIC=ON \
+       -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
 
 %{__make}
 
@@ -577,13 +589,12 @@ 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%{_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
@@ -602,8 +613,9 @@ 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
 
 # NDB
@@ -616,33 +628,30 @@ 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.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
-
 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 -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}/%{_orgname}-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.
+# 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
 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_upgrade
 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/innochecksum
 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk
@@ -654,35 +663,36 @@ 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}*
-#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*
+# 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}/%{_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*
+%{__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
+# libmysqld examples
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql{_client_test_embedded,_embedded,test_embedded}
 
 # 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
+
+# not an .info file
+%{__rm} $RPM_BUILD_ROOT%{_infodir}/mysql.info
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -692,7 +702,7 @@ 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
 
@@ -702,9 +712,8 @@ if [ "$1" = "0" ]; then
        /sbin/chkconfig --del mysql
 fi
 
-%postun -p /sbin/postshell
--/usr/sbin/fix-info-dir -c %{_infodir}
-
+%postun
+/sbin/ldconfig
 if [ "$1" = "0" ]; then
        %userremove mysql
        %groupremove mysql
@@ -793,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
 #'
 
@@ -825,14 +834,63 @@ 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
+%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}
@@ -843,42 +901,54 @@ 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/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
 %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/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/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/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
 %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*
 
 %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
 
@@ -889,58 +959,65 @@ 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_system_tables_data.sql
-%{_datadir}/%{name}/mysql_test_data_timezone.sql
-
-%{_datadir}/%{name}/english
-%{_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}/%{_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)
 %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 +1033,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*
@@ -971,27 +1049,28 @@ 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
-#%attr(755,root,root) %{_sbindir}/mysqlmanager
 %{_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/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
+%{_sysconfdir}/%{name}/my.cnf
 %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,11 +1081,11 @@ 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
+# static-only so far
+%{_libdir}/libmysqld.a
 %{_includedir}/mysql
 %{_aclocaldir}/mysql.m4
 %{_mandir}/man1/mysql_config.1*
This page took 0.101188 seconds and 4 git commands to generate.