diff --git a/.gitignore b/.gitignore index 794dc57..2fcbda1 100644 --- a/.gitignore +++ b/.gitignore @@ -19,4 +19,3 @@ /mariadb-10.0.19.tar.gz /mariadb-10.0.20.tar.gz /mariadb-10.0.21.tar.gz -/mariadb-10.1.8.tar.gz diff --git a/mariadb-covscan-signexpr.patch b/mariadb-covscan-signexpr.patch new file mode 100644 index 0000000..54d47b5 --- /dev/null +++ b/mariadb-covscan-signexpr.patch @@ -0,0 +1,16 @@ +This issue has been found by Coverity - static analysis tool. + +mysql-5.5.31/strings/ctype-ucs2.c:1707:sign_extension – Suspicious implicit sign extension: "s[0]" with type "unsigned char" (8 bits, unsigned) is promoted in "(s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned). If "(s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. + +diff -up mariadb-10.0.15/strings/ctype-ucs2.c.orig mariadb-10.0.15/strings/ctype-ucs2.c +--- mariadb-10.0.15/strings/ctype-ucs2.c.orig 2014-11-27 15:14:11.129554529 +0100 ++++ mariadb-10.0.15/strings/ctype-ucs2.c 2014-11-27 15:13:06.806439653 +0100 +@@ -1932,7 +1932,7 @@ my_utf32_uni(CHARSET_INFO *cs __attribut + { + if (s + 4 > e) + return MY_CS_TOOSMALL4; +- *pwc= (s[0] << 24) + (s[1] << 16) + (s[2] << 8) + (s[3]); ++ *pwc= (((my_wc_t)s[0]) << 24) + (s[1] << 16) + (s[2] << 8) + (s[3]); + return 4; + } + diff --git a/mariadb-errno.patch b/mariadb-errno.patch index 9caec8b..8901403 100644 --- a/mariadb-errno.patch +++ b/mariadb-errno.patch @@ -1,8 +1,7 @@ -diff -rup mariadb-10.1.8.orig/include/my_sys.h mariadb-10.1.8/include/my_sys.h ---- mariadb-10.1.8.orig/include/my_sys.h 2015-10-15 17:43:37.000000000 +0200 -+++ mariadb-10.1.8/include/my_sys.h 2015-10-21 15:48:00.948590204 +0200 -@@ -218,13 +218,7 @@ extern void my_large_free(uchar *ptr); - #define my_safe_afree(ptr, size) my_afree(ptr) +--- mariadb-10.0.10/include/my_sys.h.p1 2014-03-30 19:56:37.000000000 +0200 ++++ mariadb-10.0.10/include/my_sys.h 2014-04-07 15:30:20.627060157 +0200 +@@ -209,13 +209,7 @@ extern void my_large_free(uchar *ptr); + #define my_safe_afree(ptr, size, max_alloca_sz) my_afree(ptr) #endif /* HAVE_ALLOCA */ -#ifndef errno /* did we already get it? */ diff --git a/mariadb-file-contents.patch b/mariadb-file-contents.patch index 85c1163..441f4f0 100644 --- a/mariadb-file-contents.patch +++ b/mariadb-file-contents.patch @@ -6,9 +6,10 @@ 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 +diff -up mariadb-10.0.12/mysql-test/t/file_contents.test.file_contents mariadb-10.0.12/mysql-test/t/file_contents.test. +diff -up mariadb-10.0.12/mysql-test/t/file_contents.test.file_contents mariadb-10.0.12/mysql-test/t/file_contents.test +--- mariadb-10.0.12/mysql-test/t/file_contents.test.file_contents 2014-06-12 11:26:03.000000000 +0200 ++++ mariadb-10.0.12/mysql-test/t/file_contents.test 2014-07-24 23:53:49.833176793 +0200 @@ -11,7 +11,7 @@ --perl print "\nChecking 'INFO_SRC' and 'INFO_BIN'\n"; @@ -20,17 +21,17 @@ diff -rup mariadb-10.1.8.orig/mysql-test/t/file_contents.test mariadb-10.1.8/mys $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*"; + $dir_docs = glob "$dir_docs/MySQL-server*"; } -} elsif ($dir_bin eq '/usr') { -+} elsif ($dir_bin =~ '.*/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; + $dir_docs = glob "$dir_docs/MySQL-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 diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch index 9fdb94b..ea10cdf 100644 --- a/mariadb-ownsetup.patch +++ b/mariadb-ownsetup.patch @@ -1,6 +1,6 @@ -diff -rup mariadb-10.1.8.orig/support-files/rpm/server.cnf mariadb-10.1.8/support-files/rpm/server.cnf ---- mariadb-10.1.8.orig/support-files/rpm/server.cnf 2015-10-15 17:44:19.000000000 +0200 -+++ mariadb-10.1.8/support-files/rpm/server.cnf 2015-10-21 15:39:36.298577017 +0200 +diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/support-files/rpm/server.cnf +--- mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup 2015-01-24 23:55:55.110063592 +0100 ++++ mariadb-10.0.15/support-files/rpm/server.cnf 2015-01-24 23:57:42.308114387 +0100 @@ -9,7 +9,16 @@ [server] @@ -16,5 +16,5 @@ diff -rup mariadb-10.1.8.orig/support-files/rpm/server.cnf mariadb-10.1.8/suppor +pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid + - # - # * Galera-related settings + # this is only for embedded server + [embedded] diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index 43674d7..e062c50 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,6 +1,7 @@ ---- mariadb-10.1.8/scripts/CMakeLists.txt.systemd 2015-10-15 17:43:45.000000000 +0200 -+++ mariadb-10.1.8/scripts/CMakeLists.txt 2015-10-21 17:39:41.179737915 +0200 -@@ -323,6 +323,33 @@ ELSE() +diff -up mariadb-10.0.16/scripts/CMakeLists.txt.systemd mariadb-10.0.16/scripts/CMakeLists.txt +--- mariadb-10.0.16/scripts/CMakeLists.txt.systemd 2015-01-25 16:21:37.000000000 +0100 ++++ mariadb-10.0.16/scripts/CMakeLists.txt 2015-02-03 10:53:05.261790495 +0100 +@@ -367,6 +367,33 @@ ELSE() COMPONENT ${${file}_COMPONENT} ) ENDFOREACH() @@ -34,3 +35,15 @@ ENDIF() # Install libgcc as mylibgcc.a +diff -up mariadb-10.0.15/support-files/CMakeLists.txt.cmakescripts mariadb-10.0.15/support-files/CMakeLists.txt +--- mariadb-10.0.15/support-files/CMakeLists.txt.cmakescripts 2014-11-27 15:07:13.203821563 +0100 ++++ mariadb-10.0.15/support-files/CMakeLists.txt 2014-11-27 15:04:26.252530666 +0100 +@@ -112,6 +112,8 @@ IF(UNIX) + COMPONENT SharedLibraries) + INSTALL(FILES rpm/mysql-clients.cnf DESTINATION ${INSTALL_SYSCONF2DIR} + COMPONENT Client) ++ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/rpm/server.cnf ++ ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY ) + INSTALL(FILES rpm/server.cnf DESTINATION ${INSTALL_SYSCONF2DIR} + COMPONENT IniFiles) + ENDIF() diff --git a/mariadb.spec b/mariadb.spec index ca7264f..04ff34e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -112,12 +112,12 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} -%global compatver 10.1 -%global bugfixver 8 +%global compatver 10.0 +%global bugfixver 21 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -164,6 +164,7 @@ Patch12: %{pkgnamepatch}-admincrash.patch Patch30: %{pkgnamepatch}-errno.patch Patch31: %{pkgnamepatch}-string-overflow.patch Patch32: %{pkgnamepatch}-basedir.patch +Patch33: %{pkgnamepatch}-covscan-signexpr.patch Patch34: %{pkgnamepatch}-covscan-stroverflow.patch Patch36: %{pkgnamepatch}-ssltest.patch Patch37: %{pkgnamepatch}-notestdb.patch @@ -502,6 +503,7 @@ MariaDB is a community developed branch of MySQL. %patch30 -p1 %patch31 -p1 %patch32 -p1 +%patch33 -p1 %patch34 -p1 %patch36 -p1 %patch37 -p1 @@ -774,7 +776,6 @@ rm -f %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded rm -f %{buildroot}%{_bindir}/mysql_config* rm -rf %{buildroot}%{_includedir}/mysql rm -f %{buildroot}%{_datadir}/aclocal/mysql.m4 -rm -f %{buildroot}%{_datadir}/pkgconfig/mariadb.pc rm -f %{buildroot}%{_libdir}/mysql/libmysqlclient*.so rm -f %{buildroot}%{_mandir}/man1/mysql_config.1* %endif @@ -840,14 +841,12 @@ export MTR_BUILD_THREAD=%{__isa_bits} set -e cd mysql-test perl ./mysql-test-run.pl --force --retry=0 --ssl \ +%if ! %{check_testsuite} + --skip-test-list=rh-skipped-tests.list \ +%endif --suite-timeout=720 --testcase-timeout=30 \ --mysqld=--binlog-format=mixed --force-restart \ - --shutdown-timeout=60 --max-test-fail=0 \ -%if %{check_testsuite} - || : -%else - --skip-test-list=rh-skipped-tests.list -%endif + --shutdown-timeout=60 --max-test-fail=0 # cmake build scripts will install the var cruft if left alone :-( rm -rf var ) @@ -953,7 +952,6 @@ fi %dir %{_sysconfdir}/my.cnf.d %config(noreplace) %{_sysconfdir}/my.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf -%config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset %endif %if %{with common} @@ -1027,11 +1025,6 @@ fi %{_bindir}/replace %{_bindir}/resolve_stack_dump %{_bindir}/resolveip -%{_bindir}/wsrep_sst_common -%{_bindir}/wsrep_sst_mysqldump -%{_bindir}/wsrep_sst_rsync -%{_bindir}/wsrep_sst_xtrabackup -%{_bindir}/wsrep_sst_xtrabackup-v2 %{?with_tokudb:%{_bindir}/tokuftdump} %{?with_tokudb:%{_bindir}/tokuft_logprint} @@ -1085,8 +1078,6 @@ fi %{_datadir}/%{pkg_name}/fill_help_tables.sql %{_datadir}/%{pkg_name}/install_spider.sql -%{_datadir}/%{pkg_name}/maria_add_gis_sp.sql -%{_datadir}/%{pkg_name}/maria_add_gis_sp_bootstrap.sql %{_datadir}/%{pkg_name}/mysql_system_tables.sql %{_datadir}/%{pkg_name}/mysql_system_tables_data.sql %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql @@ -1094,15 +1085,6 @@ fi %{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/install.sql} %{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/uninstall.sql} %{_datadir}/%{pkg_name}/my-*.cnf -%{_datadir}/%{pkg_name}/wsrep.cnf -%{_datadir}/%{pkg_name}/wsrep_notify -%dir %{_datadir}/%{pkg_name}/policy -%dir %{_datadir}/%{pkg_name}/policy/apparmor -%dir %{_datadir}/%{pkg_name}/policy/selinux -%{_datadir}/%{pkg_name}/policy/apparmor/README -%{_datadir}/%{pkg_name}/policy/apparmor/usr.sbin.mysqld* -%{_datadir}/%{pkg_name}/policy/selinux/README -%{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.* %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir @@ -1111,7 +1093,6 @@ fi %{_libexecdir}/mysql-check-socket %{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common -%{_libexecdir}/rcmysql %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} %attr(0755,mysql,mysql) %dir %{pidfiledir} @@ -1138,7 +1119,6 @@ fi %{_bindir}/mysql_config-%{__isa_bits} %{_includedir}/mysql %{_datadir}/aclocal/mysql.m4 -%{_datadir}/pkgconfig/mariadb.pc %if %{with clibrary} %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so @@ -1172,9 +1152,6 @@ fi %endif %changelog -* Thu Oct 22 2015 Jakub Dorňák - 1:10.1.8-1 -- Update to 10.1.8 - * Thu Aug 27 2015 Jonathan Wakely - 1:10.0.21-2 - Rebuilt for Boost 1.59 diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index 9b92367..473af3a 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,12 +1,14 @@ -connect.bin : rhbz#1096787 (pass on aarch64) -connect.endian : rhbz#1096787 +# Disable perfschema.func_file_io and perfschema.func_mutex, which fail +# because cycle counter returns 0 every time on ARM architectures. +# This is caused by missing hardware performance counter support on ARM. +# Discussion about fixing that can be found in RH bug #741325. + +perfschema.func_file_io : rhbz#773116 cycle counter does not work on arm +perfschema.func_mutex : rhbz#773116 cycle counter does not work on arm -main.partition_exchange : rhbz#1096787 -main.analyze_stmt_orderby : rhbz#1096787 -main.explain_json_innodb : rhbz#1096787 -main.explain_json_format_partitions : rhbz#1096787 -main.analyze_format_json : rhbz#1096787 -main.explain_json : rhbz#1096787 -main.subselect_cache : rhbz#1096787 -main.type_year : rhbz#1096787 +connect.bin : rhbz#1096787 (pass on aarch64) +perfschema.setup_objects : rhbz#1096787 + +connect.endian : rhbz#1096787 +perfschema.global_read_lock : rhbz#1096787 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index fb33990..5f9270b 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,14 +1,15 @@ # These tests fail with MariaDB 10: -main.userstat : rhbz#1096787 -main.set_statement_notembedded_binlog : rhbz#1096787 -main.ssl_7937 : rhbz#1096787 -main.ssl_crl_clients : rhbz#1096787 -main.openssl_1 : rhbz#1096787 -main.ssl : rhbz#1096787 -main.ssl_8k_key : rhbz#1096787 -main.ssl_compress : rhbz#1096787 -main.ssl_timeout : rhbz#1096787 -perfschema.nesting : rhbz#1096787 -perfschema.socket_summary_by_event_name_func : rhbz#1096787 -perfschema.socket_summary_by_instance_func : rhbz#1096787 +funcs_1.innodb_func_view : rhbz#1096787 +funcs_1.memory_func_view : rhbz#1096787 +funcs_1.myisam_func_view : rhbz#1096787 +main.bigint : rhbz#1096787 +main.dyncol : rhbz#1096787 +main.func_str : rhbz#1096787 +main.ssl_7937 : rhbz#1096787 +main.ssl_crl_clients : rhbz#1096787 +perfschema.nesting : rhbz#1096787 +perfschema.socket_summary_by_event_name_func : rhbz#1096787 +perfschema.socket_summary_by_instance_func : rhbz#1096787 +vcol.vcol_supported_sql_funcs_innodb : rhbz#1096787 +vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 diff --git a/sources b/sources index ab130dd..a3c0d36 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9ba0aaabba40153d83e70edcc1aa43a8 mariadb-10.1.8.tar.gz +956561f3798d1fe8dfbe4b665287a87a mariadb-10.0.21.tar.gz