# 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)
# - unpackaged:
# /usr/bin/mysqlaccess.conf
-# /usr/data/mysql/.empty
-# /usr/data/test/.empty
# - http://bugs.mysql.com/bug.php?id=16470
# - innodb are dynamic (= as plugins) ?
# - missing have_archive, have_merge
Summary(uk.UTF-8): MySQL - швидкий SQL-сервер
Summary(zh_CN.UTF-8): MySQL数据库服务器
Name: mysql
-Version: 5.5.9
-Release: 2
+Version: 5.5.13
+Release: 5
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: 701c0c44b7f1c2300adc0dc45729f903
+# Source0-md5: f0e519e90ee7c00fceb0730edf859d7b
Source100: http://www.sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz
# Source100-md5: 7b9b618cb9b378f949bb1b91ddcc4f54
Source1: %{name}.init
Source15: lib%{name}.version
Patch2: %{name}-c++.patch
Patch3: %{name}-info.patch
-Patch4: %{name}-sql-cxx-pic.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
Patch18: %{name}-sphinx.patch
Patch19: %{name}-chain-certs.patch
-# <percona patches, http://bazaar.launchpad.net/~percona-dev/percona-server/5.5.8/files>
-# series file shows the order of patches
+# from fedora
+Patch20: %{name}-dubious-exports.patch
+# <percona patches, updated with percona.sh>
Patch100: microsec_process.patch
Patch101: optimizer_fix.patch
-Patch102: %{name}_dump_ignore_ct.patch
+Patch102: mysql_dump_ignore_ct.patch
Patch103: control_online_alter_index.patch
Patch104: show_temp.patch
Patch105: innodb_show_status.patch
Patch138: remove_fcntl_excessive_calls.patch
Patch139: sql_no_fcache.patch
Patch140: show_slave_status_nolock.patch
-Patch141: log_warnings_silence.patch
+Patch141: log_warnings_suppress.patch
Patch142: userstat.patch
Patch143: bug580324.patch
Patch144: mysql_remove_eol_carret.patch
-Patch145: mysql-test.diff
+Patch145: processlist_row_stats.patch
+Patch146: innodb_expand_fast_index_creation.patch
+Patch147: innodb_bug60788.patch
+Patch148: start-stop-messages.patch
+Patch149: file-contents.patch
+Patch150: slave_timeout_fix.patch
# </percona>
URL: http://www.mysql.com/products/community/
BuildRequires: bison
%endif
#%patch2 -p1 # NEEDS CHECK, which exact program needs -lc++
%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
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch12 -p1
%patch14 -p0
%patch19 -p1
+%patch20 -p1
# <percona %patches>
%patch100 -p1
%patch101 -p1
-#%patch102 -p1
+%patch102 -p1
%patch103 -p1
%patch104 -p1
%patch105 -p1
%patch143 -p1
%patch144 -p1
%patch145 -p1
+%patch146 -p1
+%patch147 -p1
+%patch148 -p1
+%patch149 -p1
+%patch150 -p1
# </percona>
# to get these files rebuild
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" \
%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
%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
%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
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 '
- #set-variable\s*=\s* ##
+ 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=""
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#gi
- #set-variable\s*=\s* ##
+ 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
+
+ datadir=$(awk -F= '!/^#/ && $1 ~ /datadir/{print $2}' $config | xargs)
+ echo "# mysql_upgrade --datadir=$datadir"
done
+) | %banner -e %{name}-5.5
%files
%defattr(644,root,root,755)
%if %{with sphinx}
%attr(755,root,root) %{_libdir}/%{name}/plugin/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*
%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
%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