Accepting request 602557 from server:database

OBS-URL: https://build.opensuse.org/request/show/602557
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mariadb?expand=0&rev=70
This commit is contained in:
Dominique Leuenberger 2018-05-06 12:57:05 +00:00 committed by Git OBS Bridge
commit 42f4775bba
13 changed files with 82 additions and 328 deletions

View File

@ -1,42 +0,0 @@
PATCH-P1-SUSE: Fix running with our patched openssl
- Disable openssl compatibility checking
* the check uses CRYPTO_set_mem_functions() to set debugging
memory allocation function. The setting only succeeds if no allocation
was done before. Our fips self-tests, which are run from the library
constructor, however, do allocate memory, so the subsequent call to
CRYPTO_set_mem_functions causes the compatibility check to fail
Maintainer: Vitezslav Cizek <vcizek@suse.com>
Index: mariadb-10.2.10/mysys_ssl/openssl.c
===================================================================
--- mariadb-10.2.10.orig/mysys_ssl/openssl.c 2017-10-30 09:10:45.000000000 +0100
+++ mariadb-10.2.10/mysys_ssl/openssl.c 2017-11-29 13:43:20.022236791 +0100
@@ -47,26 +47,6 @@ static void *coc_malloc(size_t size, con
int check_openssl_compatibility()
{
- EVP_CIPHER_CTX *evp_ctx;
- EVP_MD_CTX *md5_ctx;
-
- if (!CRYPTO_set_mem_functions(coc_malloc, NULL, NULL))
- return 0;
-
- testing= 1;
- alloc_size= alloc_count= 0;
- evp_ctx= EVP_CIPHER_CTX_new();
- EVP_CIPHER_CTX_free(evp_ctx);
- if (alloc_count != 1 || !alloc_size || alloc_size > EVP_CIPHER_CTX_SIZE)
- return 1;
-
- alloc_size= alloc_count= 0;
- md5_ctx= EVP_MD_CTX_create();
- EVP_MD_CTX_destroy(md5_ctx);
- if (alloc_count != 1 || !alloc_size || alloc_size > EVP_MD_CTX_SIZE)
- return 1;
-
- testing= 0;
return 0;
}
#endif

View File

@ -1,13 +0,0 @@
--- mariadb-10.2.13/storage/innobase/CMakeLists.txt 2018/03/13 23:32:34 1.1
+++ mariadb-10.2.13/storage/innobase/CMakeLists.txt 2018/03/13 23:33:42
@@ -175,7 +175,10 @@
btr/btr0btr.cc
btr/btr0cur.cc
buf/buf0buf.cc
+ fts/fts0fts.cc
gis/gis0sea.cc
+ handler/handler0alter.cc
+ row/row0mysql.cc
COMPILE_FLAGS "-O0"
)
ENDIF()

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:272e7ed9300a05da9e02f8217a01ed3447c4f5a36a12e5233d62cc7c586fc753
size 72591913

View File

@ -1,7 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iEYEABECAAYFAlqCV40ACgkQy8sIKhu5Q9tYcwCaA9E0IdgHyQdZS9mmL6DEnzk+
AxkAoMj28JOCvnaSwBMaclw+Fu6ALu8S
=7VSx
-----END PGP SIGNATURE-----

View File

@ -1,36 +0,0 @@
From 4e6dab94d0931eafba502f5a91da29a54e75bb33 Mon Sep 17 00:00:00 2001
From: Daniel Black <daniel.black@au1.ibm.com>
Date: Wed, 21 Feb 2018 19:38:57 +0530
Subject: [PATCH] MDEV-10.1.31 does not join an existing cluster with SST
xtrabackup-v2
Analysis:- The problem is the change in the implementation of wait_for_listen
in wsrep_sst_xtrabackup-v2.sh. The new script uses lsof which will always
exit with an error code if it can't find all the items, and because the
script has the -e option set in the hashbang line (#!/bin/bash -ue), the
script will abort right after running lsof if lsof can't find even a single
item among all the items listed in its arguments. This will happen even if
socat is running and listening, because it can't find nc. The loop in
wait_for_listen will therefore always quit after one iteration without
writing the "ready" line to signal the parent.
Solution:- We will or the lsof with true.
Patch Credit :Daniel Black and David Wang
---
scripts/wsrep_sst_xtrabackup-v2.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/wsrep_sst_xtrabackup-v2.sh b/scripts/wsrep_sst_xtrabackup-v2.sh
index 64dd182e2f2f..9104daf19bc3 100644
--- a/scripts/wsrep_sst_xtrabackup-v2.sh
+++ b/scripts/wsrep_sst_xtrabackup-v2.sh
@@ -644,7 +644,7 @@ wait_for_listen()
for i in {1..300}
do
- LSOF_OUT=$(lsof -sTCP:LISTEN -i TCP:${PORT} -a -c nc -c socat -F c)
+ LSOF_OUT=$(lsof -sTCP:LISTEN -i TCP:${PORT} -a -c nc -c socat -F c 2> /dev/null || :)
[ -n "${LSOF_OUT}" ] && break
sleep 0.2
done

3
mariadb-10.2.14.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3443ec2d6e8af1eba49d097f6b2f6741c8d94b75abf19b8dd5753608f0703f7e
size 72607526

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iEYEABECAAYFAlq5uu4ACgkQy8sIKhu5Q9s0OwCggS6GuxMhj14Q9MgQiTTFmd+V
zgMAoK+IeQDi9ZnfXJnUPBqpdHfbJE2q
=HG/q
-----END PGP SIGNATURE-----

View File

@ -1,137 +0,0 @@
PATCH-P0-FEATURE-UPSTREAM: Adds group option
This patch let's you specify not only user to use but also group that MySQL
should use.
Maintainer: Michal Hrusecky <mhrusecky@suse.cz>
Index: scripts/mysqld_safe.sh
===================================================================
--- scripts/mysqld_safe.sh.orig
+++ scripts/mysqld_safe.sh
@@ -28,6 +28,7 @@ logging=init
want_syslog=0
syslog_tag=
user='@MYSQLD_USER@'
+group='@MYSQLD_GROUP@'
pid_file=
err_log=
err_log_base=
@@ -308,6 +309,7 @@ parse_arguments() {
--pid[-_]file=*) pid_file="$val" ;;
--plugin[-_]dir=*) PLUGIN_DIR="$val" ;;
--user=*) user="$val"; SET_USER=1 ;;
+ --group=*) group="$val"; SET_USER=1 ;;
--log[-_]basename=*|--hostname=*|--loose[-_]log[-_]basename=*)
pid_file="$val.pid";
err_log_base="$val";
@@ -725,6 +727,7 @@ then
if test "$user" != "root" -o $SET_USER = 1
then
USER_OPTION="--user=$user"
+ GROUP_OPTION="--group=$group"
fi
if test -n "$open_files"
then
@@ -747,7 +750,12 @@ then
log_error "Fatal error Can't create database directory '$mysql_unix_port'"
exit 1
fi
- chown $user $mysql_unix_port_dir
+ if [ "$user" -a "$group" ]; then
+ chown $user:$group $mysql_unix_port_dir
+ else
+ [ "$user" ] && chown $user $mysql_unix_port_dir
+ [ "$group" ] && chgrp $group $mysql_unix_port_dir
+ fi
chmod 755 $mysql_unix_port_dir
fi
Index: scripts/mysql_install_db.sh
===================================================================
--- scripts/mysql_install_db.sh.orig
+++ scripts/mysql_install_db.sh
@@ -30,6 +30,7 @@ defaults=""
defaults_group_suffix=""
mysqld_opt=""
user=""
+group=""
silent_startup="--silent-startup"
force=0
@@ -93,6 +94,11 @@ Usage: $0 [OPTIONS]
user. You must be root to use this option. By default
mysqld runs using your current login name and files and
directories that it creates will be owned by you.
+ --group=group_name The login group to use for running mysqld. Files and
+ directories created by mysqld will be owned by this
+ group. You must be root to use this option. By default
+ mysqld runs using your current group and files and
+ directories that it creates will be owned by you.
All other options are passed to the mysqld program
@@ -140,11 +146,11 @@ parse_arguments()
--builddir=*) builddir=`parse_arg "$arg"` ;;
--srcdir=*) srcdir=`parse_arg "$arg"` ;;
--ldata=*|--datadir=*|--data=*) ldata=`parse_arg "$arg"` ;;
- --user=*)
# Note that the user will be passed to mysqld so that it runs
# as 'user' (crucial e.g. if log-bin=/some_other_path/
# where a chown of datadir won't help)
- user=`parse_arg "$arg"` ;;
+ --user=*) user=`parse_arg "$arg"` ;;
+ --group=*) group=`parse_arg "$arg"` ;;
--skip-name-resolve) ip_only=1 ;;
--verbose) verbose=1 ; silent_startup="" ;;
--rpm) in_rpm=1 ;;
@@ -429,7 +435,12 @@ do
fi
if test -n "$user"
then
- chown $user "$dir"
+ if test -z "$group"
+ then
+ chown $user $dir
+ else
+ chown $user:$group $dir
+ fi
if test $? -ne 0
then
echo "Cannot change ownership of the database directories to the '$user'"
@@ -444,6 +455,11 @@ then
args="$args --user=$user"
fi
+if test -n "$group"
+then
+ args="$args --group=$group"
+fi
+
# When doing a "cross bootstrap" install, no reference to the current
# host should be added to the system tables. So we filter out any
# lines which contain the current host name.
Index: scripts/CMakeLists.txt
===================================================================
--- scripts/CMakeLists.txt.orig
+++ scripts/CMakeLists.txt
@@ -161,6 +161,7 @@ ENDIF()
SET(HOSTNAME "hostname")
SET(MYSQLD_USER "mysql")
+SET(MYSQLD_GROUP "mysql")
ENDIF(UNIX)
# Really ugly, one script, "mysql_install_db", needs prefix set to ".",
Index: support-files/CMakeLists.txt
===================================================================
--- support-files/CMakeLists.txt.orig
+++ support-files/CMakeLists.txt
@@ -29,6 +29,7 @@ ELSE()
SET(CFLAGS ${CMAKE_C_FLAGS})
SET(CXXFLAGS ${CMAKE_CXX_FLAGS})
SET(MYSQLD_USER "mysql")
+ SET(MYSQLD_GROUP "mysql")
SET(ini_file_extension "cnf")
SET(HOSTNAME "hostname")
ENDIF()

View File

@ -1,22 +0,0 @@
PATCH-P1-FIX-UPSTREAM: Fix mysql_install_db to find data files in mariadb directories
Fix mysql_install_db.sh script to find data files in mariadb directories
when a user uses "--basedir" option [bsc#1006539]
Maintainer: Kristyna Streitova <kstreitova@suse.com>
Index: mariadb-10.2.10/scripts/CMakeLists.txt
===================================================================
--- mariadb-10.2.10.orig/scripts/CMakeLists.txt
+++ mariadb-10.2.10/scripts/CMakeLists.txt
@@ -188,8 +188,8 @@ ENDIF()
SET(resolveip_locations "$basedir/${INSTALL_BINDIR} $basedir/bin")
SET(mysqld_locations "$basedir/${INSTALL_SBINDIR} $basedir/libexec $basedir/sbin $basedir/bin")
-SET(errmsg_locations "$basedir/${INSTALL_MYSQLSHAREDIR}/english $basedir/share/english $basedir/share/mysql/english")
-SET(pkgdata_locations "$basedir/${INSTALL_MYSQLSHAREDIR} $basedir/share $basedir/share/mysql")
+SET(errmsg_locations "$basedir/${INSTALL_MYSQLSHAREDIR}/english $basedir/share/english $basedir/share/mysql/english $basedir/share/mariadb/english")
+SET(pkgdata_locations "$basedir/${INSTALL_MYSQLSHAREDIR} $basedir/share $basedir/share/mysql $basedir/share/mariadb")
IF(UNIX)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql_install_db.sh

View File

@ -1,33 +0,0 @@
PATCH-P1-FIX-HACK: Allow more case-insensitive values for 'WITH_SYSTEMD'
Remove 'IF(WITH_SYSTEMD STREQUAL "yes")' and use 'IF(WITH_SYSTEMD)'
expression in order to allow more case-insensitive values to be used
here (1, ON, YES, TRUE or Y).
Maintainer: Kristyna Streitova <kstreitova@suse.cz>
Index: mariadb-10.2.9/cmake/systemd.cmake
===================================================================
--- mariadb-10.2.9.orig/cmake/systemd.cmake
+++ mariadb-10.2.9/cmake/systemd.cmake
@@ -18,9 +18,9 @@ MACRO(CHECK_SYSTEMD)
INCLUDE(FindPkgConfig)
# http://www.cmake.org/cmake/help/v3.0/module/FindPkgConfig.html
SET(WITH_SYSTEMD "auto" CACHE STRING "Enable systemd scripts and notification support")
- IF(WITH_SYSTEMD STREQUAL "yes" OR WITH_SYSTEMD STREQUAL "auto")
+ IF(WITH_SYSTEMD OR WITH_SYSTEMD STREQUAL "auto")
IF(PKG_CONFIG_FOUND)
- IF(WITH_SYSTEMD STREQUAL "yes")
+ IF(WITH_SYSTEMD)
pkg_search_module(LIBSYSTEMD REQUIRED libsystemd libsystemd-daemon)
ELSE()
pkg_search_module(LIBSYSTEMD libsystemd libsystemd-daemon)
@@ -68,7 +68,7 @@ MACRO(CHECK_SYSTEMD)
UNSET(HAVE_SYSTEMD_SD_NOTIFY)
UNSET(HAVE_SYSTEMD_SD_NOTIFYF)
MESSAGE_ONCE(systemd "Systemd features not enabled")
- IF(WITH_SYSTEMD STREQUAL "yes")
+ IF(WITH_SYSTEMD )
MESSAGE(FATAL_ERROR "Requested WITH_SYSTEMD=yes however no dependencies installed/found")
ENDIF()
ENDIF()

View File

@ -1,3 +1,59 @@
-------------------------------------------------------------------
Mon Apr 30 13:29:35 UTC 2018 - kstreitova@suse.com
- update to 10.2.14 GA
* notable changes:
* MyRocks is now Gamma (RC)
* MDEV-14533 - Added the DISKS plugin, for monitoring disk
space
* MDEV-14611 - ALTER TABLE EXCHANGE PARTITION does not work
properly when used with DATA DIRECTORY.
* MDEV-15333 - MariaDB (still) slow start
* MDEV-12255 - Wrong result with
innodb_prefix_index_cluster_optimization
* MDEV-12396 - IMPORT TABLESPACE cleanup
* MDEV-14648 - Restore fix for MySQL BUG#39053 - UNINSTALL
PLUGIN does not allow the storage engine to cleanup open
connections
* MDEV-15249 - IMPORT fixes
* MDEV-14988 - innodb_read_only tries to modify files if
transactions were recovered in COMMITTED state
* MDEV-14773 - DROP TABLE hangs for InnoDB table with FULLTEXT
index (fixing a recent regression from upstream)
* MDEV-15529 - IMPORT TABLESPACE unnecessarily uses the
doublewrite buffer
* MDEV-15554 - InnoDB page_cleaner shutdown sometimes hangs
* MDEV-14545 - Mariabackup - Backup fails due to
MLOG_INDEX_LOAD record
* fixes for the following security vulnerabilities: none
* release notes and changelog:
https://mariadb.com/kb/en/library/mariadb-10214-release-notes
https://mariadb.com/kb/en/library/mariadb-10214-changelog
- remove the following patches
* mariadb-10.2.14-xtrabackup-v2.patch (applied upstream,
MDEV-15254)
* mariadb-10.2.13-aarch_compilefix.patch (applied upstream,
MDEV-14318)
* mariadb-10.2.10-disable_openssl_compatibility_check.patch
(fixed upstream in https://github.com/MariaDB/server/pull/558)
* mariadb-10.2.8-systemd-cmake.patch and DWITH_SYSTEMD=ON
compile option that are no longer needed - systemd is detected
correctly now (discussed in [bsc#1080891] and MDEV-8379)
* mariadb-10.2.3-mysql_install_db-mariadb_dirs.patch (fixed
upstream in 52516706c86f9f66c76836eabde7e2477694bac3)
* remove mariadb-10.2.3-group.patch that was just a half solution
of the group support (missing server part) and moreover using
a group option in mysql-systemd-helper was removed few years ago
as it caused troubles because MariaDB resolved it as
'group_concat_max_len option' (see
https://github.com/openSUSE/mysql-packaging/issues/15)
- remove jar files from the tarball (used for testing from the
source)
- build TokuDB without the jemalloc support for now. Jemalloc 5
is not backwards compatible which leads to the errors in the
testsuite at least (MDEV-15034)
- update suse_skipped_tests.list
-------------------------------------------------------------------
Fri Mar 16 12:17:05 UTC 2018 - kstreitova@suse.com

View File

@ -23,7 +23,7 @@
# to SLE15 [fate#323756]
%define extra_provides mariadb-102
# Set this to 1 to run regression test suite (it takes a long time)
%define run_testsuite 0
%define run_testsuite 1
# Set this to 1 for testing purposes (run all regression tests but ignore
# failures). Set this to 0 for production usage (skip tests in the
# unstable-tests list (contains also suse_skipped_tests.list) and don't
@ -38,6 +38,8 @@
# TokuDB engine is available only for x86_64 architecture
# see https://mariadb.com/kb/en/mariadb/tokudb/
# Don't build for SLE<15 (missing jemalloc dependency)
# Note that jemalloc 5 is not backwards compatible and therefore
# MariaDB is currently built without its support (MDEV-15034)
%define with_tokudb 0
%if 0%{?is_opensuse} > 0 || 0%{?sle_version} > 120300
%ifarch x86_64
@ -52,7 +54,7 @@
%define with_mroonga 0
%endif
Name: mariadb
Version: 10.2.13
Version: 10.2.14
Release: 0
Summary: Server part of MariaDB
License: SUSE-GPL-2.0-with-FLOSS-exception
@ -76,16 +78,10 @@ Patch1: mariadb-10.2.4-logrotate.patch
Patch2: mariadb-5.5.28-install_db-quiet.patch
Patch3: mariadb-10.1.1-mysqld_multi-features.patch
Patch4: mariadb-5.2.3-cnf.patch
Patch5: mariadb-10.2.3-group.patch
Patch6: mariadb-10.1.12-deharcode-libdir.patch
Patch7: mariadb-10.0.15-logrotate-su.patch
Patch8: mariadb-10.2.4-fortify-and-O.patch
Patch9: mariadb-10.2.8-systemd-cmake.patch
Patch10: mariadb-10.2.3-mysql_install_db-mariadb_dirs.patch
Patch11: mariadb-10.2.9-galera_cnf.patch
Patch12: mariadb-10.2.10-disable_openssl_compatibility_check.patch
Patch13: mariadb-10.2.14-xtrabackup-v2.patch
Patch14: mariadb-10.2.13-aarch_compilefix.patch
BuildRequires: bison
BuildRequires: cmake
BuildRequires: dos2unix
@ -329,27 +325,17 @@ applications with MariaDB.
%prep
%setup -q
# Remove JAR files from the tarball (used for testing from the source)
find . -name "*.jar" -type f -exec rm --verbose -f {} \;
%patch0 -p0
%patch1 -p0
%patch2 -p0
%patch3 -p0
%patch4 -p0
%patch5 -p0
%patch6 -p0
%patch7 -p0
%patch8 -p0
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%ifarch aarch64
%if 0%{?suse_version} == 1315
# gcc48 on sle12 on aarch64 has some optimisation issues
# add some more files to the list of sources compiled with -O0
%patch14 -p1
%endif
%endif
cp %{_sourcedir}/suse-test-run .
@ -395,12 +381,11 @@ export CXXFLAGS="$CFLAGS -felide-constructors"
-DWITH_PIC=ON \
-DWITH_ZLIB=system \
-DWITH_LIBEVENT=system \
-DWITH_JEMALLOC=system \
-DWITH_JEMALLOC=no \
-DWITH_READLINE=0 \
-DWITH_LIBEDIT=0 \
-DWITH_EDITLINE=system \
-DINSTALL_LAYOUT=RPM \
-DWITH_SYSTEMD=ON \
-DWITH_LZ4=system \
-DMYSQL_UNIX_ADDR="%{_localstatedir}/run/mysql/mysql.sock" \
-DINSTALL_UNIX_ADDRDIR="%{_localstatedir}/run/mysql/mysql.sock" \
@ -512,11 +497,6 @@ rm -f %{buildroot}%{_datadir}/mysql/mysqld_multi.server
# The old fork of mytop utility (we ship it as a separate package)
rm -f %{buildroot}%{_bindir}/mytop
# Remove *.jar files from mysql-test
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar
# Remove unused upstream services
rm -f %{buildroot}'%{_unitdir}/mariadb.service'
rm -f %{buildroot}'%{_unitdir}/mariadb@.service'

View File

@ -12,21 +12,22 @@ perfschema.nesting : bsc#937836, MDEV-8446
perfschema.socket_summary_by_event_name_func : bsc#937836, MDEV-8446
perfschema.socket_summary_by_instance_func : bsc#937836, MDEV-8446
# It's not a critical test. The problem is that it's not easy to
# unify the correct number of the repetition in the test for all
# various platforms (fails for s390x)
main.func_regexp_pcre : bsc#1058722 comment 11
#----------------------------------------------------------------
# Needs to be investigated (issues trackers will be added)
plugins.show_all_plugins :
perfschema.cnf_option :
perfschema.privilege_table_io :
rpl.rpl_row_img_blobs :
rpl.rpl_row_img_eng_min :
rpl.rpl_row_img_eng_noblob :
sys_vars.slave_parallel_threads_basic :
rocksdb.2pc_group_commit :
rocksdb.read_only_tx :
rocksdb.shutdown :
rocksdb.deadlock :
roles.acl_statistics :
rocksdb.index_merge_rocksdb :
main.non_blocking_api :
main.join_cache :
main.explain_non_select :
main.mdev-504 : (i586)
sys_vars.innodb_change_buffer_max_size_basic : (i586)
main.index_merge_innodb :
mariabackup.xb_fulltext_encrypted :