From 0faea8d867548f70dac6d083f901880a8a06d8c1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 15 May 2017 21:27:48 +0000 Subject: [PATCH 1/4] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 2028424..b39ffbe 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -124,7 +124,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1378,6 +1378,9 @@ fi %endif %changelog +* Mon May 15 2017 Fedora Release Engineering - 3:10.1.21-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild + * Tue Mar 07 2017 Michal Schorm - 3:10.1.21-4 - Cracklib plugin enabled - Removed strmov patch, it is no longer needed. The issue was fixed long ago in both MariaDB and MySQL From 321612e19ec8ba2dc1f86f273ecaf3e89748a996 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 30 May 2017 14:33:52 +0200 Subject: [PATCH 2/4] Use coreutils rather than fileutils, since that is correct name of the package In modules, fileutils provide might be missing, so we would have unsatisfied dependency --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index b39ffbe..9e671ff 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -226,7 +226,7 @@ Requires: compat-openssl10 BuildRequires: openssl openssl-devel %endif -Requires: bash fileutils grep +Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} # Explicit EVR requirement for -libs is needed for RHBZ#1406320 From 40f649e4cdb8f09fd8f15b69f8ea07e212f30ccf Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 23 May 2017 15:14:48 +0200 Subject: [PATCH 3/4] Plugin oqgraph enabled Plugin jemalloc enabled 'force' option for 'rm' removed Enabled '--big-test' option for the testsuite Disabled '--skip-rpl' option for the testsuite = replication tests enabled Multilib manpage added RH unstable tests added to upstream file instead of our own Server dependency changed from 'sh-utils' to 'coreutils' --- mariadb-install-test.patch | 6 +- mariadb-logrotate.patch | 8 ++ mariadb.spec | 185 ++++++++++++++++++++----------------- 3 files changed, 110 insertions(+), 89 deletions(-) diff --git a/mariadb-install-test.patch b/mariadb-install-test.patch index e085599..1797474 100644 --- a/mariadb-install-test.patch +++ b/mariadb-install-test.patch @@ -23,17 +23,17 @@ Improve the documentation that will be installed in the mysql-test RPM. +who is created with nologin shell however, so the best bet is something like + $ su - + # cd /usr/share/mysql-test -+ # su -s /bin/bash mysql -c "./mysql-test-run --skip-test-list=rh-skipped-tests.list" ++ # su -s /bin/bash mysql -c "./mysql-test-run --skip-test-list=unstable-tests" + +This will use the installed mysql executables, but will run a private copy +of the server process (using data files within /usr/share/mysql-test), +so you need not start the mysqld service beforehand. + -+The "--skip-test-list=rh-skipped-tests.list" option excludes tests that are ++The "--skip-test-list=unstable-tests" option excludes tests that are +known to fail on one or more Red-Hat-supported platforms. You can omit it +if you want to check whether such failures occur for you. Documentation +about the reasons for omitting such tests can be found in the file -+rh-skipped-tests.list. ++unstable-tests. + +To clean up afterwards, remove the created "var" subdirectory, eg + # su -s /bin/bash - mysql -c "rm -rf /usr/share/mysql-test/var" diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index 898f7f4..bc4da54 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -12,6 +12,14 @@ Adjust the mysql-log-rotate script in several ways: is low-volume and so rotation is not critical functionality. See discussions at RH bugs 799735, 547007 +* Note they are from Fedora 15 / 16 + +Update 3/2017 +* it would be big unexpected change for anyone upgrading, if we start shipping it now. + Maybe it is good candidate for shipping with MariaDB 10.2 ? +* the 'mysqladmin flush logs' doesn´t guarantee, no entries are lost + during flushing, the operation is not atomic. + We should not ship it in that state diff -up mariadb-10.0.10/support-files/mysql-log-rotate.sh.p5 mariadb-10.0.10/support-files/mysql-log-rotate.sh diff --git a/mariadb.spec b/mariadb.spec index 9e671ff..4002a3b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -5,6 +5,7 @@ # Regression tests may take a long time (many cores recommended), skip them by # passing --nocheck to rpmbuild or by setting runselftest to 0 if defining # --nocheck is not possible (e.g. in koji build) +#TODO: enable %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build @@ -23,7 +24,6 @@ # TokuDB engine is now part of MariaDB, but it is available only for x86_64; # variable tokudb allows to build with TokuDB storage engine -# Temporarily disabled in F21+ for https://mariadb.atlassian.net/browse/MDEV-6446 %ifarch x86_64 %bcond_without tokudb %else @@ -39,10 +39,8 @@ %endif # The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing -# hierarchies and more complex graph structures to be handled in a relational -# fashion; enabled by default -# Temporarily disabling oqgraph: https://mariadb.atlassian.net/browse/MDEV-9479 -%bcond_with oqgraph +# hierarchies and more complex graph structures to be handled in a relational fashion +%bcond_without oqgraph # For some use cases we do not need some parts of the package %bcond_without clibrary @@ -152,26 +150,38 @@ Source19: mysql.init.in Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-arm.list Source52: rh-skipped-tests-ppc-s390.list -# TODO: clustercheck contains some hard-coded paths, these should be expanded using template system +# Proposed upstream: https://jira.mariadb.org/browse/MDEV-12442 +# General upstream response was slightly positive Source70: clustercheck.sh Source71: LICENSE.clustercheck Source72: mariadb-server-galera.te -# Comments for these patches are in the patch files -# Patches common for more mysql-like packages +# Patch2: testsuite README update, introducing skipped-tests.list +# upstream questioned, if they are insterested: https://jira.mariadb.org/browse/MDEV-12263 Patch2: %{pkgnamepatch}-install-test.patch +# Patch4: Red Hat distributions specific logrotate fix +# it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 Patch4: %{pkgnamepatch}-logrotate.patch Patch5: %{pkgnamepatch}-file-contents.patch +# Patch7: add to the CMake file all files where we want macros to be expanded Patch7: %{pkgnamepatch}-scripts.patch +# Patch8: resolve conflict, when we combine MariaDB and MySQL packages Patch8: %{pkgnamepatch}-install-db-sharedir.patch +# Patch9: pre-configure to comply with guidelines Patch9: %{pkgnamepatch}-ownsetup.patch +# Patch13: patch of test of ssl cypher unsupported in Fedora Patch13: %{pkgnamepatch}-ssl-cypher.patch Patch14: %{pkgnamepatch}-example-config-files.patch # Patches specific for this mysql package +# Patch31: +# TODO: I should run covscan again Patch31: %{pkgnamepatch}-string-overflow.patch Patch32: %{pkgnamepatch}-basedir.patch +# Patch34: +# TODO: I should run covscan again Patch34: %{pkgnamepatch}-covscan-stroverflow.patch +# Patch37: don't create a test DB: https://jira.mariadb.org/browse/MDEV-12645 Patch37: %{pkgnamepatch}-notestdb.patch # Patches for galera @@ -187,9 +197,10 @@ BuildRequires: zlib-devel BuildRequires: multilib-rpm-config BuildRequires: krb5-devel BuildRequires: selinux-policy-devel +BuildRequires: jemalloc-devel %{?with_init_systemd:BuildRequires: systemd systemd-devel} # Cracklib plugin -BuildRequires: cracklib-devel +BuildRequires: cracklib-dicts cracklib-devel BuildRequires: cracklib-dicts # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel @@ -224,9 +235,11 @@ Requires: compat-openssl10 %else # for running some openssl tests rhbz#1189180 BuildRequires: openssl openssl-devel +Requires: openssl %endif Requires: bash coreutils grep +Requires: jemalloc Requires: %{name}-common%{?_isa} = %{sameevr} # Explicit EVR requirement for -libs is needed for RHBZ#1406320 @@ -381,7 +394,7 @@ Requires: %{name}-errmsg%{?_isa} = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d -Requires: sh-utils +Requires: coreutils Requires(pre): /usr/sbin/useradd %if %{with init_systemd} # We require this to be present for %%{_tmpfilesdir} @@ -392,7 +405,7 @@ Requires(posttrans): systemd %{?systemd_requires: %systemd_requires} %endif # wsrep requirements -Requires: lsof net-tools sh-utils rsync +Requires: lsof net-tools rsync %if %{with mysql_names} Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} @@ -599,21 +612,19 @@ MariaDB is a community developed branch of MySQL. %patch40 -p1 %patch41 -p1 -sed -i -e 's/2.8.7/2.6.4/g' cmake/cpack_rpm.cmake - # workaround for upstream bug #56342 -rm -f mysql-test/t/ssl_8k_key-master.opt +rm mysql-test/t/ssl_8k_key-master.opt # generate a list of tests that fail, but are not disabled by upstream -cat %{SOURCE50} | tee mysql-test/rh-skipped-tests.list +cat %{SOURCE50} | tee -a mysql-test/unstable-tests # disable some tests failing on different architectures %ifarch %{arm} aarch64 -cat %{SOURCE51} | tee -a mysql-test/rh-skipped-tests.list +cat %{SOURCE51} | tee -a mysql-test/unstable-tests %endif %ifarch ppc ppc64 ppc64p7 s390 s390x -cat %{SOURCE52} | tee -a mysql-test/rh-skipped-tests.list +cat %{SOURCE51} | tee -a mysql-test/unstable-tests %endif cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ @@ -634,7 +645,7 @@ pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\ if [ %{pcre_version} != "$pcre_maj.$pcre_min" ] then - echo "\n PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n" + echo "\n Error: PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n" exit 1 fi } @@ -660,15 +671,12 @@ sed -i s/-Werror//g storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cma CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # force PIC mode so that we can build libmysqld.so CFLAGS="$CFLAGS -fPIC" -# GCC 4.9 causes segfaults: https://mariadb.atlassian.net/browse/MDEV-6360 -CFLAGS="$CFLAGS -fno-delete-null-pointer-checks" -# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization -# submitted as bz #529298 +# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization; rhbz#529298 +# Note: sparc = s390 %ifarch sparc sparcv9 sparc64 CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` %endif -# significant performance gains can be achieved by compiling with -O3 optimization -# rhbz#1051069 +# significant performance gains can be achieved by compiling with -O3 optimization; rhbz#1051069 %ifarch ppc64 CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` %endif @@ -722,13 +730,13 @@ export LDFLAGS -DWITH_SSL=system \ -DWITH_ZLIB=system \ %{?with_pcre: -DWITH_PCRE=system}\ - -DWITH_JEMALLOC=no \ + -DWITH_JEMALLOC=ON \ %{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ %{!?with_mroonga: -DWITHOUT_MROONGA=ON}\ %{!?with_oqgraph: -DWITHOUT_OQGRAPH=ON}\ -DTMPDIR=/var/tmp \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug}\ - %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} +%{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} make %{?_smp_mflags} VERBOSE=1 @@ -769,9 +777,12 @@ done if %multilib_capable; then mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config +# Copy manual page for multilib mysql_config; https://jira.mariadb.org/browse/MDEV-11961 +ln -s mysql_config.1 %{buildroot}%{_mandir}/man1/mysql_config-%{__isa_bits}.1 fi -# Upstream install this into arch-independent directory, TODO: report +# Upstream install this into arch-independent directory +# TODO: report to upstream mkdir -p %{buildroot}/%{_libdir}/pkgconfig mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig @@ -794,8 +805,8 @@ install -p -m 0755 -d %{buildroot}%{dbdatadir} %if %{with config} install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf %else -rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf -rm -f %{buildroot}%{_sysconfdir}/my.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf %endif # use different config file name for each variant of server @@ -829,14 +840,11 @@ install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql- install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp %endif -# Remove libmysqld.a -rm -f %{buildroot}%{_libdir}/mysql/libmysqld.a - # libmysqlclient_r is no more. Upstream tries to replace it with symlinks # but that really doesn't work (wrong soname in particular). We'll keep # just the devel libmysqlclient_r.so link, so that rebuilding without any # source change is enough to get rid of dependency on libmysqlclient_r. -rm -f %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so* +rm %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so* ln -s libmysqlclient.so %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so # mysql-test includes one executable that doesn't belong under /usr/share, @@ -845,16 +853,15 @@ mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{build ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process # should move this to /etc/ ? -rm -f %{buildroot}%{_bindir}/mysql_embedded -rm -f %{buildroot}%{_libdir}/mysql/*.a -rm -f %{buildroot}%{_datadir}/%{pkg_name}/binary-configure -rm -f %{buildroot}%{_datadir}/%{pkg_name}/magic -rm -f %{buildroot}%{_datadir}/%{pkg_name}/ndb-config-2-node.ini -rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysql.server -rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server -rm -f %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* -rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* -rm -f %{buildroot}%{_bindir}/mytop +rm %{buildroot}%{_bindir}/mysql_embedded +rm %{buildroot}%{_libdir}/mysql/*.a +rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure +rm %{buildroot}%{_datadir}/%{pkg_name}/magic +rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server +rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server +rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* +rm %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* +rm %{buildroot}%{_bindir}/mytop # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -880,27 +887,18 @@ mkdir -p %{buildroot}%{_sysconfdir}/sysconfig touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck -# install the list of skipped tests to be available for user runs -install -p -m 0644 mysql-test/rh-skipped-tests.list %{buildroot}%{_datadir}/mysql-test - -# remove unneeded RHEL-4 SELinux stuff -rm -rf %{buildroot}%{_datadir}/%{pkg_name}/SELinux/ - # remove SysV init script and a symlink to that -rm -f %{buildroot}%{_sysconfdir}/init.d/mysql -rm -f %{buildroot}%{_libexecdir}/rcmysql +rm %{buildroot}%{_sysconfdir}/init.d/mysql +rm %{buildroot}%{_libexecdir}/rcmysql # remove duplicate logrotate script -rm -f %{buildroot}%{_sysconfdir}/logrotate.d/mysql - -# remove solaris files -rm -rf %{buildroot}%{_datadir}/%{pkg_name}/solaris/ +rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql # rename the wsrep README so it corresponds with the other README names mv Docs/README-wsrep Docs/README.wsrep # remove *.jar file from mysql-test -rm -rf %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar +rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar # RPMLINT E: # mariadb-bench.x86_64: E: script-without-shebang /usr/share/sql-bench/myisam.cnf @@ -909,67 +907,74 @@ chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so -rm -rf %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* -rm -rf %{buildroot}%{_sysconfdir}/ld.so.conf.d -rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf +rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* +rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d +rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf %endif %if %{without embedded} -rm -f %{buildroot}%{_libdir}/mysql/libmysqld.so* -rm -f %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} -rm -f %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +rm %{buildroot}%{_libdir}/mysql/libmysqld.so* +rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} +rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* %endif %if %{without devel} -rm -f %{buildroot}%{_bindir}/mysql_config* -rm -rf %{buildroot}%{_includedir}/mysql -rm -f %{buildroot}%{_datadir}/aclocal/mysql.m4 -rm -f %{buildroot}%{_libdir}/pkgconfig/mariadb.pc -rm -f %{buildroot}%{_libdir}/mysql/libmysqlclient*.so -rm -f %{buildroot}%{_mandir}/man1/mysql_config.1* +rm %{buildroot}%{_bindir}/mysql_config* +rm -r %{buildroot}%{_includedir}/mysql +rm %{buildroot}%{_datadir}/aclocal/mysql.m4 +rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc +rm %{buildroot}%{_libdir}/mysql/libmysqlclient*.so +rm %{buildroot}%{_mandir}/man1/mysql_config.1* %endif %if %{without client} -rm -f %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\ +rm %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\ mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} -rm -f %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\ +rm %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\ mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* %endif %if %{without connect} -rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/connect.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf.d/connect.cnf %endif %if %{without oqgraph} -rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf +%endif + +%if %{without tokudb} +%ifarch x86_64 +rm %{buildroot}%{_mandir}/man1/tokuftdump.1* +rm %{buildroot}%{_mandir}/man1/tokuft_logdump.1* +%endif %endif %if %{without config} -rm -f %{buildroot}%{_sysconfdir}/my.cnf -rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif %if %{without common} -rm -rf %{buildroot}%{_datadir}/%{pkg_name}/charsets +rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets %endif %if %{without errmsg} -rm -f %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt -rm -rf %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\ +rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt +rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif %if %{without bench} -rm -rf %{buildroot}%{_datadir}/sql-bench +rm -r %{buildroot}%{_datadir}/sql-bench %endif %if %{without test} -rm -f %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process} -rm -rf %{buildroot}%{_datadir}/mysql-test -rm -f %{buildroot}%{_mandir}/man1/mysql_client_test.1* +rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process} +rm -r %{buildroot}%{_datadir}/mysql-test +rm %{buildroot}%{_mandir}/man1/mysql_client_test.1* %endif %check @@ -998,16 +1003,16 @@ export MTR_BUILD_THREAD=%{__isa_bits} set -e cd mysql-test perl ./mysql-test-run.pl --force --retry=0 --ssl \ - --suite-timeout=720 --testcase-timeout=30 --skip-rpl \ + --suite-timeout=720 --testcase-timeout=30 \ --mysqld=--binlog-format=mixed --force-restart \ - --shutdown-timeout=60 --max-test-fail=0 \ + --shutdown-timeout=60 --max-test-fail=0 --big-test \ %if %{ignore_testsuite_result} || : %else - --skip-test-list=rh-skipped-tests.list + --skip-test-list=unstable-tests %endif # cmake build scripts will install the var cruft if left alone :-( - rm -rf var + rm -r var ) %endif %endif @@ -1346,7 +1351,7 @@ fi %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so %endif -%{_mandir}/man1/mysql_config.1* +%{_mandir}/man1/mysql_config* %endif %if %{with embedded} @@ -1378,6 +1383,14 @@ fi %endif %changelog +* Tue May 23 2017 Michal Schorm - 3:10.1.21-6 +- Plugin oqgraph enabled +- Plugin jemalloc enabled +- 'force' option for 'rm' removed +- Enabled '--big-test' option for the testsuite +- Disabled '--skip-rpl' option for the testsuite = replication tests enabled +- Multilib manpage added + * Mon May 15 2017 Fedora Release Engineering - 3:10.1.21-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild From e240eff40853c5ca1212b9b711a81c0c8f38827b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 24 May 2017 11:25:52 +0200 Subject: [PATCH 4/4] Rebase to 10.1.24 Build dependecies Bison and Libarchive added, others corrected Disabling Mroonga engine for i686 architecture, as it is not supported by MariaDB Removed patches: (fixed by upstream) Patch5: %{pkgnamepatch}-file-contents.patch Patch14: %{pkgnamepatch}-example-config-files.patch Patch31: %{pkgnamepatch}-string-overflow.patch Patch32: %{pkgnamepatch}-basedir.patch Patch41: %{pkgnamepatch}-galera-new-cluster-help.patch Skipped tests list updated Bigger READMEs update (made by upstream) Resolves: rhbz#1414387 CVE-2017-3313 Resolves partly: rhbz#1443408 CVE-2017-3308 CVE-2017-3309 CVE-2017-3453 CVE-2017-3456 CVE-2017-3464 --- mariadb-basedir.patch | 16 ---- mariadb-example-config-files.patch | 56 ----------- mariadb-file-contents.patch | 45 --------- mariadb-galera-new-cluster-help.patch | 25 ----- mariadb-logrotate.patch | 32 +++---- mariadb-scripts.patch | 3 +- mariadb-string-overflow.patch | 22 ----- mariadb.spec | 132 ++++++++++++++++---------- rh-skipped-tests-arm.list | 9 +- rh-skipped-tests-base.list | 55 +++++++++++ sources | 2 +- 11 files changed, 158 insertions(+), 239 deletions(-) delete mode 100644 mariadb-basedir.patch delete mode 100644 mariadb-example-config-files.patch delete mode 100644 mariadb-file-contents.patch delete mode 100644 mariadb-galera-new-cluster-help.patch delete mode 100644 mariadb-string-overflow.patch diff --git a/mariadb-basedir.patch b/mariadb-basedir.patch deleted file mode 100644 index d548ff5..0000000 --- a/mariadb-basedir.patch +++ /dev/null @@ -1,16 +0,0 @@ -Don't guess basedir in mysql_config; we place it under _libdir because -of multilib conflicts, so use rather configured @prefix@ path directly. - -diff -up mariadb-10.0.13/scripts/mysql_config.sh.patch32 mariadb-10.0.13/scripts/mysql_config.sh ---- mariadb-10.0.13/scripts/mysql_config.sh.patch32 2014-08-13 17:28:51.174776518 +0200 -+++ mariadb-10.0.13/scripts/mysql_config.sh 2014-08-13 17:32:18.205275028 +0200 -@@ -76,8 +76,7 @@ get_full_path () - - me=`get_full_path $0` - --# Script might have been renamed but assume mysql_config --basedir=`echo $me | sed -e 's;/bin/mysql_.*config.*;;'` -+basedir='@prefix@' - - ldata='@localstatedir@' - execdir='@libexecdir@' diff --git a/mariadb-example-config-files.patch b/mariadb-example-config-files.patch deleted file mode 100644 index d4bf5be..0000000 --- a/mariadb-example-config-files.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff -Naurp mariadb-10.1.19/support-files/my-huge.cnf.sh mariadb-10.1.19-patched/support-files/my-huge.cnf.sh ---- mariadb-10.1.19/support-files/my-huge.cnf.sh 2016-11-04 12:15:54.000000000 +0100 -+++ mariadb-10.1.19-patched/support-files/my-huge.cnf.sh 2016-12-02 10:29:41.111798361 +0100 -@@ -25,6 +25,7 @@ socket = @MYSQL_UNIX_ADDR@ - - # The MySQL server - [mysqld] -+log-error = @LOG_LOCATION@ - port = @MYSQL_TCP_PORT@ - socket = @MYSQL_UNIX_ADDR@ - skip-external-locking -diff -Naurp mariadb-10.1.19/support-files/my-innodb-heavy-4G.cnf.sh mariadb-10.1.19-patched/support-files/my-innodb-heavy-4G.cnf.sh ---- mariadb-10.1.19/support-files/my-innodb-heavy-4G.cnf.sh 2016-11-04 12:15:54.000000000 +0100 -+++ mariadb-10.1.19-patched/support-files/my-innodb-heavy-4G.cnf.sh 2016-12-02 10:30:07.647805999 +0100 -@@ -42,7 +42,7 @@ socket = @MYSQL_UNIX_ADDR@ - # The MariaDB server - # - [mysqld] -- -+log-error = @LOG_LOCATION@ - # generic configuration options - port = @MYSQL_TCP_PORT@ - socket = @MYSQL_UNIX_ADDR@ -diff -Naurp mariadb-10.1.19/support-files/my-large.cnf.sh mariadb-10.1.19-patched/support-files/my-large.cnf.sh ---- mariadb-10.1.19/support-files/my-large.cnf.sh 2016-11-04 12:15:54.000000000 +0100 -+++ mariadb-10.1.19-patched/support-files/my-large.cnf.sh 2016-12-02 10:30:14.744806845 +0100 -@@ -25,6 +25,7 @@ socket = @MYSQL_UNIX_ADDR@ - - # The MariaDB server - [mysqld] -+log-error = @LOG_LOCATION@ - port = @MYSQL_TCP_PORT@ - socket = @MYSQL_UNIX_ADDR@ - skip-external-locking -diff -Naurp mariadb-10.1.19/support-files/my-medium.cnf.sh mariadb-10.1.19-patched/support-files/my-medium.cnf.sh ---- mariadb-10.1.19/support-files/my-medium.cnf.sh 2016-11-04 12:15:54.000000000 +0100 -+++ mariadb-10.1.19-patched/support-files/my-medium.cnf.sh 2016-12-02 10:30:21.726807677 +0100 -@@ -26,6 +26,7 @@ socket = @MYSQL_UNIX_ADDR@ - - # The MariaDB server - [mysqld] -+log-error = @LOG_LOCATION@ - port = @MYSQL_TCP_PORT@ - socket = @MYSQL_UNIX_ADDR@ - skip-external-locking -diff -Naurp mariadb-10.1.19/support-files/my-small.cnf.sh mariadb-10.1.19-patched/support-files/my-small.cnf.sh ---- mariadb-10.1.19/support-files/my-small.cnf.sh 2016-11-04 12:15:54.000000000 +0100 -+++ mariadb-10.1.19-patched/support-files/my-small.cnf.sh 2016-12-02 10:30:27.988808423 +0100 -@@ -24,6 +24,7 @@ socket = @MYSQL_UNIX_ADDR@ - - # The MySQL server - [mysqld] -+log-error = @LOG_LOCATION@ - port = @MYSQL_TCP_PORT@ - socket = @MYSQL_UNIX_ADDR@ - skip-external-locking diff --git a/mariadb-file-contents.patch b/mariadb-file-contents.patch deleted file mode 100644 index 85c1163..0000000 --- a/mariadb-file-contents.patch +++ /dev/null @@ -1,45 +0,0 @@ -Upstream chooses to install INFO_SRC and INFO_BIN into the docs dir, which -breaks at least two packaging commandments, so we put them into $libdir -instead. That means we have to hack the file_contents regression test -to know about this. - -Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425 - - -diff -rup mariadb-10.1.8.orig/mysql-test/t/file_contents.test mariadb-10.1.8/mysql-test/t/file_contents.test ---- mariadb-10.1.8.orig/mysql-test/t/file_contents.test 2015-10-15 17:43:44.000000000 +0200 -+++ mariadb-10.1.8/mysql-test/t/file_contents.test 2015-10-19 13:54:53.505550439 +0200 -@@ -11,7 +11,7 @@ - --perl - print "\nChecking 'INFO_SRC' and 'INFO_BIN'\n"; - $dir_bin = $ENV{'MYSQL_BINDIR'}; --if ($dir_bin eq '/usr/') { -+if ($dir_bin =~ '.*/usr/$') { - # RPM package - $dir_docs = $dir_bin; - $dir_docs =~ s|/lib|/share/doc|; -@@ -22,7 +22,7 @@ if ($dir_bin eq '/usr/') { - # RedHat: version number in directory name - $dir_docs = glob "$dir_docs/MariaDB-server*"; - } --} elsif ($dir_bin eq '/usr') { -+} elsif ($dir_bin =~ '.*/usr$') { - # RPM build during development - $dir_docs = "$dir_bin/share/doc"; - if(-d "$dir_docs/packages") { -@@ -32,6 +32,15 @@ if ($dir_bin eq '/usr/') { - # RedHat/Debian: version number in directory name - $dir_docs = glob "$dir_docs/mariadb-server-*"; - $dir_docs = glob "$dir_docs/MariaDB-server*" unless -d $dir_docs; -+ -+ # All the above is entirely wacko, because these files are not docs; -+ # they should be kept in libdir instead. mtr does not provide a nice -+ # way to find libdir though, so we have to kluge it like this: -+ if (-d "$dir_bin/lib64/mysql") { -+ $dir_docs = "$dir_bin/lib64/mysql"; -+ } else { -+ $dir_docs = "$dir_bin/lib/mysql"; -+ } - } - # Slackware - $dir_docs = glob "$dir_bin/doc/mariadb-[0-9]*" unless -d $dir_docs; diff --git a/mariadb-galera-new-cluster-help.patch b/mariadb-galera-new-cluster-help.patch deleted file mode 100644 index cf63719..0000000 --- a/mariadb-galera-new-cluster-help.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- mariadb-10.1.14/scripts/galera_new_cluster.sh.orig 2016-05-11 18:51:13.797926130 +0200 -+++ mariadb-10.1.14/scripts/galera_new_cluster.sh 2016-05-11 19:19:41.195591769 +0200 -@@ -5,6 +5,22 @@ - # the Free Software Foundation; either version 2.1 of the License, or - # (at your option) any later version. - -+if [ "${1}" == "-h" -o "${1}" == "--help" ]; then -+ cat </dev/null - then -- @bindir@/mysqladmin flush-logs +- @bindir@/mysqladmin --local flush-error-log \ +- flush-engine-log flush-general-log flush-slow-log - fi - endscript -} +# Then, un-comment the following lines to enable rotation of mysql's log file: -+ -+#@LOG_LOCATION@ { -+# create 640 mysql mysql ++#@LOG_LOCATION@/mysqld.log { ++# create 600 mysql mysql +# notifempty -+# daily ++# daily +# rotate 3 +# missingok +# compress +# postrotate -+# # just if mysqld is really running -+# if test -x @bindir@/mysqladmin && \ -+# @bindir@/mysqladmin ping &>/dev/null -+# then -+# @bindir@/mysqladmin flush-logs -+# fi ++# # just if mysqld is really running ++# if test -x @bindir@/mysqladmin && \ ++# @bindir@/mysqladmin ping &>/dev/null ++# then ++# @bindir@/mysqladmin --local flush-error-log \ ++# flush-engine-log flush-general-log flush-slow-log ++# fi +# endscript +#} ++ diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index 6ba5bae..2f935b3 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -35,4 +35,5 @@ + ENDFOREACH() ENDIF() - # Configure two scripts from one 'in' file. + # Install libgcc as mylibgcc.a + diff --git a/mariadb-string-overflow.patch b/mariadb-string-overflow.patch deleted file mode 100644 index a8231bd..0000000 --- a/mariadb-string-overflow.patch +++ /dev/null @@ -1,22 +0,0 @@ -These issues were found by Coverity static analysis tool, for more info -see messages by particular fixes (messages belong to 5.1.61). - -Filed upstream at http://bugs.mysql.com/bug.php?id=64631 - - -Error: BUFFER_SIZE_WARNING: -/builddir/build/BUILD/mysql-5.1.61/sql/sql_prepare.cc:2749: buffer_size_warning: Calling strncpy with a maximum size argument of 512 bytes on destination array "this->stmt->last_error" of size 512 bytes might leave the destination string unterminated. - - -diff -up mariadb-10.0.10/sql/sql_prepare.cc.p8 mariadb-10.0.10/sql/sql_prepare.cc ---- mariadb-10.0.10/sql/sql_prepare.cc.p8 2014-03-30 19:56:42.000000000 +0200 -+++ mariadb-10.0.10/sql/sql_prepare.cc 2014-04-07 18:43:33.901074770 +0200 -@@ -3021,7 +3021,7 @@ void mysql_stmt_get_longdata(THD *thd, c - { - stmt->state= Query_arena::STMT_ERROR; - stmt->last_errno= thd->get_stmt_da()->sql_errno(); -- strncpy(stmt->last_error, thd->get_stmt_da()->message(), MYSQL_ERRMSG_SIZE); -+ strncpy(stmt->last_error, thd->get_stmt_da()->message(), sizeof(stmt->last_error)-1); - } - thd->set_stmt_da(save_stmt_da); - diff --git a/mariadb.spec b/mariadb.spec index 4002a3b..efc5761 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,9 +3,6 @@ %global pkgnamepatch mariadb # Regression tests may take a long time (many cores recommended), skip them by -# passing --nocheck to rpmbuild or by setting runselftest to 0 if defining -# --nocheck is not possible (e.g. in koji build) -#TODO: enable %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build @@ -22,17 +19,20 @@ # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch -# TokuDB engine is now part of MariaDB, but it is available only for x86_64; -# variable tokudb allows to build with TokuDB storage engine +# TokuDB engine +# https://mariadb.com/kb/en/mariadb/tokudb/ +# TokuDB engine is available only for x86_64 %ifarch x86_64 %bcond_without tokudb %else %bcond_with tokudb %endif -# Mroonga engine is now part of MariaDB, but it only builds for x86_64; -# variable mroonga allows to build with Mroonga storage engine -%ifarch x86_64 i686 +# Mroonga engine +# https://mariadb.com/kb/en/mariadb/about-mroonga/ +# Actual version in MariaDB, 5.04, only supports the x86_64 +# Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html +%ifarch x86_64 %bcond_without mroonga %else %bcond_with mroonga @@ -80,7 +80,7 @@ # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version -%global pcre_version 8.39 +%global pcre_version 8.40 %if 0%{?fedora} >= 21 %bcond_without pcre %else @@ -118,11 +118,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 21 +%global bugfixver 24 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 5%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -154,6 +154,8 @@ Source52: rh-skipped-tests-ppc-s390.list # General upstream response was slightly positive Source70: clustercheck.sh Source71: LICENSE.clustercheck +# Upstream said: "Generally MariaDB has more allows to allow for xtradb sst mechanism". +# https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te # Patch2: testsuite README update, introducing skipped-tests.list @@ -162,7 +164,6 @@ Patch2: %{pkgnamepatch}-install-test.patch # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 Patch4: %{pkgnamepatch}-logrotate.patch -Patch5: %{pkgnamepatch}-file-contents.patch # Patch7: add to the CMake file all files where we want macros to be expanded Patch7: %{pkgnamepatch}-scripts.patch # Patch8: resolve conflict, when we combine MariaDB and MySQL packages @@ -171,13 +172,8 @@ Patch8: %{pkgnamepatch}-install-db-sharedir.patch Patch9: %{pkgnamepatch}-ownsetup.patch # Patch13: patch of test of ssl cypher unsupported in Fedora Patch13: %{pkgnamepatch}-ssl-cypher.patch -Patch14: %{pkgnamepatch}-example-config-files.patch # Patches specific for this mysql package -# Patch31: -# TODO: I should run covscan again -Patch31: %{pkgnamepatch}-string-overflow.patch -Patch32: %{pkgnamepatch}-basedir.patch # Patch34: # TODO: I should run covscan again Patch34: %{pkgnamepatch}-covscan-stroverflow.patch @@ -186,9 +182,8 @@ Patch37: %{pkgnamepatch}-notestdb.patch # Patches for galera Patch40: %{pkgnamepatch}-galera.cnf.patch -Patch41: %{pkgnamepatch}-galera-new-cluster-help.patch -BuildRequires: cmake +BuildRequires: cmake gcc-c++ BuildRequires: libaio-devel BuildRequires: libedit-devel BuildRequires: ncurses-devel @@ -197,11 +192,17 @@ BuildRequires: zlib-devel BuildRequires: multilib-rpm-config BuildRequires: krb5-devel BuildRequires: selinux-policy-devel -BuildRequires: jemalloc-devel %{?with_init_systemd:BuildRequires: systemd systemd-devel} +# Sphinx storage engine +BuildRequires: sphinx libsphinxclient libsphinxclient-devel +# Bison SQL parser +BuildRequires: bison bison-devel +# Jemalloc +BuildRequires: jemalloc-devel # Cracklib plugin BuildRequires: cracklib-dicts cracklib-devel -BuildRequires: cracklib-dicts +# Mariabackup +BuildRequires: libarchive libarchive-devel # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) @@ -229,6 +230,7 @@ BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) BuildRequires: perl(Symbol) # Temporary workaound to build with OpenSSL 1.0 on Fedora >=26 (wich requires OpenSSL 1.1) +# https://jira.mariadb.org/browse/MDEV-10332 %if 0%{?fedora} >= 26 BuildRequires: compat-openssl10-devel Requires: compat-openssl10 @@ -239,7 +241,6 @@ Requires: openssl %endif Requires: bash coreutils grep -Requires: jemalloc Requires: %{name}-common%{?_isa} = %{sameevr} # Explicit EVR requirement for -libs is needed for RHBZ#1406320 @@ -396,6 +397,16 @@ Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d Requires: coreutils Requires(pre): /usr/sbin/useradd +# Sphinx storage engine +Recommends: sphinx libsphinxclient +# Bison SQL parser +Requires: bison +# Cracklib plugin: +Recommends: cracklib-dicts +# Mariabackup tool +Recommends: libarchive +# Jemalloc +Requires: jemalloc %if %{with init_systemd} # We require this to be present for %%{_tmpfilesdir} Requires: systemd @@ -599,18 +610,13 @@ MariaDB is a community developed branch of MySQL. %patch2 -p1 %patch4 -p1 -%patch5 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch13 -p1 -%patch14 -p1 -%patch31 -p1 -%patch32 -p1 %patch34 -p1 %patch37 -p1 %patch40 -p1 -%patch41 -p1 # workaround for upstream bug #56342 rm mysql-test/t/ssl_8k_key-master.opt @@ -650,11 +656,7 @@ then fi } -# Fix for RHBZ #1395127 - part "The -Werror option in Percona directory prevents MariaDB to be compiled on x86_64 arch" from comment 4 -# Upstream: https://jira.mariadb.org/browse/MDEV-11965 -%ifarch x86_64 -sed -i s/-Werror//g storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake -%endif + %build @@ -680,11 +682,6 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` %ifarch ppc64 CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` %endif -# -Werror break rawhide(F26) build on x86_64 -%ifarch x86_64 -CFLAGS=`echo $CFLAGS| sed -e "s|-Werror=format-security||g" ` -CFLAGS=`echo $CFLAGS| sed -e "s|-Wall||g" ` -%endif CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS @@ -740,6 +737,8 @@ export LDFLAGS make %{?_smp_mflags} VERBOSE=1 + + # debuginfo extraction scripts fail to find source files in their real # location -- satisfy them by copying these files into location, which # is expected by scripts @@ -790,7 +789,6 @@ mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig # but that's pretty wacko --- see also %%{name}-file-contents.patch) install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ -rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/ mkdir -p %{buildroot}%{logfiledir} chmod 0750 %{buildroot}%{logfiledir} @@ -946,10 +944,13 @@ rm %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf %if %{without tokudb} %ifarch x86_64 +rm %{buildroot}%{_bindir}/tokuftdump +rm %{buildroot}%{_bindir}/tokuft_logprint +%endif +# because upstream ships manpages for tokudb even on architectures that tokudb doesn't support rm %{buildroot}%{_mandir}/man1/tokuftdump.1* rm %{buildroot}%{_mandir}/man1/tokuft_logdump.1* %endif -%endif %if %{without config} rm %{buildroot}%{_sysconfdir}/my.cnf @@ -998,6 +999,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} # Failing test debug 02/14/17 # --do-test=mysql_client_test_nonblock \ +# --skip-rpl ( set -e @@ -1012,6 +1014,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} --skip-test-list=unstable-tests %endif # cmake build scripts will install the var cruft if left alone :-( + # TODO: test again rm -r var ) %endif @@ -1134,9 +1137,9 @@ fi %if %{with common} %files common -%license COPYING COPYING.LESSER -%license storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %doc README README.mysql-license README.mysql-docs +%doc %{_datadir}/doc/%{_pkgdocdirname} + %dir %{_libdir}/mysql %dir %{_libdir}/mysql/plugin %dir %{_datadir}/%{pkg_name} @@ -1196,7 +1199,9 @@ fi %{_bindir}/aria_ftdump %{_bindir}/aria_pack %{_bindir}/aria_read_log +%{_bindir}/mariabackup %{_bindir}/mariadb-service-convert +%{_bindir}/mbstream %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog @@ -1211,6 +1216,7 @@ fi %{_bindir}/resolve_stack_dump %{_bindir}/resolveip %{_bindir}/wsrep_sst_common +%{_bindir}/wsrep_sst_mariabackup %{_bindir}/wsrep_sst_mysqldump %{_bindir}/wsrep_sst_rsync %{_bindir}/wsrep_sst_xtrabackup @@ -1221,9 +1227,8 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf %{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} - # Cracklib plugin -%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf %{_libexecdir}/mysqld @@ -1244,21 +1249,33 @@ fi %{_mandir}/man1/aria_ftdump.1* %{_mandir}/man1/aria_pack.1* %{_mandir}/man1/aria_read_log.1* +%{_mandir}/man1/galera_new_cluster.1* +%{_mandir}/man1/galera_recovery.1* +%{_mandir}/man1/mariadb-service-convert.1* %{_mandir}/man1/myisamchk.1* %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* +%{_mandir}/man1/mysqlbug.1* %{_mandir}/man1/mysql.server.1* %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* -%{_mandir}/man1/mysqlbug.1* +%{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/mysqld_safe.1* +%{_mandir}/man1/mysqld_safe_helper.1* +%{_mandir}/man1/my_safe_process.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/replace.1* -%{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man1/resolveip.1* -%{_mandir}/man1/mysql_tzinfo_to_sql.1* +%{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man8/mysqld.8* +%{?with_tokudb:%{_mandir}/man1/tokuftdump.1*} +%{?with_tokudb:%{_mandir}/man1/tokuft_logdump.1*} +%{_mandir}/man1/wsrep_sst_common.1* +%{_mandir}/man1/wsrep_sst_mysqldump.1* +%{_mandir}/man1/wsrep_sst_rsync.1* +%{_mandir}/man1/wsrep_sst_xtrabackup.1* +%{_mandir}/man1/wsrep_sst_xtrabackup-v2.1* %{_datadir}/%{pkg_name}/fill_help_tables.sql %{_datadir}/%{pkg_name}/install_spider.sql @@ -1316,7 +1333,7 @@ fi %endif %files server-utils -#Perl utilities +# Perl utilities %{_bindir}/mysql_convert_table_format %{_bindir}/mysql_fix_extensions %{_bindir}/mysql_setpermission @@ -1331,14 +1348,14 @@ fi %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqlhotcopy.1* %{_mandir}/man1/mysql_setpermission.1* -#Utilities that can be used remotely +# Utilities that can be used remotely %{_bindir}/mysql_upgrade %{_bindir}/mysqltest %{_bindir}/perror %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysqltest.1* %{_mandir}/man1/perror.1* -#Other utilities +# Other utilities %{_bindir}/mysqld_safe_helper %if %{with devel} @@ -1369,6 +1386,8 @@ fi %if %{with bench} %files bench %{_datadir}/sql-bench +#TODO: do a sanity check +%exclude %{_datadir}/sql-bench/README # RPMLINT W: # mariadb-bench.x86_64: W: no-documentation %doc %{_datadir}/sql-bench/README @@ -1383,6 +1402,21 @@ fi %endif %changelog +* Fri Jun 02 2017 Michal Schorm - 3:10.1.24-1 +- Rebase to 10.1.24 +- Build dependecies Bison and Libarchive added, others corrected +- Disabling Mroonga engine for i686 architecture, as it is not supported by MariaDB +- Removed patches: (fixed by upstream) + Patch5: mariadb-file-contents.patch + Patch14: mariadb-example-config-files.patch + Patch31: mariadb-string-overflow.patch + Patch32: mariadb-basedir.patch + Patch41: mariadb-galera-new-cluster-help.patch +- Resolves: rhbz#1414387 + CVE-2017-3313 +- Resolves partly: rhbz#1443408 + CVE-2017-3308 CVE-2017-3309 CVE-2017-3453 CVE-2017-3456 CVE-2017-3464 + * Tue May 23 2017 Michal Schorm - 3:10.1.21-6 - Plugin oqgraph enabled - Plugin jemalloc enabled diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index d7e0b58..8b13789 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,8 +1 @@ -main.partition_exchange : #1399847 -main.analyze_stmt_orderby : #1399847 -main.explain_json_innodb : #1399847 -main.explain_json_format_partitions : #1399847 -main.analyze_format_json : #1399847 -main.explain_json : #1399847 -main.subselect_cache : #1399847 -main.type_year : #1399847 + diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 26c64d0..48fb42b 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -14,3 +14,58 @@ perfschema.socket_summary_by_instance_func : #1399847 # test that started to fail in 10.1.21 only on i686 only in Fedora Rawhide (F26). 14/02/17 main.mysql_client_test_nonblock : #1399847 + +# needs this tests disabled for mode build +plugins.feedback_plugin_load : # + +# ---- +# Failing from rebase to 10.1.24 +# issues trackers will be added + +encryption.create_or_replace : + +perfschema.nesting : +perfschema.socket_summary_by_event_name_func : +perfschema.socket_summary_by_instance_func : +perfschema.cnf_option : + +innodb.innodb_defrag_binlog : + +rpl.rpl_row_img_blobs : +rpl.rpl_row_img_eng_min : +rpl.rpl_row_img_eng_noblob : + +sys_vars.log_error_func : +sys_vars.log_error_func2 : +sys_vars.slave_parallel_threads_basic : + +spider/bg.spider3_fixes : +spider/bg.spider3_fixes_part : +spider/bg.spider_fixes : +spider/bg.spider_fixes_part : +spider/bg.basic_sql : +spider/bg.basic_sql_part : +spider/bg.direct_aggregate : +spider/bg.direct_aggregate_part : +spider/bg.direct_update : +spider/bg.direct_update_part : +spider/bg.function : +spider/bg.ha : +spider/bg.ha_part : +spider/bg.vp_fixes : +spider.spider3_fixes : +spider.spider3_fixes_part : +spider.spider_fixes : +spider.spider_fixes_part : +spider.basic_sql : +spider.basic_sql_part : +spider.direct_aggregate : +spider.direct_aggregate_part : +spider.direct_update : +spider.direct_update_part : +spider.function : +spider.ha : +spider.ha_part : +spider.vp_fixes : + + diff --git a/sources b/sources index 0c97c82..5594650 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.1.21.tar.gz) = 241467ce7c04603261509e45b3c476632a11754f15dead67434bb8a0fbad6ebcf44c63ffeb7075574e54d14039b22702d48732c1fd8a498948d8b6fc54d54714 +SHA512 (mariadb-10.1.24.tar.gz) = 0b8d81b53f6866a81f33559ce57ebf956fec3ba25da0bd58c8bee3b2ecc00a6c370340000209d18463f84501d3ba35994b51ef99224616c37cd38d2fc87b73e9