SHA256
1
0
forked from pool/mariadb

Accepting request 721801 from server:database

OBS-URL: https://build.opensuse.org/request/show/721801
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mariadb?expand=0&rev=85
This commit is contained in:
Dominique Leuenberger 2019-08-22 13:03:19 +00:00 committed by Git OBS Bridge
commit 4d2ddaa666
21 changed files with 407 additions and 684 deletions

View File

@ -1,12 +1,14 @@
You just installed MySQL server for the first time.
You have just installed MariaDB server for the first time.
You can start it using:
You can start it via:
systemctl start mariadb
or
rcmysql start
During first start empty database will be created for your automatically.
During the first start, empty database will be created for you automatically.
PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:
PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER!
To do so, start the server and run the following commands:
'/usr/bin/mysqladmin' -u root password 'new-password'
'/usr/bin/mysqladmin' -u root -h <hostname> password 'new-password'

View File

@ -7,7 +7,7 @@
</conditions>
<hardware>
<physicalmemory>
<size unit="M">7000</size>
<size unit="G">10</size>
</physicalmemory>
</hardware>
</overwrite>

View File

@ -1,27 +0,0 @@
PATCH-P0-FIX-SUSE: dehardcode libdir
Don't expect libdir is set to lib64 on x86_64 only.
There is other occurances like ppc64 and aarch64.
Use %{_libdir} macro instead
Maintainer: Dinar Valeev <dvaleev@suse.com>
Index: cmake/install_layout.cmake
===================================================================
--- cmake/install_layout.cmake.orig
+++ cmake/install_layout.cmake
@@ -137,14 +137,6 @@ SET(INSTALL_SCRIPTDIR_RPM
SET(INSTALL_SYSCONFDIR_RPM "/etc")
SET(INSTALL_SYSCONF2DIR_RPM "/etc/my.cnf.d")
#
-IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
- SET(INSTALL_LIBDIR_RPM "lib64")
- SET(INSTALL_PLUGINDIR_RPM "lib64/mysql/plugin")
-ELSE()
- SET(INSTALL_LIBDIR_RPM "lib")
- SET(INSTALL_PLUGINDIR_RPM "lib/mysql/plugin")
-ENDIF()
-#
SET(INSTALL_INCLUDEDIR_RPM "include/mysql")
#
SET(INSTALL_DOCDIR_RPM "share/doc")

View File

@ -1,276 +1,64 @@
Index: mariadb-10.2.24/configure.cmake
===================================================================
--- mariadb-10.2.24.orig/configure.cmake
+++ mariadb-10.2.24/configure.cmake
@@ -946,6 +946,21 @@ ELSEIF(NOT WITH_ATOMIC_OPS)
}"
HAVE_GCC_ATOMIC_BUILTINS)
CHECK_CXX_SOURCE_COMPILES("
+ #include <cstdint>
+ int main() {
+ uint64_t x = 1;
+ __atomic_add_fetch(&x, 0, __ATOMIC_RELAXED);
+ return x;
+ }
+ " HAVE__ATOMIC_ADD_FETCH)
+ if (NOT HAVE__ATOMIC_ADD_FETCH)
+ check_library_exists(atomic __atomic_add_fetch_8 "" HAVE_LIBATOMIC)
+ if (HAVE_LIBATOMIC)
+ SET(CMAKE_REQUIRED_LIBRARIES atomic)
+ SET(LIBATOMIC atomic)
+ endif()
+ endif()
Author: Vicențiu Ciorbaru <vicentiu@mariadb.org>
Date: Fri Dec 21 19:14:04 2018 +0200
Link with libatomic to enable C11 atomics support
Some architectures (mips) require libatomic to support proper
atomic operations. Check first if support is available without
linking, otherwise use the library.
--- a/configure.cmake
+++ b/configure.cmake
@@ -926,7 +926,25 @@ int main()
long long int *ptr= &var;
return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
}"
-HAVE_GCC_C11_ATOMICS)
+HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC)
+IF (HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC)
+ SET(HAVE_GCC_C11_ATOMICS True)
+ELSE()
+ SET(OLD_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
+ LIST(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
+ CHECK_CXX_SOURCE_COMPILES("
int main()
{
long long int var= 1;
Index: mariadb-10.2.24/include/atomic/gcc_builtins.h
===================================================================
--- mariadb-10.2.24.orig/include/atomic/gcc_builtins.h
+++ mariadb-10.2.24/include/atomic/gcc_builtins.h
@@ -16,6 +16,72 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
+ int main()
+ {
+ long long int var= 1;
+ long long int *ptr= &var;
+ return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
+ }"
+ HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
+ IF(HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
+ SET(HAVE_GCC_C11_ATOMICS True)
+ ENDIF()
+ SET(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES})
+ENDIF()
+#if defined(HAVE_GCC_C11_ATOMICS)
+#define MY_ATOMIC_MODE "gcc-atomics-smp"
+
+#define MY_MEMORY_ORDER_RELAXED __ATOMIC_RELAXED
+#define MY_MEMORY_ORDER_CONSUME __ATOMIC_CONSUME
+#define MY_MEMORY_ORDER_ACQUIRE __ATOMIC_ACQUIRE
+#define MY_MEMORY_ORDER_RELEASE __ATOMIC_RELEASE
+#define MY_MEMORY_ORDER_ACQ_REL __ATOMIC_ACQ_REL
+#define MY_MEMORY_ORDER_SEQ_CST __ATOMIC_SEQ_CST
+
+#define my_atomic_store32_explicit(P, D, O) __atomic_store_n((P), (D), (O))
+#define my_atomic_store64_explicit(P, D, O) __atomic_store_n((P), (D), (O))
+#define my_atomic_storeptr_explicit(P, D, O) __atomic_store_n((P), (D), (O))
+
+#define my_atomic_load32_explicit(P, O) __atomic_load_n((P), (O))
+#define my_atomic_load64_explicit(P, O) __atomic_load_n((P), (O))
+#define my_atomic_loadptr_explicit(P, O) __atomic_load_n((P), (O))
+
+#define my_atomic_fas32_explicit(P, D, O) __atomic_exchange_n((P), (D), (O))
+#define my_atomic_fas64_explicit(P, D, O) __atomic_exchange_n((P), (D), (O))
+#define my_atomic_fasptr_explicit(P, D, O) __atomic_exchange_n((P), (D), (O))
+
+#define my_atomic_add32_explicit(P, A, O) __atomic_fetch_add((P), (A), (O))
+#define my_atomic_add64_explicit(P, A, O) __atomic_fetch_add((P), (A), (O))
+
+#define my_atomic_cas32_weak_explicit(P, E, D, S, F) \
+ __atomic_compare_exchange_n((P), (E), (D), true, (S), (F))
+#define my_atomic_cas64_weak_explicit(P, E, D, S, F) \
+ __atomic_compare_exchange_n((P), (E), (D), true, (S), (F))
+#define my_atomic_casptr_weak_explicit(P, E, D, S, F) \
+ __atomic_compare_exchange_n((P), (E), (D), true, (S), (F))
+
+#define my_atomic_cas32_strong_explicit(P, E, D, S, F) \
+ __atomic_compare_exchange_n((P), (E), (D), false, (S), (F))
+#define my_atomic_cas64_strong_explicit(P, E, D, S, F) \
+ __atomic_compare_exchange_n((P), (E), (D), false, (S), (F))
+#define my_atomic_casptr_strong_explicit(P, E, D, S, F) \
+ __atomic_compare_exchange_n((P), (E), (D), false, (S), (F))
+
+#define my_atomic_store32(P, D) __atomic_store_n((P), (D), __ATOMIC_SEQ_CST)
+#define my_atomic_store64(P, D) __atomic_store_n((P), (D), __ATOMIC_SEQ_CST)
+#define my_atomic_storeptr(P, D) __atomic_store_n((P), (D), __ATOMIC_SEQ_CST)
+
+#define my_atomic_load32(P) __atomic_load_n((P), __ATOMIC_SEQ_CST)
+#define my_atomic_load64(P) __atomic_load_n((P), __ATOMIC_SEQ_CST)
+#define my_atomic_loadptr(P) __atomic_load_n((P), __ATOMIC_SEQ_CST)
+
+#define my_atomic_fas32(P, D) __atomic_exchange_n((P), (D), __ATOMIC_SEQ_CST)
+#define my_atomic_fas64(P, D) __atomic_exchange_n((P), (D), __ATOMIC_SEQ_CST)
+#define my_atomic_fasptr(P, D) __atomic_exchange_n((P), (D), __ATOMIC_SEQ_CST)
+
+#define my_atomic_add32(P, A) __atomic_fetch_add((P), (A), __ATOMIC_SEQ_CST)
+#define my_atomic_add64(P, A) __atomic_fetch_add((P), (A), __ATOMIC_SEQ_CST)
+
+#define my_atomic_cas32(P, E, D) \
+ __atomic_compare_exchange_n((P), (E), (D), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
+#define my_atomic_cas64(P, E, D) \
+ __atomic_compare_exchange_n((P), (E), (D), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
+#define my_atomic_casptr(P, E, D) \
+ __atomic_compare_exchange_n((P), (E), (D), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
+#else
+#define MY_ATOMIC_MODE "gcc-builtins-smp"
+#define make_atomic_load_body(S) \
+ ret= __sync_fetch_and_or(a, 0);
+#define make_atomic_store_body(S) \
+ (void) __sync_lock_test_and_set(a, v);
#define make_atomic_add_body(S) \
v= __sync_fetch_and_add(a, v);
#define make_atomic_fas_body(S) \
@@ -25,24 +91,6 @@
int ## S cmp_val= *cmp; \
sav= __sync_val_compare_and_swap(a, cmp_val, set);\
if (!(ret= (sav == cmp_val))) *cmp= sav
-
-#ifdef MY_ATOMIC_MODE_DUMMY
-#define make_atomic_load_body(S) ret= *a
-#define make_atomic_store_body(S) *a= v
-#define MY_ATOMIC_MODE "gcc-builtins-up"
-
-#elif defined(HAVE_GCC_C11_ATOMICS)
-#define MY_ATOMIC_MODE "gcc-atomics-smp"
-#define make_atomic_load_body(S) \
- ret= __atomic_load_n(a, __ATOMIC_SEQ_CST)
-#define make_atomic_store_body(S) \
- __atomic_store_n(a, v, __ATOMIC_SEQ_CST)
-#else
-#define MY_ATOMIC_MODE "gcc-builtins-smp"
-#define make_atomic_load_body(S) \
- ret= __sync_fetch_and_or(a, 0);
-#define make_atomic_store_body(S) \
- (void) __sync_lock_test_and_set(a, v);
#endif
IF(WITH_VALGRIND)
SET(HAVE_valgrind 1)
--- a/mysys/CMakeLists.txt
+++ b/mysys/CMakeLists.txt
@@ -78,6 +78,10 @@ TARGET_LINK_LIBRARIES(mysys dbug strings
${LIBNSL} ${LIBM} ${LIBRT} ${LIBDL} ${LIBSOCKET} ${LIBEXECINFO} ${CRC32_LIBRARY})
DTRACE_INSTRUMENT(mysys)
#endif /* ATOMIC_GCC_BUILTINS_INCLUDED */
Index: mariadb-10.2.24/include/my_atomic.h
===================================================================
--- mariadb-10.2.24.orig/include/my_atomic.h
+++ mariadb-10.2.24/include/my_atomic.h
@@ -104,7 +104,6 @@
but can be added, if necessary.
*/
-#define intptr void *
/**
Currently we don't support 8-bit and 16-bit operations.
It can be added later if needed.
@@ -126,18 +125,20 @@
#include "atomic/generic-msvc.h"
#elif defined(HAVE_SOLARIS_ATOMIC)
#include "atomic/solaris.h"
-#elif defined(HAVE_GCC_ATOMIC_BUILTINS)
+#elif defined(HAVE_GCC_ATOMIC_BUILTINS) || defined(HAVE_GCC_C11_ATOMICS)
#include "atomic/gcc_builtins.h"
#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
#include "atomic/x86-gcc.h"
#endif
-
+#ifndef HAVE_GCC_C11_ATOMICS
#ifndef make_atomic_cas_body
/* nolock.h was not able to generate even a CAS function, fall back */
#error atomic ops for this platform are not implemented
#endif
+#define intptr void *
+IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
+ TARGET_LINK_LIBRARIES(mysys atomic)
+ENDIF()
+
/* define missing functions by using the already generated ones */
#ifndef make_atomic_add_body
#define make_atomic_add_body(S) \
@@ -297,20 +298,6 @@ make_atomic_store(32)
make_atomic_store(64)
make_atomic_store(ptr)
-#if SIZEOF_LONG == 4
-#define my_atomic_addlong(A,B) my_atomic_add32((int32*) (A), (B))
-#define my_atomic_loadlong(A) my_atomic_load32((int32*) (A))
-#define my_atomic_storelong(A,B) my_atomic_store32((int32*) (A), (B))
-#define my_atomic_faslong(A,B) my_atomic_fas32((int32*) (A), (B))
-#define my_atomic_caslong(A,B,C) my_atomic_cas32((int32*) (A), (int32*) (B), (C))
-#else
-#define my_atomic_addlong(A,B) my_atomic_add64((int64*) (A), (B))
-#define my_atomic_loadlong(A) my_atomic_load64((int64*) (A))
-#define my_atomic_storelong(A,B) my_atomic_store64((int64*) (A), (B))
-#define my_atomic_faslong(A,B) my_atomic_fas64((int64*) (A), (B))
-#define my_atomic_caslong(A,B,C) my_atomic_cas64((int64*) (A), (int64*) (B), (C))
-#endif
-
#ifdef _atomic_h_cleanup_
#include _atomic_h_cleanup_
#undef _atomic_h_cleanup_
@@ -345,6 +332,7 @@ make_atomic_store(ptr)
#undef make_atomic_store_body
#undef make_atomic_fas_body
#undef intptr
+#endif
/*
the macro below defines (as an expression) the code that
@@ -355,6 +343,20 @@ make_atomic_store(ptr)
#define LF_BACKOFF (1)
#endif
+#if SIZEOF_LONG == 4
+#define my_atomic_addlong(A,B) my_atomic_add32((int32*) (A), (B))
+#define my_atomic_loadlong(A) my_atomic_load32((int32*) (A))
+#define my_atomic_storelong(A,B) my_atomic_store32((int32*) (A), (B))
+#define my_atomic_faslong(A,B) my_atomic_fas32((int32*) (A), (B))
+#define my_atomic_caslong(A,B,C) my_atomic_cas32((int32*) (A), (int32*) (B), (C))
+#else
+#define my_atomic_addlong(A,B) my_atomic_add64((int64*) (A), (B))
+#define my_atomic_loadlong(A) my_atomic_load64((int64*) (A))
+#define my_atomic_storelong(A,B) my_atomic_store64((int64*) (A), (B))
+#define my_atomic_faslong(A,B) my_atomic_fas64((int64*) (A), (B))
+#define my_atomic_caslong(A,B,C) my_atomic_cas64((int64*) (A), (int64*) (B), (C))
+#endif
+
#define MY_ATOMIC_OK 0
#define MY_ATOMIC_NOT_1CPU 1
extern int my_atomic_initialize();
Index: mariadb-10.2.24/libmysqld/CMakeLists.txt
===================================================================
--- mariadb-10.2.24.orig/libmysqld/CMakeLists.txt
+++ mariadb-10.2.24/libmysqld/CMakeLists.txt
@@ -137,7 +137,7 @@ ENDIF()
SET(LIBS
- dbug strings mysys mysys_ssl pcre vio
+ dbug strings mysys mysys_ssl pcre vio ${LIBATOMIC}
${ZLIB_LIBRARY} ${SSL_LIBRARIES}
${LIBWRAP} ${LIBCRYPT} ${LIBDL}
${MYSQLD_STATIC_PLUGIN_LIBS}
Index: mariadb-10.2.24/sql/CMakeLists.txt
===================================================================
--- mariadb-10.2.24.orig/sql/CMakeLists.txt
+++ mariadb-10.2.24/sql/CMakeLists.txt
@@ -168,7 +168,8 @@ TARGET_LINK_LIBRARIES(sql ${MYSQLD_STATI
${LIBWRAP} ${LIBCRYPT} ${LIBDL} ${CMAKE_THREAD_LIBS_INIT}
${WSREP_LIB}
${SSL_LIBRARIES}
- ${LIBSYSTEMD})
+ ${LIBSYSTEMD}
+ ${LIBATOMIC})
IF(WIN32)
SET(MYSQLD_SOURCE main.cc nt_servc.cc message.rc)
Index: mariadb-10.2.24/storage/perfschema/unittest/CMakeLists.txt
===================================================================
--- mariadb-10.2.24.orig/storage/perfschema/unittest/CMakeLists.txt
+++ mariadb-10.2.24/storage/perfschema/unittest/CMakeLists.txt
@@ -29,4 +29,4 @@ ADD_DEPENDENCIES(pfs_server_stubs GenErr
MY_ADD_TESTS(pfs_instr_class pfs_instr_class-oom pfs_instr pfs_instr-oom
pfs_account-oom pfs_host-oom pfs_timer pfs_user-oom pfs pfs_misc
- EXT "cc" LINK_LIBRARIES perfschema mysys pfs_server_stubs)
+ EXT "cc" LINK_LIBRARIES perfschema mysys pfs_server_stubs ${LIBATOMIC})
Index: mariadb-10.2.24/unittest/mysys/CMakeLists.txt
===================================================================
--- mariadb-10.2.24.orig/unittest/mysys/CMakeLists.txt
+++ mariadb-10.2.24/unittest/mysys/CMakeLists.txt
@@ -15,7 +15,7 @@
MY_ADD_TESTS(bitmap base64 my_atomic my_rdtsc lf my_malloc my_getopt dynstring
aes byte_order
- LINK_LIBRARIES mysys)
+ LINK_LIBRARIES mysys ${LIBATOMIC})
MY_ADD_TESTS(my_vsnprintf LINK_LIBRARIES strings mysys)
ADD_DEFINITIONS(${SSL_DEFINES})
Index: mariadb-10.2.24/unittest/sql/CMakeLists.txt
===================================================================
--- mariadb-10.2.24.orig/unittest/sql/CMakeLists.txt
+++ mariadb-10.2.24/unittest/sql/CMakeLists.txt
@@ -27,7 +27,7 @@ ELSE()
ADD_EXECUTABLE(explain_filename-t explain_filename-t.cc)
IF(HAVE_BFD_H)
TARGET_LINK_LIBRARIES(mysys bfd)
ENDIF(HAVE_BFD_H)
--- a/sql/CMakeLists.txt
+++ b/sql/CMakeLists.txt
@@ -178,6 +178,10 @@ ELSE()
SET(MYSQLD_SOURCE main.cc ${DTRACE_PROBES_ALL})
ENDIF()
-TARGET_LINK_LIBRARIES(explain_filename-t sql mytap)
+TARGET_LINK_LIBRARIES(explain_filename-t sql mytap ${LIBATOMIC})
MY_ADD_TEST(explain_filename)
+IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
+ TARGET_LINK_LIBRARIES(sql atomic)
+ENDIF()
+
ADD_EXECUTABLE(mf_iocache-t mf_iocache-t.cc ../../sql/mf_iocache_encr.cc)
IF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS)

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:97f4d924e69f77abb2f650116785c2f5ef356230442534ebcbaadb51d9bb8bc4
size 71965656

View File

@ -1,7 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iEYEABECAAYFAlzTJE4ACgkQy8sIKhu5Q9tQDwCeKknxOY+mXMPmPEd3JopVIjwf
I70An3GunClhcxs/PeHN98pu/GBX8PHK
=rlBJ
-----END PGP SIGNATURE-----

View File

@ -9,14 +9,14 @@ Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt.orig
+++ CMakeLists.txt
@@ -224,7 +224,6 @@ IF(SECURITY_HARDENED)
MY_CHECK_AND_SET_COMPILER_FLAG("-pie -fPIC")
MY_CHECK_AND_SET_COMPILER_FLAG("-Wl,-z,relro,-z,now")
MY_CHECK_AND_SET_COMPILER_FLAG("-fstack-protector --param=ssp-buffer-size=4")
- MY_CHECK_AND_SET_COMPILER_FLAG("-D_FORTIFY_SOURCE=2" RELEASE RELWITHDEBINFO)
@@ -236,7 +236,6 @@ IF(NOT WITH_TSAN)
MY_CHECK_AND_SET_COMPILER_FLAG("-pie -fPIC")
MY_CHECK_AND_SET_COMPILER_FLAG("-Wl,-z,relro,-z,now")
MY_CHECK_AND_SET_COMPILER_FLAG("-fstack-protector --param=ssp-buffer-size=4")
- MY_CHECK_AND_SET_COMPILER_FLAG("-D_FORTIFY_SOURCE=2" RELEASE RELWITHDEBINFO)
ENDIF()
ENDIF()
# Always enable debug sync for debug builds.
Index: storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake
===================================================================
--- storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake.orig
@ -33,7 +33,7 @@ Index: storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake
)
endif ()
@@ -111,23 +109,23 @@ set_cflags_if_supported(
@@ -103,23 +101,23 @@ set_cflags_if_supported(
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions")
## set extra debugging flags and preprocessor definitions
@ -65,7 +65,7 @@ Index: storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake
else ()
if (APPLE)
set(FLTO_OPTS "-fwhole-program")
@@ -135,10 +133,10 @@ else ()
@@ -127,10 +125,10 @@ else ()
set(FLTO_OPTS "-fuse-linker-plugin")
endif()
# we overwrite this because the default passes -DNDEBUG and we don't want that

View File

@ -1,29 +0,0 @@
PATCH-P1-FIX-FEATURE: Enhance wsrep.cnf (galera configuration file)
wsrep_on option defines whether or not wsrep replication is enabled.
It's set to OFF by default since MariaDB 10.1 but we want to mention
this option explicitly in galera configuration file in order to bring
it to the user's attention.
Set the location of the wsrep library (wsrep_provider option).
Maintainer: Kristyna Streitova <kstreitova@suse.cz>
Index: mariadb-10.2.16/support-files/wsrep.cnf.sh
===================================================================
--- mariadb-10.2.16.orig/support-files/wsrep.cnf.sh
+++ mariadb-10.2.16/support-files/wsrep.cnf.sh
@@ -31,10 +31,10 @@ bind-address=0.0.0.0
##
# Enable wsrep
-wsrep_on=1
+wsrep_on=OFF
# Full path to wsrep provider library or 'none'
-wsrep_provider=none
+wsrep_provider=%{_libdir}/galera/libgalera_smm.so
# Provider specific configuration options
#wsrep_provider_options=

View File

@ -0,0 +1,27 @@
From 13e8f728ec83133b990ed21404cbac1d8a0bc74c Mon Sep 17 00:00:00 2001
From: Sergei Golubchik <serg@mariadb.org>
Date: Sun, 16 Jun 2019 01:25:03 +0200
Subject: [PATCH] compilation failure on ppc with -DCMAKE_BUILD_TYPE=Debug
if ${CRC32_LIBRARY} target has no COMPILE_FLAGS yet,
GET_TARGET_PROPERTY returns COMPILE_FLAGS-NOTFOUND, which
doesn't work very well when it's later fed back into COMPILE_FLAGS.
GET_PROPERTY() returns an empty string in this case.
---
extra/crc32-vpmsum/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/extra/crc32-vpmsum/CMakeLists.txt b/extra/crc32-vpmsum/CMakeLists.txt
index 31c09a97d6af..b4adebdadf5a 100644
--- a/extra/crc32-vpmsum/CMakeLists.txt
+++ b/extra/crc32-vpmsum/CMakeLists.txt
@@ -2,7 +2,7 @@ ADD_CONVENIENCE_LIBRARY(${CRC32_LIBRARY} $<TARGET_OBJECTS:crc32c> $<TARGET_OBJEC
ADD_LIBRARY(crc32c OBJECT vec_crc32.c)
ADD_LIBRARY(crc32ieee OBJECT vec_crc32.c)
-GET_TARGET_PROPERTY(CFLAGS_CRC32_VPMSUM ${CRC32_LIBRARY} COMPILE_FLAGS)
+GET_PROPERTY(CFLAGS_CRC32_VPMSUM TARGET ${CRC32_LIBRARY} PROPERTY COMPILE_FLAGS)
SET_TARGET_PROPERTIES(crc32c crc32ieee PROPERTIES COMPILE_FLAGS "${CFLAGS_CRC32_VPMSUM} -maltivec -mvsx -mpower8-vector -mcrypto -mpower8-vector")
SET_TARGET_PROPERTIES(crc32ieee PROPERTIES COMPILE_DEFINITIONS "CRC32_FUNCTION=crc32ieee_vpmsum;CRC32_CONSTANTS_HEADER=\"crc32ieee_constants.h\"")
SET_TARGET_PROPERTIES(crc32c PROPERTIES COMPILE_DEFINITIONS "CRC32_FUNCTION=crc32c_vpmsum;CRC32_CONSTANTS_HEADER=\"crc32c_constants.h\"")

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

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:20a1ea4fc59aae89dcc82aff0d4907b036daf9bfbd252f08162399f055097097
size 71894997

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iEYEABECAAYFAl0/HkcACgkQy8sIKhu5Q9vPzgCggjXcddbYnPocg832L8RQpUnY
Op8AnRuT0lFduvcNZluz44/u8vFS2IIq
=9tGf
-----END PGP SIGNATURE-----

View File

@ -1,96 +0,0 @@
PATCH-P0-FIX-SUSE: Tweak default configuration
This patch adds log file locations and socket location as they should be in
SuSE to the default configuration files.
Maintainer: Michal Hrusecky <Michal.Hrusecky@opensuse.org>
Index: support-files/my-huge.cnf.sh
===================================================================
--- support-files/my-huge.cnf.sh.orig
+++ support-files/my-huge.cnf.sh
@@ -131,7 +131,15 @@ server-id = 1
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
+# The safe_mysqld script
+[safe_mysqld]
+log-error=/var/log/mysql/mysqld.log
+socket = @MYSQL_UNIX_ADDR@
+
+!includedir /etc/mysql
+
[mysqldump]
+socket = @MYSQL_UNIX_ADDR@
quick
max_allowed_packet = 16M
Index: support-files/my-large.cnf.sh
===================================================================
--- support-files/my-large.cnf.sh.orig
+++ support-files/my-large.cnf.sh
@@ -131,7 +131,15 @@ server-id = 1
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
+# The safe_mysqld script
+[safe_mysqld]
+log-error=/var/log/mysql/mysqld.log
+socket = @MYSQL_UNIX_ADDR@
+
+!includedir /etc/mysql
+
[mysqldump]
+socket = @MYSQL_UNIX_ADDR@
quick
max_allowed_packet = 16M
Index: support-files/my-medium.cnf.sh
===================================================================
--- support-files/my-medium.cnf.sh.orig
+++ support-files/my-medium.cnf.sh
@@ -26,6 +26,8 @@ socket = @MYSQL_UNIX_ADDR@
[mysqld]
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@
+# Change following line if you want to store your database elsewhere
+datadir = /var/lib/mysql
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
@@ -129,7 +131,15 @@ server-id = 1
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
+# The safe_mysqld script
+[safe_mysqld]
+log-error = /var/log/mysql/mysqld.log
+socket = @MYSQL_UNIX_ADDR@
+
+!includedir /etc/mysql
+
[mysqldump]
+socket = @MYSQL_UNIX_ADDR@
quick
max_allowed_packet = 16M
Index: support-files/my-small.cnf.sh
===================================================================
--- support-files/my-small.cnf.sh.orig
+++ support-files/my-small.cnf.sh
@@ -65,7 +65,15 @@ server-id = 1
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
+# The safe_mysqld script
+[safe_mysqld]
+log-error = /var/log/mysql/mysqld.log
+socket = @MYSQL_UNIX_ADDR@
+
+!includedir /etc/mysql
+
[mysqldump]
+socket = @MYSQL_UNIX_ADDR@
quick
max_allowed_packet = 16M

View File

@ -1,38 +0,0 @@
PATCH-P0-FEATURE-SUSE: Use better comments in install_db
We ship init script so we don't need to warn user to install one and we also
have a testsuite in separate packege.
Maintainer: Michal Hrusecky <Michal.Hrusecky@opensuse.org>
Index: scripts/mysql_install_db.sh
===================================================================
--- scripts/mysql_install_db.sh.orig
+++ scripts/mysql_install_db.sh
@@ -521,9 +521,10 @@ fi
# the screen.
if test "$cross_bootstrap" -eq 0 && test -z "$srcdir"
then
- s_echo
- s_echo "To start mysqld at boot time you have to copy"
- s_echo "support-files/mysql.server to the right place for your system"
+# Output disabled, since the SUSE RPM comes with an init script installed
+# s_echo
+# s_echo "To start mysqld at boot time you have to copy"
+# s_echo "support-files/mysql.server to the right place for your system"
if test "$auth_root_authentication_method" = normal
then
@@ -551,10 +552,9 @@ then
then
echo
echo "You can start the MariaDB daemon with:"
- echo "cd '$basedir' ; $bindir/mysqld_safe --datadir='$ldata'"
+ echo "rcmysql start"
echo
- echo "You can test the MariaDB daemon with mysql-test-run.pl"
- echo "cd '$basedir/mysql-test' ; perl mysql-test-run.pl"
+ echo "You can test the MariaDB daemon with mariadb-test package"
fi
echo

View File

@ -1,3 +1,171 @@
-------------------------------------------------------------------
Thu Aug 8 10:06:04 UTC 2019 - Kristyna Streitova <kstreitova@suse.com>
- remove sql_mode from my.ini/my.cnf as NO_ENGINE_SUBSTITUTION and
STRICT_TRANS_TABLES are already set by default from version
10.2.4 [bsc#1144314]
-------------------------------------------------------------------
Wed Aug 7 11:22:39 UTC 2019 - Kristyna Streitova <kstreitova@suse.com>
- add mariadb-10.3.17-fix_ppc_build.patch to fix a compilation
failure for ppc if ${CRC32_LIBRARY} target has no COMPILE_FLAGS
yet. Then GET_TARGET_PROPERTY returns COMPILE_FLAGS-NOTFOUND,
which doesn't work very well when it's later fed back into
COMPILE_FLAGS.
- _constraints: increase the memory because of the ppc build
- adjust mysql-systemd-helper ("shutdown protected MySQL" section)
so it checks both ping response and the pid in a process list
as it can take some time till the process is terminated.
Otherwise it can lead to "found left-over process" situation
when regular mariadb is started [bsc#1143215]
-------------------------------------------------------------------
Fri Aug 2 10:32:48 UTC 2019 - Kristyna Streitova <kstreitova@suse.com>
- update to 10.3.17 [bsc#1141798]
* notable changes:
* MDEV-19795: Merge upstream MyRocks.
* MDEV-17228: Encrypted temporary tables are not encrypted.
* MDEV-18328: Disks Plugin is now stable and requires the FILE
privilege.
* Merge relevant InnoDB changes from MySQL 5.7.27
* Adjust spin loops to the x86 PAUSE instruction latency
* CREATE TABLE: MDEV-19292, MDEV-20102
* ALTER TABLE: MDEV-15641, MDEV-19630, MDEV-19916, MDEV-19974
* Indexed virtual columns: MDEV-16222, MDEV-17005, MDEV-19870
* FULLTEXT INDEX: MDEV-14154
* Encryption: MDEV-17228, MDEV-19914
* Galera + FOREIGN KEY: MDEV-19660
* Recovery & Mariabackup: MDEV-19978
* MDEV-19781: Add page id matching check in innochecksum tool
* MDEV-20091: DROP TEMPORARY table is logged despite no CREATE
was logged
* MDEV-19427: mysql_upgrade_service throws exception upgrading
from 10.0 to 10.3
* MDEV-19814: Server crash in row_upd_del_mark_clust_rec or
Assertion
* MDEV-17363: Compressed columns cannot be restored from dump
* fixes for the following security vulnerabilities:
CVE-2019-2805, CVE-2019-2740, CVE-2019-2739, CVE-2019-2737,
CVE-2019-2758
* release notes and changelog:
https://mariadb.com/kb/en/library/mariadb-10317-release-notes
https://mariadb.com/kb/en/library/mariadb-10317-changelog
- add "BuildRequires: python3" as some tests and myrocks_hotbackup
script need python3. Make the PYTHON_SHEBANG value configurable
[bsc#1142909]
- remove "innodb_file_format" option from my.ini (my.cnf) file that
was removed in MariaDB 10.3.1. Also remove "innodb_file_per_table=ON"
option that is by default ON and it's redundant now.
- remove mariadb-10.2.9-galera_cnf.patch as it's not clear what the
correct path to galera wsrep provider is while users can use
galera 3, galera 4 or galera compiled on their own
- add "Requires: python3-mysqlclient" that is needed by
myrocks_hotbackup script
-------------------------------------------------------------------
Fri Aug 2 08:14:49 UTC 2019 - Martin Liška <mliska@suse.cz>
- Use FAT LTO objects in order to provide proper static library.
-------------------------------------------------------------------
Thu Jul 25 11:07:30 UTC 2019 - Kristyna Streitova <kstreitova@suse.com>
- remove client_ed25519.so plugin because it's shipped in
mariadb-connector-c package (libmariadb_plugins)
-------------------------------------------------------------------
Wed Jul 24 12:49:32 UTC 2019 - matthias.gerstner@suse.com
- removal of SuSEfirewall2 service, since SuSEfirewall2 has been replaced by
firewalld, see [1].
[1]: https://lists.opensuse.org/opensuse-factory/2019-01/msg00490.html
-------------------------------------------------------------------
Mon Jun 17 13:39:54 UTC 2019 - Kristýna Streitová <kstreitova@suse.com>
- update to 10.3.16 [bsc#1108088]
* notable changes:
* MDEV-19490: show tables fails when selecting the
information_schema database
* MDEV-19491: multi-update with triggers and stored routines
* MDEV-19541: InnoDB crashes when trying to recover
a corrupted page
* MDEV-19725: Incorrect error handling in ALTER TABLE
* MDEV-19445: FULLTEXT INDEX fix
* MDEV-19486: System Versioning fix
* MDEV-19509: InnoDB skips the tablespace in rotation list
* MDEV-19614: SET GLOBAL innodb_ deadlock due to
LOCK_global_system_variables
* MDEV-17458: Unable to start galera node
* MDEV-17456: Malicious SUPER user can possibly change audit
log configuration without leaving traces
* MDEV-19588: Wrong results from query, using left join
* MDEV-19258: RIGHT JOIN hangs in MariaDB
* Virtual columns fixes: MDEV-19027, MDEV-19602
* Crash recovery fixes: MDEV-13080, MDEV-19587, MDEV-19435
* MDEV-11094: Fixed row-based event applying with an error anymore
when the events aim at the blackhole engine and row annotation
is enabled
* MDEV-19076: Fixed slave_parallel_mode=optimistic did not always
properly order replication events on temporary tables in some
case to attempt execution before a parent event has been already
processed
* MDEV-19158: Fixed duplicated entries in binlog occurred in
combination of LOCK TABLES and binlog_format=MIXED when a being
locked table was under replication unsafe operation
* fixes for the following security vulnerabilities: none
* release notes and changelog:
https://mariadb.com/kb/en/library/mariadb-10316-release-notes
https://mariadb.com/kb/en/library/mariadb-10316-changelog
- fix reading options for multiple instances if my${INSTANCE}.cnf
is used. Also remove "umask 077" from mysql-systemd-helper that
causes that new datadirs are created with wrong permissions. Set
correct permissions for files created by us (mysql_upgrade_info,
.run-mysql_upgrade) [bsc#1132666]
- remove mariadb-5.5.28-install_db-quiet.patch and add "--rpm"
option to the mysql_install_db script that does basically the same
[bsc#1080891]
- remove mariadb-10.1.12-deharcode-libdir.patch because it's not
needed - we don't build libmariadb library in mariadb package
anymore so we don't need to take care about LIBDIR and PLUGINDIR
here. Moreover we shouldn't (and we don't) touch *_RPM
variables as they are internal) [bsc#1080891]
- update suse_skipped_tests.list
-------------------------------------------------------------------
Tue Jun 4 12:01:57 UTC 2019 - Kristýna Streitová <kstreitova@suse.com>
- update to 10.3.15
* see changes in 10.3 series
https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-103/
* fixes for the following security vulnerabilities:
[CVE-2019-2503] (the rest was already applied for 10.2)
- remove mysql-community-server-5.1.45-multi-configuration.patch as
we have the same configuration in /etc/my.cnf and it doesn't make
any sense to keep it twice. Moreover the patched file
support-files/my-medium.cnf.sh was removed in upstream
- remove mariadb-5.2.3-cnf.patch as all patched files were removed
upstream
- refresh mariadb-10.2.4-fortify-and-O.patch
- refresh mariadb-10.2.19-link-and-enable-c++11-atomics.patch and
use a simplified version from Debian
- refresh README.install and suse-test-run
- remove caching_sha2_password.so as it's shipped in mariadb-connector-c
package (libmariadb_plugins)
- rename libmysqld subpackage (embedded library) to libmariadbd as
libmysqld.so was renamed to libmariadbd.so (MDEV-14953)
- simplify removing static libs (we don't need to have .static)
- add perl(Memoize) and perl(Symbol) to BuildRequires and Requires
that are needed for tests
- replace Requires pwdutils with shadow
- build RocksDB only for x86_64 as other platforms are not supported
- remove xtrabackup scripts as we already removed xtrabackup requires
and it doesn't work for MariaDB 10.3 anyway
- run spec-cleaner
-------------------------------------------------------------------
Tue May 14 12:20:09 UTC 2019 - Kristýna Streitová <kstreitova@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package mariadb
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -12,11 +12,11 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# libmysqld soname
# libmariadbd soname (embedded library)
%define soname 19
# Set this to 1 to run regression test suite (it takes a long time)
%define run_testsuite 1
@ -37,26 +37,34 @@
# and a build without jemalloc is not supported upstream (MDEV-15034)
# Also we can't use PerconaFT (AGPL licence) that is needed for tokudb
%define with_tokudb 0
# Mroonga currently only supports the x86_64 architecture
# see https://mariadb.com/kb/en/mariadb/about-mroonga/
# Mroonga and RocksDB are available only for x86_64 architecture
# see https://mariadb.com/kb/en/mariadb/about-mroonga/ and
# https://mariadb.com/kb/en/library/myrocks-supported-platforms/
%ifarch x86_64
%define with_mroonga 1
%define with_rocksdb 1
%else
%define with_mroonga 0
%define with_rocksdb 0
%endif
# Define python interpreter version
%if 0%{?suse_version} >= 1500
%define python_path /usr/bin/python3
%else
%define python_path /usr/bin/python2
%endif
Name: mariadb
Version: 10.2.24
Version: 10.3.17
Release: 0
Summary: Server part of MariaDB
License: SUSE-GPL-2.0-with-FLOSS-exception
Group: Productivity/Databases/Servers
Url: https://www.mariadb.org
URL: https://www.mariadb.org
Source: https://downloads.mariadb.org/f/mariadb-%{version}/source/mariadb-%{version}.tar.gz
Source1: %{name}-%{version}.tar.gz.sig
Source2: %{name}.keyring
Source4: README.debug
Source5: suse-test-run
Source6: mysql.SuSEfirewall2
Source7: README.install
Source14: my.ini
Source15: mariadb.service
@ -64,30 +72,34 @@ Source16: mariadb.target
Source17: mysql-systemd-helper
Source18: mariadb@.service
Source50: suse_skipped_tests.list
Patch0: mysql-community-server-5.1.45-multi-configuration.patch
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
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.19-link-and-enable-c++11-atomics.patch
Patch11: mariadb-10.2.9-galera_cnf.patch
Patch10: mariadb-10.3.17-fix_ppc_build.patch
# needed for bison SQL parser and wsrep API
BuildRequires: bison
BuildRequires: cmake
BuildRequires: dos2unix
BuildRequires: fdupes
BuildRequires: gcc-c++
# GSSAPI
BuildRequires: krb5-devel
# embedded server libmariadbd
BuildRequires: libaio-devel
# mariabackup tool
BuildRequires: libarchive-devel
BuildRequires: libbz2-devel
# commands history feature
BuildRequires: libedit-devel
BuildRequires: libevent-devel
BuildRequires: libtool
BuildRequires: libxml2-devel
# CLI graphic and wsrep API
BuildRequires: ncurses-devel
BuildRequires: openssl-devel
# auth_pam.so plugin
BuildRequires: pam-devel
# MariaDB requires a specific version of pcre. Provide MariaDB with
# "BuildRequires: pcre-devel" and it automatically decides if the version is
@ -95,7 +107,9 @@ BuildRequires: pam-devel
BuildRequires: pcre-devel
BuildRequires: pkgconfig
BuildRequires: procps
BuildRequires: pwdutils
# Some tests and myrocks_hotbackup script need python3
BuildRequires: python3
BuildRequires: shadow
BuildRequires: sqlite
BuildRequires: tcpd-devel
# Tests requires time and ps and some perl modules
@ -110,7 +124,9 @@ BuildRequires: perl(Fcntl)
BuildRequires: perl(File::Temp)
BuildRequires: perl(Getopt::Long)
BuildRequires: perl(IPC::Open3)
BuildRequires: perl(Memoize)
BuildRequires: perl(Socket)
BuildRequires: perl(Symbol)
BuildRequires: perl(Sys::Hostname)
BuildRequires: perl(Test::More)
BuildRequires: perl(Time::HiRes)
@ -123,12 +139,14 @@ Requires: %{name}-errormessages = %{version}
# It can be switched back to plain "hostname" when this bug is resolved
Requires: /bin/hostname
Requires: perl-base
Requires(pre): pwdutils
# myrocks_hotbackup needs MySQLdb - if we want to use it under python3, we need python3-mysqlclient
Requires: python3-mysqlclient
Requires(pre): shadow
Recommends: logrotate
Conflicts: otherproviders(mariadb-server)
Conflicts: otherproviders(mysql)
Conflicts: otherproviders(mysql-debug)
Conflicts: otherproviders(mysql-server)
Conflicts: mariadb-server
Conflicts: mysql
Conflicts: mysql-debug
Conflicts: mysql-server
# Compatibility with Fedora/CentOS
Provides: mariadb-server = %{version}
Provides: mysql-server = %{version}
@ -151,7 +169,7 @@ Obsoletes: mysql-debug < %{version}
%ifnarch i586 %{arm}
BuildRequires: lzo-devel
%endif
BuildRequires: libedit-devel
# boost and Judy are required for oograph
%if 0%{with_oqgraph} > 0
BuildRequires: judy-devel
%if 0%{?suse_version} > 1315
@ -171,25 +189,29 @@ MySQL Community Server.
This package only contains the server-side programs.
%package -n libmysqld%{soname}
%package -n libmariadbd%{soname}
Summary: MariaDB embedded server library
Group: System/Libraries
Requires: %{name}-errormessages >= %{version}
Provides: libmysqld = %{version}-%{release}
Obsoletes: libmysqld < %{version}-%{release}
%description -n libmysqld%{soname}
%description -n libmariadbd%{soname}
This package contains MariaDB library that allows to run an embedded
MariaDB server inside a client application.
%package -n libmysqld-devel
%package -n libmariadbd-devel
Summary: MariaDB embedded server development files
Group: Development/Libraries/C and C++
Requires: libaio-devel
# The headers files are the shared
Requires: libmariadb-devel >= 3.0
Requires: libmysqld%{soname} = %{version}
Requires: libmariadbd%{soname} = %{version}
Requires: tcpd-devel
Provides: libmysqld-devel = %{version}-%{release}
Obsoletes: libmysqld-devel < %{version}-%{release}
%description -n libmysqld-devel
%description -n libmariadbd-devel
This package contains the development header files and libraries
for developing applications that embed the MariaDB.
@ -199,8 +221,8 @@ Group: Productivity/Databases/Clients
Requires: %{name}-errormessages = %{version}
# Explicit requires to pull in charsets for errormessages
Requires: libmariadb3 >= 3.0
Requires(pre): pwdutils
Conflicts: otherproviders(mysql-client)
Requires(pre): shadow
Conflicts: mysql-client
Provides: mysql-client = %{version}
Obsoletes: mysql-client < %{version}
@ -230,7 +252,7 @@ This package contains configuration files and scripts that are
needed for running MariaDB Galera Cluster.
%package errormessages
Summary: The error messages files required by server, client and libmysqld
Summary: The error messages files required by server, client and libmariadbd
Group: System/Localization
BuildArch: noarch
@ -243,7 +265,7 @@ Summary: Benchmarks for MariaDB
Group: Productivity/Databases/Tools
Requires: %{name}-client
Requires: perl-DBD-mysql
Conflicts: otherproviders(mysql-bench)
Conflicts: mysql-bench
Provides: mysql-bench = %{version}
Obsoletes: mysql-bench < %{version}
@ -273,11 +295,13 @@ Requires: perl(Fcntl)
Requires: perl(File::Temp)
Requires: perl(Getopt::Long)
Requires: perl(IPC::Open3)
Requires: perl(Memoize)
Requires: perl(Socket)
Requires: perl(Symbol)
Requires: perl(Sys::Hostname)
Requires: perl(Test::More)
Requires: perl(Time::HiRes)
Conflicts: otherproviders(mysql-test)
Conflicts: mysql-test
Provides: mysql-test = %{version}
Obsoletes: mysql-test < %{version}
@ -290,7 +314,7 @@ To run the testsuite, run %{_datadir}/mysql-test/suse-test-run.
Summary: MariaDB tools
Group: Productivity/Databases/Servers
Requires: perl-DBD-mysql
Conflicts: otherproviders(mysql-tools)
Conflicts: mysql-tools
# make sure this package is installed when updating from 10.2 and older
Provides: mysql-client:%{_bindir}/perror
Provides: mysql-tools = %{version}
@ -305,16 +329,12 @@ applications with MariaDB.
%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
%patch6 -p0
%patch7 -p0
%patch8 -p0
%patch1
%patch3
%patch7
%patch8
%patch9 -p1
%patch11 -p1
%patch10 -p1
cp %{_sourcedir}/suse-test-run .
@ -351,6 +371,7 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py
rm -rf storage/tokudb/PerconaFT
%build
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
EXTRA_FLAGS="-Wno-unused-but-set-variable -fno-strict-aliasing -Wno-unused-parameter"
# Mariadb devs seems to fall in love with -Werror option
EXTRA_FLAGS="${EXTRA_FLAGS} -Wno-error"
@ -387,6 +408,10 @@ export CXXFLAGS="$CFLAGS -felide-constructors"
%if 0%{with_mroonga} < 1
-DPLUGIN_MROONGA=NO \
%endif
%if 0%{with_rocksdb} < 1
-DPLUGIN_ROCKSDB=NO \
%endif
-DPYTHON_SHEBANG=%{python_path} \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_CSV_STORAGE_ENGINE=1 \
-DWITH_HANDLERSOCKET_STORAGE_ENGINE=1 \
@ -461,10 +486,8 @@ install -m 644 build/sql/mysqld.sym %{buildroot}%{_libdir}/mysql/mysqld.sym
# INFO_SRC binary
install -p -m 644 build/Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/
# Remove most static libs (FIXME: don't build them at all...)
[ \! -f "%{buildroot}%{_libdir}/"libmysqld.a ] || mv "%{buildroot}%{_libdir}/"libmysqld.a "%{buildroot}%{_libdir}/"libmysqld.static
rm -f %{buildroot}%{_libdir}/*.a
[ \! -f "%{buildroot}%{_libdir}/"libmysqld.static ] || mv "%{buildroot}%{_libdir}/"libmysqld.static "%{buildroot}%{_libdir}/"libmysqld.a
# Remove static libs (FIXME: don't build them at all...)
rm %{buildroot}%{_libdir}/*.a
# Remove unused stuff
rm -f %{buildroot}%{_datadir}/mysql/{errmsg-utf8.txt,mysql-log-rotate}
@ -478,6 +501,9 @@ rm -f %{buildroot}%{_datadir}/mysql/mysql.server
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
# xtrabackup is not supported for MariaDB 10.3
rm -f %{buildroot}%{_bindir}/wsrep_sst_xtrabackup-v2
rm -f %{buildroot}%{_bindir}/wsrep_sst_xtrabackup
# Remove unused upstream services
rm -f %{buildroot}'%{_unitdir}/mariadb.service'
@ -489,18 +515,18 @@ rm -f %{buildroot}%{_sysusersdir}/sysusers.conf
# Remove client libraries that are now provided in mariadb-connector-c
# Client library and links
rm %{buildroot}%{_libdir}/libmariadb*.so.*
rm %{buildroot}%{_libdir}/libmariadb.so.*
unlink %{buildroot}%{_libdir}/libmysqlclient.so
unlink %{buildroot}%{_libdir}/libmysqlclient_r.so
unlink %{buildroot}%{_libdir}/libmariadb.so
# Client plugins
rm %{buildroot}%{_libdir}/mysql/plugin/{auth_gssapi_client.so,dialog.so,mysql_clear_password.so,sha256_password.so}
rm %{buildroot}%{_libdir}/mysql/plugin/{auth_gssapi_client.so,dialog.so,mysql_clear_password.so,sha256_password.so,caching_sha2_password.so,client_ed25519.so}
# Devel files
rm %{buildroot}%{_bindir}/mysql_config
rm %{buildroot}%{_bindir}/mariadb_config
rm %{buildroot}%{_datadir}/pkgconfig/mariadb.pc
rm -f %{buildroot}%{_prefix}/lib/pkgconfig/libmariadb.pc
rm -f %{buildroot}%{_prefix}/lib64/pkgconfig/libmariadb.pc
rm -f %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc
rm %{buildroot}%{_datadir}/aclocal/mysql.m4
rm %{buildroot}%{_mandir}/man1/mysql_config*.1*
rm -r %{buildroot}%{_includedir}/mysql
@ -527,7 +553,7 @@ if [ -f scripts/mysqlaccess.conf ] ; then
fi
# mariadb-galera.files
filelist galera_new_cluster galera_recovery wsrep_sst_common wsrep_sst_mariabackup wsrep_sst_mysqldump wsrep_sst_rsync wsrep_sst_xtrabackup-v2 wsrep_sst_xtrabackup wsrep_sst_rsync_wan >mariadb-galera.files
filelist galera_new_cluster galera_recovery wsrep_sst_common wsrep_sst_mariabackup wsrep_sst_mysqldump wsrep_sst_rsync wsrep_sst_rsync_wan >mariadb-galera.files
# mariadb-bench.files
filelist mysqlslap >mariadb-bench.files
@ -588,9 +614,6 @@ cat >> %{buildroot}%{_tmpfilesdir}/mariadb.conf <<EOF
x %{_localstatedir}/tmp/mysql.*
EOF
# SuSEfirewall service description
install -D -m 644 %{_sourcedir}/mysql.SuSEfirewall2 %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/mysql
# Testsuite
install -d -m 755 '%{buildroot}'%{_datadir}/mysql-test/
install -m 755 suse-test-run '%{buildroot}'%{_datadir}/mysql-test/
@ -708,6 +731,7 @@ datadir="`%{_bindir}/my_print_defaults mysqld mysql_server | sed -n 's|--datadir
[ -n "$datadir" ] || datadir="%{_localstatedir}/lib/mysql"
if [ -d "$datadir/mysql" ]; then
touch "$datadir/.run-mysql_upgrade"
chmod 640 "$datadir/.run-mysql_upgrade"
fi
if [ \! -f "$datadir/mysql_upgrade_info" ]; then
if [ $1 -eq 1 ]; then
@ -740,8 +764,8 @@ exit 0
%postun
%service_del_postun mariadb.service
%post -n libmysqld%{soname} -p /sbin/ldconfig
%postun -n libmysqld%{soname} -p /sbin/ldconfig
%post -n libmariadbd%{soname} -p /sbin/ldconfig
%postun -n libmariadbd%{soname} -p /sbin/ldconfig
%files -f mariadb.files
%config(noreplace) %attr(0644, root, mysql) %{_sysconfdir}/my.cnf
@ -767,7 +791,6 @@ exit 0
%dir %{_libdir}/mysql
%{_libdir}/mysql/mysqld.sym
%{_libdir}/mysql/INFO_SRC
%config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/mysql
%dir %{_libdir}/mysql/plugin
%{_libdir}/mysql/plugin/*.so
%exclude %{_libdir}/mysql/plugin/dialog*.so
@ -794,12 +817,12 @@ exit 0
%{_datadir}/mysql/systemd/mariadb.service
%{_datadir}/mysql/systemd/mariadb@.service
%files -n libmysqld%{soname}
%{_libdir}/libmysqld.so.*
%files -n libmariadbd%{soname}
%{_libdir}/libmariadbd.so.*
%files -n libmysqld-devel
%{_libdir}/libmysqld.a
%files -n libmariadbd-devel
%{_libdir}/libmysqld.so
%{_libdir}/libmariadbd.so
%files client -f mariadb-client.files
%dir %{_libdir}/mysql
@ -820,9 +843,10 @@ exit 0
%files test -f mariadb-test.files
%{_bindir}/my_safe_process
%{_mandir}/man1/my_safe_process.1*
%{_mandir}/man1/mysql-test-run.pl.1*
%{_mandir}/man1/mysql-stress-test.pl.1*
%{_bindir}/test-connect-t
%{_mandir}/man1/my_safe_process.1%{?ext_man}
%{_mandir}/man1/mysql-test-run.pl.1%{?ext_man}
%{_mandir}/man1/mysql-stress-test.pl.1%{?ext_man}
%{_datadir}/mysql-test/valgrind.supp
%dir %attr(755, mysql, mysql)%{_datadir}/mysql-test
%{_datadir}/mysql-test/[^v]*

8
my.ini
View File

@ -30,12 +30,6 @@ secure_file_priv = /var/lib/mysql-files
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Using newer file format that supports dynamic and compressed row formats.
# If you are using replication you have to make sure, that these options are
# set everywhere the same way (probably comment them out is the easiest way)
innodb_file_format=Barracuda
innodb_file_per_table=ON
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin=mysql-bin
@ -65,8 +59,6 @@ server-id = 1
# ssl-cert=/etc/mysql/ssl/server-cert.pem
# ssl-key=/etc/mysql/ssl/server-key.pem
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin

View File

@ -1,59 +0,0 @@
PATCH-P0-FEATURE-SUSE: Add multi configuration
This patch adds example of how to setup multiple running MySQL servers. It is
by default commented out, but it can be used as an example and help people
start with new configuration.
Maintainer: Michal Hrusecky <Michal.Hrusecky@opensuse.org>
Index: support-files/my-medium.cnf.sh
===================================================================
--- support-files/my-medium.cnf.sh.orig
+++ support-files/my-medium.cnf.sh
@@ -154,3 +154,46 @@ write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
+
+[mysqld_multi]
+mysqld = /usr/bin/mysqld_safe
+mysqladmin = /usr/bin/mysqladmin
+log = /var/log/mysqld_multi.log
+# user = multi_admin
+# password = secret
+
+# If you want to use mysqld_multi uncomment 1 or more mysqld sections
+# below or add your own ones.
+
+# WARNING
+# --------
+# If you uncomment mysqld1 than make absolutely sure, that database mysql,
+# configured above, is not started. This may result in corrupted data!
+# [mysqld1]
+# port = @MYSQL_TCP_PORT@
+# datadir = /var/lib/mysql
+# pid-file = /var/lib/mysql/mysqld.pid
+# socket = /var/lib/mysql/mysql.sock
+# user = mysql
+
+# [mysqld2]
+# port = 3307
+# datadir = /var/lib/mysql-databases/mysqld2
+# pid-file = /var/lib/mysql-databases/mysqld2/mysql.pid
+# socket = /var/lib/mysql-databases/mysqld2/mysql.sock
+# user = mysql
+
+# [mysqld3]
+# port = 3308
+# datadir = /var/lib/mysql-databases/mysqld3
+# pid-file = /var/lib/mysql-databases/mysqld3/mysql.pid
+# socket = /var/lib/mysql-databases/mysqld3/mysql.sock
+# user = mysql
+
+# [mysqld6]
+# port = 3309
+# datadir = /var/lib/mysql-databases/mysqld6
+# pid-file = /var/lib/mysql-databases/mysqld6/mysql.pid
+# socket = /var/lib/mysql-databases/mysqld6/mysql.sock
+# user = mysql
+

View File

@ -20,7 +20,7 @@ read_config() {
# Read options - important for multi setup
if [[ -n "$INSTANCE" ]]; then
opts="$(/usr/bin/my_print_defaults mysqld mysqld_multi "$INSTANCE")"
opts="$(/usr/bin/my_print_defaults mysqld mysqld_multi "$INSTANCE" --defaults-extra-file=/etc/my${INSTANCE}.cnf)"
tmp_opts="$opts"
config="/etc/my${INSTANCE}.cnf"
else
@ -52,9 +52,10 @@ read_config() {
mysql_install() {
if [[ ! -d "$datadir/mysql" ]]; then
echo "Creating MySQL privilege database... "
mysql_install_db --user="$mysql_daemon_user" --datadir="$datadir" || \
die "Creation of MySQL databse in $datadir failed"
mysql_install_db --rpm --user="$mysql_daemon_user" --datadir="$datadir" || \
die "Creation of MySQL database in $datadir failed"
echo -n "$MYSQLVER" > "$datadir"/mysql_upgrade_info
chmod 640 "$datadir/mysql_upgrade_info"
fi
}
@ -118,18 +119,26 @@ mysql_upgrade() {
rm -f "$datadir/.run-mysql_upgrade"
[[ $(grep -q "^$MYSQLVER" "$datadir/mysql_upgrade_info" 2> /dev/null) ]] || \
echo -n "$MYSQLVER" > "$datadir/mysql_upgrade_info"
chmod 640 "$datadir/mysql_upgrade_info"
else
echo "Upgrade failed"
up_ok="false"
fi
# Shut down MySQL
echo "Shuting down protected MySQL"
kill "$(cat "$protected/mysqld.pid")"
echo "Shutting down protected MySQL"
protected_pid=$(cat "$protected/mysqld.pid")
kill $protected_pid
for i in {1..30}; do
/usr/bin/mysqladmin --socket="$protected/mysql.sock" ping > /dev/null 2>&1 || break
/usr/bin/mysqladmin --socket="$protected/mysql.sock" ping > /dev/null 2>&1
# Check both ping response and the pid in a process list as it can take some time till the process is terminated.
# Otherwise it can lead to "found left-over process" situation when regular mariadb is started.
if [[ $? -eq 1 ]] && ! ps -p $protected_pid > /dev/null 2>&1; then
break
fi
sleep 1
done
/usr/bin/mysqladmin --socket="$protected/mysql.sock" ping > /dev/null 2>&1 && kill -9 "$(cat "$protected/mysqld.pid")"
/usr/bin/mysqladmin --socket="$protected/mysql.sock" ping > /dev/null 2>&1 && kill -9 $protected_pid
# Cleanup
echo "Final cleanup"
@ -167,9 +176,6 @@ mysql_start() {
# We rely on output in english at some points
LC_ALL=C
# set the default umask bsc#1020976
umask 077
INSTANCE="$2"
read_config
mkdir -p /run/mysql

View File

@ -1,6 +0,0 @@
## Name: MySQL server
## Description: opens ports for MySQL in order to allow other hosts connect to it
# space separated list of allowed TCP ports
TCP="3306"

View File

@ -1,6 +1,6 @@
#!/usr/bin/perl
#
# Test the SUSE mysql package using the MySQL testsuite
# Test the SUSE mariadb package using the mysql-test framework
my $id = getpwnam("mysql") or die "can't find user \"mysql\": $!";
my $dir = "/usr/share/mysql-test/";

View File

@ -2,8 +2,7 @@
# The SSL tests that are failing correctly
main.ssl_7937 : bsc#937835, MDEV-8404
main.ssl_crl_clients : bsc#937835, MDEV-8404
main.ssl_cert_verify : bsc#937835, MDEV-8404
main.ssl_crl : bsc#937835, MDEV-8404
main.ssl_8k_key : bsc#937835, MDEV-8404
# Main and perfschema tests
@ -12,11 +11,6 @@ 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
# Failing because of "Self Signed Certificate in the Certificate Chain"
perfschema.cnf_option : all
rpl.rpl_row_img_blobs : all
@ -25,53 +19,30 @@ rpl.rpl_row_img_eng_noblob : all
#----------------------------------------------------------------
# Failing with OpenSSL 1.1.1.
main.ssl_cipher : MDEV-17184
main.openssl_6975 : MDEV-17184
main.ssl : MDEV-17184
# Needs to be investigated (issues trackers will be added)
sys_vars.slave_parallel_threads_basic : all
main.mysqldump : all
unit.lf : all
unit.my_atomic : all
mariabackup.huge_lsn : x86_64
rocksdb.deadlock : x86_64
rocksdb.2pc_group_commit : aarch64, ppc64le, x86_64, armv7l
rocksdb.read_only_tx : aarch64, ppc64le, x86_64, armv7l
rocksdb.shutdown : aarch64, ppc64le, x86_64, armv7l
rocksdb.index_merge_rocksdb : aarch64, ppc64le, x86_64, armv7l
main.ps : ppc64le
main.type_ranges : ppc64le
main.select : ppc64le
main.select_jcl6 : ppc64le
main.derived_cond_pushdown : ppc64le
main.select_pkeycache : ppc64le
main.sp : ppc64le
main.type_float : ppc64le
main.type_newdecimal : ppc64le
rocksdb.type_float : ppc64le
rocksdb.col_opt_not_null : ppc64le
rocksdb.col_opt_null : ppc64le
rocksdb.col_opt_unsigned : ppc64le
innodb.temporary_table_optimization : ppc64le
rocksdb.bulk_load_errors : armv7l
encryption.innodb-encryption-alter : armv7l
plugins.processlist : armv7l
rocksdb.add_index_inplace : armv7l
rocksdb.bulk_load_unsorted : armv7l
rocksdb.bulk_load_unsorted_rev : armv7l
rocksdb.commit_in_the_middle_ddl : armv7l
rocksdb.concurrent_alter : armv7l
rocksdb.drop_index_inplace : armv7l
rocksdb.rocksdb : armv7l
rocksdb_sys_vars.rocksdb_merge_buf_size_basic : armv7l
rocksdb_sys_vars.rocksdb_merge_combine_read_size_basic : armv7l
rocksdb_sys_vars.rocksdb_merge_tmp_file_removal_delay_ms_basic : armv7l
rocksdb.unique_sec : armv7l
sys_vars.innodb_ft_result_cache_limit_32 : s390
sys_vars.slave_parallel_threads_basic : since 10.3.16 - x86_64, i386, s390x, armv7l
rocksdb.2pc_group_commit : since 10.3.16 - x86_64
rocksdb.read_only_tx : since 10.3.16 - x86_64
rocksdb.shutdown : since 10.3.16 - x86_64
rocksdb.index_merge_rocksdb : since 10.3.16 - x86_64
rocksdb_rpl.mdev12179 : since 10.3.16 - x86_64
main.gis_notembedded : since 10.3.16 - x86_64, i386, s390x, armv7l
unit.conc_ps_bugs : since 10.3.16 - x86_64, i386, s390x, armv7l
handler.heap : since 10.3.16 - s390x
federated.federatedx_versioning : since 10.3.16 - amrv7l
versioning.partition : since 10.3.16 - amrv7l
versioning.online : since 10.3.16 - amrv7l
versioning.auto_increment : since 10.3.16 - amrv7l
versioning.truncate : since 10.3.16 - amrv7l
versioning.select : since 10.3.16 - amrv7l
versioning.delete : since 10.3.16 - amrv7l
versioning.foreign : since 10.3.16 - amrv7l
versioning.insert : since 10.3.16 - amrv7l
versioning.replace : since 10.3.16 - amrv7l
versioning.select2 : since 10.3.16 - amrv7l
versioning.update : since 10.3.16 - amrv7l
versioning.alter : since 10.3.16 - amrv7l
versioning.commit_id : since 10.3.16 - amrv7l
versioning.trx_id : since 10.3.16 - amrv7l
mariabackup.system_versioning : since 10.3.16 - amrv7l
versioning.insert2 : since 10.3.16 - amrv7l