diff --git a/configuration-tweaks.tar.bz2 b/configuration-tweaks.tar.bz2 index de96ba7..2475737 100644 --- a/configuration-tweaks.tar.bz2 +++ b/configuration-tweaks.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5dd090b9dde89d15eebedd789d3a8a50d6f95a2f1d752b5aa80d505ff25a6833 -size 318 +oid sha256:465061d4ebda67a81115efee655eea8fa0d6755677015bfc469d69282707ea89 +size 307 diff --git a/mariadb.changes b/mariadb.changes index 1314840..c496221 100644 --- a/mariadb.changes +++ b/mariadb.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Jun 26 07:41:39 UTC 2015 - tchvatal@suse.com + +- Enable testsuite + ------------------------------------------------------------------- Thu Jun 25 13:50:12 UTC 2015 - tchvatal@suse.com diff --git a/mariadb.spec b/mariadb.spec index 8453442..313f227 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -27,6 +27,8 @@ %define builtin_plugins partition,csv,heap,aria,pbxt,myisam,myisammrg,xtradb %define extra_provides mariadb_100 %define with_mandatory_boost 0 +# _tmpfilesdir is not defined in systemd macros up to openSUSE 13.2 +%{!?_tmpfilesdir: %global _tmpfilesdir %{_libexecdir}/tmpfiles.d } # Remove when 13.1 is out of support scope %if ! %{defined _rundir} %define _rundir %{_localstatedir}/run @@ -86,6 +88,21 @@ BuildRequires: sqlite BuildRequires: tcpd-devel BuildRequires: zlib-devel BuildRequires: pkgconfig(systemd) +# Tests requires time and ps and some perl modules +# Keep in sync with Requires of mysql-testsuite +BuildRequires: procps +BuildRequires: time +BuildRequires: perl(Env) +BuildRequires: perl(Exporter) +BuildRequires: perl(Fcntl) +BuildRequires: perl(File::Temp) +BuildRequires: perl(Data::Dumper) +BuildRequires: perl(Getopt::Long) +BuildRequires: perl(IPC::Open3) +BuildRequires: perl(Socket) +BuildRequires: perl(Sys::Hostname) +BuildRequires: perl(Test::More) +BuildRequires: perl(Time::HiRes) # required by rcmysql Requires: %{name}-client Requires: %{name}-errormessages = %{version} @@ -244,6 +261,20 @@ Requires: %{name} = %{version} Requires: %{name}-bench = %{version} Requires: %{name}-client = %{version} Requires: %{name}-tools = %{version} +# Tests requires time and ps and some perl modules +Requires: procps +Requires: time +Requires: perl(Env) +Requires: perl(Exporter) +Requires: perl(Fcntl) +Requires: perl(File::Temp) +Requires: perl(Data::Dumper) +Requires: perl(Getopt::Long) +Requires: perl(IPC::Open3) +Requires: perl(Socket) +Requires: perl(Sys::Hostname) +Requires: perl(Test::More) +Requires: perl(Time::HiRes) Requires: perl-DBD-mysql Conflicts: otherproviders(mysql-test) Provides: mysql-test = %{version} @@ -493,6 +524,14 @@ install -D -m 644 %{_sourcedir}/mysql.target '%{buildroot}'%{_libexecdir}/system ln -s mysql@.service '%{buildroot}'%{_libexecdir}/systemd/system/mysql@default.service rm -rf '%{buildroot}'%{_sysconfdir}/init.d +# Tmpfiles file to exclude mysql tempfiles that are auto-cleaned up +# bnc#852451 +mkdir -p %{buildroot}%{_tmpfilesdir} +cat > %{buildroot}%{_tmpfilesdir}/mysql.conf < 0 cat libmysqlclient-devel.files | sed 's|%%doc\ ||' | while read tmp; do @@ -538,6 +586,27 @@ rm -f '%{buildroot}'%{_datadir}/doc/* 2> /dev/null || true # Unwanted packaged stuff rm -rf '%{buildroot}'%{_datadir}/mysql/{solaris,SELinux} +%check +cd build + +# First run simple ctest unittests +LD_LIBRARY_PATH=$(pwd)/unittest/mytap make test %{?_smp_mflags} + +# And then run discustingly HUGE testsuite that might fail here and there +# Basically we run it to have overview to check how it goes +cd mysql-test +./mysql-test-run.pl \ + --parallel=%{?jobs:%{jobs}} \ + --force \ + --retry=0 \ + --ssl \ + --suite-timeout=720 \ + --testcase-timeout=30 \ + --mysqld=--binlog-format=mixed \ + --force-restart \ + --shutdown-timeout=60 \ + --max-test-fail=0 || : + # client does not require server and needs the user too %pre client getent group mysql >/dev/null || groupadd -r mysql @@ -556,6 +625,8 @@ usermod -g mysql -s /bin/false mysql %post %service_add_post mysql.service mysql@.service mysql.target mysql@default.service +# Use %tmpfiles_create when 13.2 is oldest in support scope +/usr/bin/systemd-tmpfiles --create %{_tmpfilesdir}/mysql.conf || : # SLE11 Migration support for in in protected tmp; do @@ -645,6 +716,7 @@ exit 0 %{_libexecdir}/systemd/system/mysql@.service %{_libexecdir}/systemd/system/mysql@default.service %{_libexecdir}/systemd/system/mysql.target +%{_tmpfilesdir}/mysql.conf %{_sbindir}/rcmysql %dir %{_datadir}/%{name} %dir %{_datadir}/mysql @@ -669,7 +741,6 @@ exit 0 %defattr(-, root, root) %{_includedir}/mysql %{_libdir}/libmysqlclient.so -%{_libdir}/libmysqlclient_r.so %dir %{_datadir}/aclocal %{_datadir}/aclocal/mysql.m4 @@ -689,7 +760,9 @@ exit 0 %files -n lib%{libname}_r%{soname} %defattr(-, root, root) -%{_libdir}/lib%{libname}_r.so.* +# We need .so file here as few apps still rely on it to be present. +# Currently known are Mysql workbench and Libreoffice +%{_libdir}/lib%{libname}_r.so* %files bench -f mysql-bench.files %defattr(-, root, root) diff --git a/mysql-patches.tar.bz2 b/mysql-patches.tar.bz2 index 24a44a0..d74ed37 100644 --- a/mysql-patches.tar.bz2 +++ b/mysql-patches.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6f2c9f60cb22caabaa021816b0359a38e0914779e7d2d405218972ce42dc9f50 -size 16496 +oid sha256:a1fa926d7345c0d215687eb46b55d1ba3998e3eaf2db3e4cf55aa0bec88882e5 +size 16535