From 6290cad8ad97ac4f553ee528fb825e6d5b5593ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= <jdornak@redhat.com>
Date: Thu, 22 Oct 2015 21:51:01 +0200
Subject: [PATCH] Update to 10.1.8

---
 .gitignore                     |  1 +
 mariadb-covscan-signexpr.patch | 16 -------------
 mariadb-errno.patch            |  9 ++++----
 mariadb-file-contents.patch    | 13 +++++------
 mariadb-ownsetup.patch         | 10 ++++-----
 mariadb-scripts.patch          | 19 +++-------------
 mariadb.spec                   | 41 ++++++++++++++++++++++++++--------
 rh-skipped-tests-arm.list      | 22 +++++++++---------
 rh-skipped-tests-base.list     | 25 ++++++++++-----------
 sources                        |  2 +-
 10 files changed, 75 insertions(+), 83 deletions(-)
 delete mode 100644 mariadb-covscan-signexpr.patch

diff --git a/.gitignore b/.gitignore
index 2fcbda1..794dc57 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,3 +19,4 @@
 /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
deleted file mode 100644
index 54d47b5..0000000
--- a/mariadb-covscan-signexpr.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-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 8901403..9caec8b 100644
--- a/mariadb-errno.patch
+++ b/mariadb-errno.patch
@@ -1,7 +1,8 @@
---- 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)
+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)
  #endif /* HAVE_ALLOCA */
  
 -#ifndef errno				/* did we already get it? */
diff --git a/mariadb-file-contents.patch b/mariadb-file-contents.patch
index 441f4f0..85c1163 100644
--- a/mariadb-file-contents.patch
+++ b/mariadb-file-contents.patch
@@ -6,10 +6,9 @@ to know about this.
 Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425
 
 
-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
+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";
@@ -21,17 +20,17 @@ diff -up mariadb-10.0.12/mysql-test/t/file_contents.test.file_contents mariadb-1
    $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/MySQL-server*";
+     $dir_docs = glob "$dir_docs/MariaDB-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/MySQL-server*" unless -d $dir_docs;
+     $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
diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch
index ea10cdf..9fdb94b 100644
--- a/mariadb-ownsetup.patch
+++ b/mariadb-ownsetup.patch
@@ -1,6 +1,6 @@
-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
+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
 @@ -9,7 +9,16 @@
  [server]
  
@@ -16,5 +16,5 @@ diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/s
 +pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid
 +
  
- # this is only for embedded server
- [embedded]
+ #
+ # * Galera-related settings
diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch
index e062c50..43674d7 100644
--- a/mariadb-scripts.patch
+++ b/mariadb-scripts.patch
@@ -1,7 +1,6 @@
-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()
+--- 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()
        COMPONENT ${${file}_COMPONENT}
       )
    ENDFOREACH()
@@ -35,15 +34,3 @@ diff -up mariadb-10.0.16/scripts/CMakeLists.txt.systemd mariadb-10.0.16/scripts/
  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 04ff34e..ca7264f 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -112,12 +112,12 @@
 
 # Make long macros shorter
 %global sameevr   %{epoch}:%{version}-%{release}
-%global compatver 10.0
-%global bugfixver 21
+%global compatver 10.1
+%global bugfixver 8
 
 Name:             mariadb
 Version:          %{compatver}.%{bugfixver}
-Release:          2%{?with_debug:.debug}%{?dist}
+Release:          1%{?with_debug:.debug}%{?dist}
 Epoch:            1
 
 Summary:          A community developed branch of MySQL
@@ -164,7 +164,6 @@ 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
@@ -503,7 +502,6 @@ MariaDB is a community developed branch of MySQL.
 %patch30 -p1
 %patch31 -p1
 %patch32 -p1
-%patch33 -p1
 %patch34 -p1
 %patch36 -p1
 %patch37 -p1
@@ -776,6 +774,7 @@ 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
@@ -841,12 +840,14 @@ 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
+    --shutdown-timeout=60 --max-test-fail=0 \
+%if %{check_testsuite}
+    || :
+%else
+    --skip-test-list=rh-skipped-tests.list
+%endif
   # cmake build scripts will install the var cruft if left alone :-(
   rm -rf var
 )
@@ -952,6 +953,7 @@ 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}
@@ -1025,6 +1027,11 @@ 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}
 
@@ -1078,6 +1085,8 @@ 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
@@ -1085,6 +1094,15 @@ 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
@@ -1093,6 +1111,7 @@ 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}
@@ -1119,6 +1138,7 @@ 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
@@ -1152,6 +1172,9 @@ fi
 %endif
 
 %changelog
+* Thu Oct 22 2015 Jakub Dorňák <jdornak@redhat.com> - 1:10.1.8-1
+- Update to 10.1.8
+
 * Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 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 473af3a..9b92367 100644
--- a/rh-skipped-tests-arm.list
+++ b/rh-skipped-tests-arm.list
@@ -1,14 +1,12 @@
 
-# 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
-
-connect.bin                                  : rhbz#1096787 (pass on aarch64)
-perfschema.setup_objects                     : rhbz#1096787
-
+connect.bin                 : rhbz#1096787 (pass on aarch64)
 connect.endian              : rhbz#1096787
-perfschema.global_read_lock : rhbz#1096787
+
+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
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index 5f9270b..fb33990 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -1,15 +1,14 @@
 # These tests fail with MariaDB 10:
 
-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
+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
diff --git a/sources b/sources
index a3c0d36..ab130dd 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-956561f3798d1fe8dfbe4b665287a87a  mariadb-10.0.21.tar.gz
+9ba0aaabba40153d83e70edcc1aa43a8  mariadb-10.1.8.tar.gz