Uprev mariadb to latest from master branch
This commit is contained in:
parent
71392afcdc
commit
cfae882d3f
20
recipes-dbs/mysql/mariadb-native_10.3.16.bb
Normal file
20
recipes-dbs/mysql/mariadb-native_10.3.16.bb
Normal file
@ -0,0 +1,20 @@
|
||||
require mariadb.inc
|
||||
inherit native
|
||||
|
||||
PROVIDES += "mysql5-native"
|
||||
DEPENDS = "ncurses-native zlib-native bison-native"
|
||||
|
||||
RDEPENDS_${PN} = ""
|
||||
PACKAGES = ""
|
||||
EXTRA_OEMAKE = ""
|
||||
|
||||
do_install() {
|
||||
oe_runmake 'DESTDIR=${D}' install
|
||||
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 sql/gen_lex_hash ${D}${bindir}/
|
||||
install -m 0755 sql/gen_lex_token ${D}${bindir}/
|
||||
install -m 0755 extra/comp_err ${D}${bindir}/
|
||||
install -m 0755 scripts/comp_sql ${D}${bindir}/
|
||||
}
|
||||
|
309
recipes-dbs/mysql/mariadb.inc
Normal file
309
recipes-dbs/mysql/mariadb.inc
Normal file
@ -0,0 +1,309 @@
|
||||
SUMMARY = "A robust, scalable, and reliable SQL server"
|
||||
HOMEPAGE = "http://mariadb.org"
|
||||
SECTION = "libs"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b1becf0cfa3366e0f4d854d1d264f311"
|
||||
|
||||
SRC_URI = "https://downloads.mariadb.com/MariaDB/${BPN}-${PV}/source/${BPN}-${PV}.tar.gz \
|
||||
file://my.cnf \
|
||||
file://mysqld.service \
|
||||
file://install_db.service \
|
||||
file://install_db \
|
||||
file://mysql-systemd-start \
|
||||
file://configure.cmake-fix-valgrind.patch \
|
||||
file://fix-a-building-failure.patch \
|
||||
file://support-files-CMakeLists.txt-fix-do_populate_sysroot.patch \
|
||||
file://sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch \
|
||||
file://0001-disable-ucontext-on-musl.patch \
|
||||
file://c11_atomics.patch \
|
||||
file://clang_version_header_conflict.patch \
|
||||
file://fix-arm-atomic.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "11220d0b94c5c24caa2e1e9eaba38e31"
|
||||
SRC_URI[sha256sum] = "39e9723eaf620afd99b0925b2c2a5a50a89110ba50040adf14cce7cf89e5e21b"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
|
||||
|
||||
S = "${WORKDIR}/mariadb-${PV}"
|
||||
|
||||
BINCONFIG_GLOB = "mysql_config"
|
||||
|
||||
inherit cmake gettext binconfig update-rc.d useradd systemd multilib_script
|
||||
|
||||
MULTILIB_SCRIPTS = "${PN}-server:${bindir}/mysql_install_db ${PN}-server:${bindir}/mysqld_safe"
|
||||
|
||||
INITSCRIPT_PACKAGES = "${PN}-server ${PN}-setupdb"
|
||||
INITSCRIPT_NAME_${PN}-server = "mysqld"
|
||||
INITSCRIPT_PARAMS_${PN}-server ?= "start 45 5 . stop 45 0 6 1 ."
|
||||
|
||||
USERADD_PACKAGES = "${PN}-server"
|
||||
USERADD_PARAM_${PN}-server = "--system --home-dir /var/mysql -g mysql --shell /bin/false mysql"
|
||||
GROUPADD_PARAM_${PN}-server = "--system mysql"
|
||||
|
||||
INITSCRIPT_NAME_${PN}-setupdb = "install_db"
|
||||
INITSCRIPT_PARAMS_${PN}-setupdb ?= "defaults 44 44"
|
||||
|
||||
SYSTEMD_PACKAGES = "${PN}-server ${PN}-setupdb"
|
||||
SYSTEMD_SERVICE_${PN}-server = "mysqld.service"
|
||||
SYSTEMD_AUTO_ENABLE_${PN}-server ?= "disable"
|
||||
|
||||
SYSTEMD_SERVICE_${PN}-setupdb = "install_db.service"
|
||||
SYSTEMD_AUTO_ENABLE_${PN}-setupdb ?= "enable"
|
||||
ALLOW_EMPTY_${PN}-setupdb ?= "1"
|
||||
FILES_${PN}-setupdb = "${sysconfdir}/init.d/install_db"
|
||||
|
||||
EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'"
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} setupdb"
|
||||
PACKAGECONFIG_class-native = ""
|
||||
PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam"
|
||||
PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITH_VALGRIND=FALSE,valgrind"
|
||||
PACKAGECONFIG[libedit] = "-DLIBEDIT_INTERFACE=TRUE,-DLIBEDIT_INTERFACE=FALSE,libedit"
|
||||
PACKAGECONFIG[krb5] = ", ,krb5"
|
||||
PACKAGECONFIG[setupdb] = ", ,,${PN}-setupdb"
|
||||
|
||||
# MariaDB doesn't link properly with gold
|
||||
# https://mariadb.atlassian.net/browse/MDEV-5982
|
||||
TARGET_CFLAGS += "-fuse-ld=bfd"
|
||||
LDFLAGS += " -pthread"
|
||||
BUILD_CFLAGS += "-fuse-ld=bfd"
|
||||
BUILD_CXXFLAGS += "-fuse-ld=bfd"
|
||||
|
||||
EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \
|
||||
-DWITH_JEMALLOC=no \
|
||||
-DWITHOUT_TOKUDB=TRUE \
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE \
|
||||
-DGROFF=FALSE \
|
||||
-DNROFF=FALSE \
|
||||
-DENABLE_DTRACE=FALSE \
|
||||
-DWITH_PIC=ON \
|
||||
-DINSTALL_LAYOUT=RPM \
|
||||
-DINSTALL_DOCDIR:PATH=${datadir}/doc/${BPN} \
|
||||
-DINSTALL_LIBDIR:PATH=${baselib} \
|
||||
-DINSTALL_PLUGINDIR:PATH=${baselib}/plugin \
|
||||
-DINSTALL_SYSCONFDIR:PATH=${sysconfdir} \
|
||||
-DMYSQL_DATADIR:PATH=/var/mysql \
|
||||
-DCAT_EXECUTABLE=`which cat` \
|
||||
-DCMAKE_AR:FILEPATH=${AR}"
|
||||
|
||||
# With Ninja it fails with:
|
||||
# make: *** No rule to make target `install'. Stop.
|
||||
OECMAKE_GENERATOR = "Unix Makefiles"
|
||||
|
||||
ARM_INSTRUCTION_SET_armv4 = "arm"
|
||||
ARM_INSTRUCTION_SET_armv5 = "arm"
|
||||
|
||||
do_configure_append() {
|
||||
# handle distros with different values of ${libexecdir}
|
||||
libexecdir2=`echo ${libexecdir} | sed -e 's+/usr/++g'`
|
||||
sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysql_install_db.sh
|
||||
sed -i -e "s:mysqld libexec:mysqld $libexecdir2:g" ${S}/scripts/mysql_install_db.sh
|
||||
sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysqld_safe.sh
|
||||
}
|
||||
|
||||
do_generate_toolchain_file_append_class-native () {
|
||||
# If these are set cmake will assume we're cross-compiling, which will
|
||||
# result in certain things we want being disabled
|
||||
sed -i "/set( CMAKE_SYSTEM_NAME/d" ${WORKDIR}/toolchain.cmake
|
||||
sed -i "/set( CMAKE_SYSTEM_PROCESSOR/d" ${WORKDIR}/toolchain.cmake
|
||||
}
|
||||
|
||||
do_compile_prepend_class-target () {
|
||||
# These need to be in-tree or make will think they need to be built,
|
||||
# and since we're cross-compiling that is disabled
|
||||
cp ${STAGING_BINDIR_NATIVE}/comp_err ${S}/extra
|
||||
cp ${STAGING_BINDIR_NATIVE}/comp_sql ${S}/scripts
|
||||
|
||||
if [ "${@bb.utils.contains('PACKAGECONFIG', 'krb5', 'yes', 'no', d)}" = "no" ]; then
|
||||
if ! [ -e ${B}/include/openssl/kssl.h ] ; then
|
||||
mkdir -p ${B}/include/openssl
|
||||
echo "#ifndef KSSL_H" >${B}/include/openssl/kssl.h
|
||||
echo "#define KSSL_H" >>${B}/include/openssl/kssl.h
|
||||
echo "#include <openssl/opensslconf.h>">>${B}/include/openssl/kssl.h
|
||||
echo "#endif" >>${B}/include/openssl/kssl.h
|
||||
fi
|
||||
fi
|
||||
# workaround to handle out-of-source build from source package
|
||||
yacc_files="sql_yacc.hh sql_yacc.cc sql_yacc_ora.hh sql_yacc_ora.cc"
|
||||
for yacc_file in ${yacc_files}; do
|
||||
cp ${S}/sql/${yacc_file} ${B}/sql/${yacc_file}
|
||||
done
|
||||
}
|
||||
|
||||
SYSROOT_PREPROCESS_FUNCS += "mariadb_sysroot_preprocess"
|
||||
|
||||
# We need to append this so it runs *after* binconfig's preprocess function
|
||||
#
|
||||
# We really don't care exactly what the directories were set to originally.
|
||||
# plugindir is not fixed, but we don't create any plugins.
|
||||
#
|
||||
mariadb_sysroot_preprocess () {
|
||||
sed -i -es,^pkgincludedir=.*,pkgincludedir=\'${STAGING_INCDIR}/mysql\', ${SYSROOT_DESTDIR}${bindir_crossscripts}/mysql_config
|
||||
sed -i -es,^pkglibdir=.*,pkglibdir=\'${STAGING_LIBDIR}\', ${SYSROOT_DESTDIR}${bindir_crossscripts}/mysql_config
|
||||
}
|
||||
|
||||
do_install() {
|
||||
oe_runmake 'DESTDIR=${D}' install
|
||||
|
||||
install -d ${D}/${sysconfdir}/init.d
|
||||
install -m 0644 ${WORKDIR}/my.cnf ${D}/${sysconfdir}/
|
||||
install -m 0755 ${WORKDIR}/install_db ${D}/${sysconfdir}/init.d/
|
||||
mv ${D}/${sysconfdir}/init.d/mysql ${D}/${sysconfdir}/init.d/mysqld
|
||||
|
||||
install -d ${D}${systemd_unitdir}/system
|
||||
install -m 0644 ${WORKDIR}/mysqld.service ${D}${systemd_unitdir}/system
|
||||
install -m 0644 ${WORKDIR}/install_db.service ${D}${systemd_unitdir}/system
|
||||
sed -i -e 's,@BINDIR@,${bindir},g' -e 's,@PREFIX@,${prefix},g' ${D}${systemd_unitdir}/system/mysqld.service \
|
||||
${D}${systemd_unitdir}/system/install_db.service
|
||||
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
|
||||
install -d ${D}${sysconfdir}/tmpfiles.d
|
||||
echo "f /var/log/mysqld.err 0640 mysql mysql -" \
|
||||
> ${D}${sysconfdir}/tmpfiles.d/99-mysqld.conf
|
||||
fi
|
||||
install -d ${D}${bindir}
|
||||
install -m 755 ${WORKDIR}/mysql-systemd-start ${D}${bindir}
|
||||
install -d ${D}${datadir}/doc/${PN}
|
||||
if [ -f ${D}${datadir}/doc/README ]; then
|
||||
mv ${D}${datadir}/doc/README ${D}${datadir}/doc/${PN}/
|
||||
fi
|
||||
}
|
||||
|
||||
PACKAGES = "${PN}-dbg ${PN} \
|
||||
libmysqlclient-r libmysqlclient-r-dev libmysqlclient-r-staticdev \
|
||||
libmysqlclient libmysqlclient-dev libmysqlclient-staticdev \
|
||||
libmysqld libmysqld-dev ${PN}-client ${PN}-server ${PN}-setupdb ${PN}-leftovers"
|
||||
CONFFILES_${PN}-server += "${sysconfdir}/my.cnf ${sysconfdir}/my.cnf.d/server.cnf"
|
||||
CONFFILES_${PN}-client += "${sysconfdir}/my.cnf.d/mysql-clients.cnf"
|
||||
CONFFILES_libmysqlclient += "${sysconfdir}/my.cnf.d/client.cnf"
|
||||
|
||||
RPROVIDES_${PN}-dbg += "libmysqlclient-r-dbg libmysqlclient-dbg"
|
||||
|
||||
FILES_${PN} = " "
|
||||
RDEPENDS_${PN} = "${PN}-client ${PN}-server"
|
||||
ALLOW_EMPTY_${PN} = "1"
|
||||
|
||||
RDEPENDS_${PN}-client = "perl perl-module-getopt-long perl-module-file-temp \
|
||||
perl-module-fcntl perl-module-sys-hostname perl-module-ipc-open3 \
|
||||
perl-module-exporter"
|
||||
RDEPENDS_${PN}-server = "perl perl-module-getopt-long perl-module-data-dumper \
|
||||
perl-module-file-basename perl-module-file-path perl-module-sys-hostname \
|
||||
perl-module-file-copy perl-module-file-temp perl-module-posix \
|
||||
${PN}-client ${PN}-setupdb libdbi-perl libdbd-mysql-perl"
|
||||
RDEPENDS_${PN}-leftovers = "perl perl-module-cwd perl-module-benchmark perl-module-getopt-long \
|
||||
perl-module-posix perl-module-data-dumper perl-module-sigtrap perl-module-threads \
|
||||
perl-module-threads-shared perl-module-io-socket perl-module-sys-hostname perl-module-file-copy \
|
||||
perl-module-file-spec perl-module-file-find perl-module-file-basename perl-module-file-path \
|
||||
perl-module-constant perl-module-lib perl-module-file-temp perl-module-file-spec-functions \
|
||||
perl-module-io-socket-inet perl-module-io-select bash"
|
||||
RDEPENDS_${PN}-setupdb = "coreutils"
|
||||
|
||||
# Allow old code to link to the backward compatible library
|
||||
RDEPENDS_libmysqlclient-dev = "libmysqlclient-r-dev"
|
||||
|
||||
FILES_libmysqlclient = "\
|
||||
${libdir}/libmysqlclient.so.* \
|
||||
${libdir}/libmariadb.so.* \
|
||||
${sysconfdir}/my.cnf.d/client.cnf"
|
||||
FILES_libmysqlclient-dev = " \
|
||||
${includedir}/mysql/ \
|
||||
${libdir}/libmysqlclient.so \
|
||||
${libdir}/libmariadb.so \
|
||||
${sysconfdir}/aclocal \
|
||||
${bindir}/mysql_config"
|
||||
FILES_libmysqlclient-staticdev = "\
|
||||
${libdir}/*.a"
|
||||
|
||||
# Avoid warnings about ha_xtradb.so.0.0.0 and ha_innodb_plugin.so.0.0.0
|
||||
# which are intentionally non-PIC on 32-bit x86 (see e.g.
|
||||
# storage/xtradb/plug.in in the source)
|
||||
INSANE_SKIP_libmysqlclient_append_x86 = " textrel"
|
||||
|
||||
FILES_libmysqlclient-r = "${libdir}/libmysqlclient_r.so.*"
|
||||
FILES_libmysqlclient-r-dev = "\
|
||||
${libdir}/libmysqlclient_r.so"
|
||||
FILES_libmysqlclient-r-staticdev = "${libdir}/libmysqlclient_r.a"
|
||||
|
||||
FILES_libmysqld = "\
|
||||
${libdir}/libmysqld.so.* \
|
||||
${libdir}/libmariadbd.so.*"
|
||||
FILES_libmysqld-dev = "\
|
||||
${libdir}/libmysqld.so \
|
||||
${libdir}/libmariadbd.so"
|
||||
|
||||
FILES_${PN}-client = "\
|
||||
${bindir}/myisam_ftdump \
|
||||
${bindir}/mysql \
|
||||
${bindir}/mysql_client_test \
|
||||
${bindir}/mysql_client_test_embedded \
|
||||
${bindir}/mysql_find_rows \
|
||||
${bindir}/mysql_fix_extensions \
|
||||
${bindir}/mysql_waitpid \
|
||||
${bindir}/mysqlaccess \
|
||||
${bindir}/mysqladmin \
|
||||
${bindir}/mysqlbug \
|
||||
${bindir}/mysqlcheck \
|
||||
${bindir}/mysqldump \
|
||||
${bindir}/mysqldumpslow \
|
||||
${bindir}/mysqlimport \
|
||||
${bindir}/mysqlshow \
|
||||
${bindir}/mysqlslap \
|
||||
${bindir}/mysqltest_embedded \
|
||||
${libexecdir}/mysqlmanager \
|
||||
${sysconfdir}/my.cnf.d/mysql-clients.cnf"
|
||||
|
||||
FILES_${PN}-server = "\
|
||||
${bindir}/comp_err \
|
||||
${bindir}/isamchk \
|
||||
${bindir}/isamlog \
|
||||
${bindir}/msql2mysql \
|
||||
${bindir}/my_print_defaults \
|
||||
${bindir}/myisamchk \
|
||||
${bindir}/myisamlog \
|
||||
${bindir}/myisampack \
|
||||
${bindir}/mysql_convert_table_format \
|
||||
${bindir}/mysql_fix_privilege_tables \
|
||||
${bindir}/mysql_install_db \
|
||||
${bindir}/mysql_secure_installation \
|
||||
${bindir}/mysql_setpermission \
|
||||
${bindir}/mysql-systemd-start \
|
||||
${bindir}/mysql_tzinfo_to_sql \
|
||||
${bindir}/mysql_upgrade \
|
||||
${bindir}/mysql_plugin \
|
||||
${bindir}/mysql_zap \
|
||||
${bindir}/mysqlbinlog \
|
||||
${bindir}/mysqld_multi \
|
||||
${bindir}/mysqld_safe \
|
||||
${bindir}/mysqld_safe_helper \
|
||||
${bindir}/mysqlhotcopy \
|
||||
${bindir}/mysqltest \
|
||||
${bindir}/ndb_delete_all \
|
||||
${bindir}/ndb_desc \
|
||||
${bindir}/ndb_drop_index \
|
||||
${bindir}/ndb_drop_table \
|
||||
${bindir}/ndb_mgm \
|
||||
${bindir}/ndb_restore \
|
||||
${bindir}/ndb_select_all \
|
||||
${bindir}/ndb_select_count \
|
||||
${bindir}/ndb_show_tables \
|
||||
${bindir}/ndb_waiter \
|
||||
${bindir}/pack_isam \
|
||||
${bindir}/perror \
|
||||
${bindir}/replace \
|
||||
${bindir}/resolve_stack_dump \
|
||||
${bindir}/resolveip \
|
||||
${libexecdir}/mysqld \
|
||||
${sbindir}/mysqld \
|
||||
${sbindir}/ndb_cpcd \
|
||||
${sbindir}/ndbd \
|
||||
${sbindir}/ndb_mgmd \
|
||||
${libdir}/plugin/*.so \
|
||||
${datadir}/mysql/ \
|
||||
${localstatedir}/mysql/ \
|
||||
${sysconfdir}/init.d/mysqld \
|
||||
${sysconfdir}/my.cnf \
|
||||
${sysconfdir}/my.cnf.d/server.cnf \
|
||||
${sysconfdir}/tmpfiles.d"
|
||||
|
||||
DESCRIPTION_${PN}-leftovers = "unpackaged and probably unneeded files for ${PN}"
|
||||
FILES_${PN}-leftovers = "/"
|
@ -0,0 +1,26 @@
|
||||
From b658bdb38b7ff6a78915fd0ac390fc224e4006cb Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sun, 26 Mar 2017 14:30:33 -0700
|
||||
Subject: [PATCH] disable ucontext on musl
|
||||
|
||||
musl does not have *contex() APIs even though it has ucontext.h header
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
---
|
||||
include/my_context.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/my_context.h b/include/my_context.h
|
||||
index ea0e3496..4c9b37dc 100644
|
||||
--- a/include/my_context.h
|
||||
+++ b/include/my_context.h
|
||||
@@ -31,7 +31,7 @@
|
||||
#define MY_CONTEXT_USE_X86_64_GCC_ASM
|
||||
#elif defined(__GNUC__) && __GNUC__ >= 3 && defined(__i386__)
|
||||
#define MY_CONTEXT_USE_I386_GCC_ASM
|
||||
-#elif defined(HAVE_UCONTEXT_H)
|
||||
+#elif defined(__GLIBC__) && defined(HAVE_UCONTEXT_H)
|
||||
#define MY_CONTEXT_USE_UCONTEXT
|
||||
#else
|
||||
#define MY_CONTEXT_DISABLE
|
67
recipes-dbs/mysql/mariadb/c11_atomics.patch
Normal file
67
recipes-dbs/mysql/mariadb/c11_atomics.patch
Normal file
@ -0,0 +1,67 @@
|
||||
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.
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
--- 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;
|
||||
+ 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(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)
|
||||
|
||||
+IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
|
||||
+ TARGET_LINK_LIBRARIES(mysys atomic)
|
||||
+ENDIF()
|
||||
+
|
||||
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()
|
||||
|
||||
+IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
|
||||
+ TARGET_LINK_LIBRARIES(sql atomic)
|
||||
+ENDIF()
|
||||
+
|
||||
|
||||
IF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS)
|
||||
|
@ -0,0 +1,32 @@
|
||||
libc++ also has a file called version and this file and how cflags are specified
|
||||
it ends up including this file and resulting in compile errors
|
||||
|
||||
fixes errors like
|
||||
storage/mroonga/version:1:1: error: expected unqualified-id
|
||||
7.07
|
||||
^
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
--- a/storage/mroonga/CMakeLists.txt
|
||||
+++ b/storage/mroonga/CMakeLists.txt
|
||||
@@ -80,7 +80,7 @@ else()
|
||||
set(MRN_SOURCE_DIR ${CMAKE_SOURCE_DIR})
|
||||
endif()
|
||||
|
||||
-file(READ ${MRN_SOURCE_DIR}/version MRN_VERSION)
|
||||
+file(READ ${MRN_SOURCE_DIR}/ver MRN_VERSION)
|
||||
file(READ ${MRN_SOURCE_DIR}/version_major MRN_VERSION_MAJOR)
|
||||
file(READ ${MRN_SOURCE_DIR}/version_minor MRN_VERSION_MINOR)
|
||||
file(READ ${MRN_SOURCE_DIR}/version_micro MRN_VERSION_MICRO)
|
||||
--- /dev/null
|
||||
+++ b/storage/mroonga/ver
|
||||
@@ -0,0 +1 @@
|
||||
+7.07
|
||||
\ No newline at end of file
|
||||
--- a/storage/mroonga/version
|
||||
+++ /dev/null
|
||||
@@ -1 +0,0 @@
|
||||
-7.07
|
||||
\ No newline at end of file
|
40
recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch
Normal file
40
recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From 24e2b0edc2612acefcc48414bb6f0aeb086061a9 Mon Sep 17 00:00:00 2001
|
||||
From: Jackie Huang <jackie.huang@windriver.com>
|
||||
Date: Tue, 26 Feb 2019 23:57:06 -0800
|
||||
Subject: [PATCH] configure.cmake: fix valgrind
|
||||
|
||||
Check valgrind headers only if WITH_VALGRIND is set.
|
||||
|
||||
mariadb uses two macros for valgrind compilations:
|
||||
HAVE_valgrind - valgrind is installed and can be set by configure option -DWITH_VALGRIND
|
||||
HAVE_VALGRIND - valgrind debug libraries is installed, set by auto check
|
||||
|
||||
We would like to set them both by the configure option so that we can use
|
||||
PACKAGECONFIG to decide if valgrind is needed or not.
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
|
||||
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
|
||||
|
||||
---
|
||||
configure.cmake | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/configure.cmake b/configure.cmake
|
||||
index 3cfc4b31..d017b3b3 100644
|
||||
--- a/configure.cmake
|
||||
+++ b/configure.cmake
|
||||
@@ -930,10 +930,9 @@ HAVE_GCC_C11_ATOMICS)
|
||||
|
||||
IF(WITH_VALGRIND)
|
||||
SET(HAVE_valgrind 1)
|
||||
-ENDIF()
|
||||
-
|
||||
-CHECK_INCLUDE_FILES("valgrind/memcheck.h;valgrind/valgrind.h"
|
||||
+ CHECK_INCLUDE_FILES("valgrind/memcheck.h;valgrind/valgrind.h"
|
||||
HAVE_VALGRIND_MEMCHECK_H)
|
||||
+ENDIF()
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Check for IPv6 support
|
35
recipes-dbs/mysql/mariadb/fix-a-building-failure.patch
Normal file
35
recipes-dbs/mysql/mariadb/fix-a-building-failure.patch
Normal file
@ -0,0 +1,35 @@
|
||||
From 1b2b6a61c9f82157cd2e0c3744f6c07e07aeb0bd Mon Sep 17 00:00:00 2001
|
||||
From: Mingli Yu <mingli.yu@windriver.com>
|
||||
Date: Mon, 4 Mar 2019 01:11:30 -0800
|
||||
Subject: [PATCH] fix a building failure
|
||||
|
||||
Upstream-Status: Inappropriate [configuration]
|
||||
|
||||
building failed since native does not generate import_executables.cmake
|
||||
In fact, our building system will export the needed commands
|
||||
|
||||
Signed-off-by: Roy Li <rongqing.li@windriver.com>
|
||||
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
|
||||
---
|
||||
CMakeLists.txt | 5 -----
|
||||
1 file changed, 5 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index fc30750..4f9110e 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -347,11 +347,6 @@ CHECK_PCRE()
|
||||
|
||||
CHECK_SYSTEMD()
|
||||
|
||||
-IF(CMAKE_CROSSCOMPILING)
|
||||
- SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build")
|
||||
- INCLUDE(${IMPORT_EXECUTABLES})
|
||||
-ENDIF()
|
||||
-
|
||||
#
|
||||
# Setup maintainer mode options. Platform checks are
|
||||
# not run with the warning options as to not perturb fragile checks
|
||||
--
|
||||
2.17.1
|
||||
|
34
recipes-dbs/mysql/mariadb/fix-arm-atomic.patch
Normal file
34
recipes-dbs/mysql/mariadb/fix-arm-atomic.patch
Normal file
@ -0,0 +1,34 @@
|
||||
From ffaaf4d43ebf2ef6d0229a60f407c1f5a06e5c53 Mon Sep 17 00:00:00 2001
|
||||
From: Mingli Yu <mingli.yu@windriver.com>
|
||||
Date: Fri, 15 Mar 2019 01:46:05 -0700
|
||||
Subject: [PATCH] build_rocksdb.cmake: fix atomic support on arm
|
||||
|
||||
Check to link with libatomic to enable C11 atomics support
|
||||
to fix below build error on arm:
|
||||
| /build/tmp/work/armv5e-wrs-linux-gnueabi/mariadb/10.3.13-r0/recipe-sysroot-native/usr/bin/arm-wrs-linux-gnueabi/../../libexec/arm-wrs-linux-gnueabi/gcc/arm-wrs-linux-gnueabi/8.3.0/ld.bfd: librocksdblib.a(env_posix.cc.o): in function `std::__atomic_base<unsigned long long>::store(unsigned long long, std::memory_order)':
|
||||
| /usr/include/c++/8.3.0/bits/atomic_base.h:374: undefined reference to `__atomic_store_8'
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
|
||||
---
|
||||
storage/rocksdb/build_rocksdb.cmake | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/storage/rocksdb/build_rocksdb.cmake b/storage/rocksdb/build_rocksdb.cmake
|
||||
index c36c761..2b539ff 100644
|
||||
--- a/storage/rocksdb/build_rocksdb.cmake
|
||||
+++ b/storage/rocksdb/build_rocksdb.cmake
|
||||
@@ -424,6 +424,9 @@ list(APPEND SOURCES ${CMAKE_CURRENT_BINARY_DIR}/build_version.cc)
|
||||
|
||||
ADD_CONVENIENCE_LIBRARY(rocksdblib ${SOURCES})
|
||||
target_link_libraries(rocksdblib ${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
|
||||
+IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
|
||||
+ TARGET_LINK_LIBRARIES(rocksdblib atomic)
|
||||
+ENDIF()
|
||||
IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
set_target_properties(rocksdblib PROPERTIES COMPILE_FLAGS "-fPIC -fno-builtin-memcmp -frtti")
|
||||
endif()
|
||||
--
|
||||
2.17.1
|
||||
|
13
recipes-dbs/mysql/mariadb/install_db
Executable file
13
recipes-dbs/mysql/mariadb/install_db
Executable file
@ -0,0 +1,13 @@
|
||||
#! /bin/sh
|
||||
case "$1" in
|
||||
start)
|
||||
echo "Starting to install database for mariadb"
|
||||
/usr/bin/mysql-systemd-start pre
|
||||
echo "done."
|
||||
;;
|
||||
*)
|
||||
echo "Usage: /etc/init.d/install_db start"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit 0
|
17
recipes-dbs/mysql/mariadb/install_db.service
Normal file
17
recipes-dbs/mysql/mariadb/install_db.service
Normal file
@ -0,0 +1,17 @@
|
||||
#
|
||||
# Simple install MySQL database service file
|
||||
# It shoulb be done before mysqld.service
|
||||
|
||||
[Unit]
|
||||
Description=Install MySQL Community Server Database
|
||||
After=network.target
|
||||
After=syslog.target
|
||||
Before=mysqld.service
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=@BINDIR@/mysql-systemd-start pre
|
||||
|
25
recipes-dbs/mysql/mariadb/my.cnf
Normal file
25
recipes-dbs/mysql/mariadb/my.cnf
Normal file
@ -0,0 +1,25 @@
|
||||
[client]
|
||||
#password = password
|
||||
port = 3306
|
||||
socket = /var/lib/mysql/mysql.sock
|
||||
|
||||
[mysqld_safe]
|
||||
|
||||
[mysqld]
|
||||
user = mysql
|
||||
port = 3306
|
||||
socket = /var/lib/mysql/mysql.sock
|
||||
pid-file = /var/lib/mysql/mysqld.pid
|
||||
log-error = /var/log/mysqld.err
|
||||
basedir = /usr
|
||||
datadir = /var/lib/mysql
|
||||
skip-external-locking
|
||||
skip-networking
|
||||
ignore-builtin-innodb
|
||||
default-storage-engine = myisam
|
||||
bind-address = localhost
|
||||
|
||||
#
|
||||
# include all files from the config directory
|
||||
#
|
||||
!includedir /etc/my.cnf.d
|
66
recipes-dbs/mysql/mariadb/mysql-systemd-start
Normal file
66
recipes-dbs/mysql/mariadb/mysql-systemd-start
Normal file
@ -0,0 +1,66 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# Needed argument: pre | post
|
||||
#
|
||||
# pre mode : try to run mysql_install_db and fix perms and SELinux contexts
|
||||
# post mode : ping server until answer is received
|
||||
#
|
||||
|
||||
get_option () {
|
||||
local section=$1
|
||||
local option=$2
|
||||
local default=$3
|
||||
ret=$(/usr/bin/my_print_defaults $section | grep '^--'${option}'=' | cut -d= -f2-)
|
||||
[ -z $ret ] && ret=$default
|
||||
echo $ret
|
||||
}
|
||||
|
||||
install_db () {
|
||||
# Note: something different than datadir=/var/lib/mysql requires SELinux policy changes (in enforcing mode)
|
||||
datadir=$(get_option mysqld datadir "/var/lib/mysql")
|
||||
|
||||
# Restore log, dir, perms and SELinux contexts
|
||||
[ -d "$datadir" ] || install -d -m 0755 -omysql -gmysql "$datadir" || exit 1
|
||||
log=/var/log/mysqld.log
|
||||
[ -e $log ] || touch $log
|
||||
chmod 0640 $log
|
||||
chown mysql:mysql $log || exit 1
|
||||
if [ -x /usr/sbin/restorecon ]; then
|
||||
/usr/sbin/restorecon "$datadir"
|
||||
/usr/sbin/restorecon $log
|
||||
fi
|
||||
|
||||
# If special mysql dir is in place, skip db install
|
||||
[ -d "$datadir/mysql" ] && exit 0
|
||||
|
||||
# Create initial db
|
||||
/usr/bin/mysql_install_db --rpm --datadir="$datadir" --user=mysql
|
||||
exit 0
|
||||
}
|
||||
|
||||
pinger () {
|
||||
# Wait for ping to answer to signal startup completed,
|
||||
# might take a while in case of e.g. crash recovery
|
||||
# MySQL systemd service will timeout script if no answer
|
||||
datadir=$(get_option mysqld datadir "/var/lib/mysql")
|
||||
socket=$(get_option mysqld socket "$datadir/mysql.sock")
|
||||
case $socket in
|
||||
/*) adminsocket="$socket" ;;
|
||||
*) adminsocket="$datadir/$socket" ;;
|
||||
esac
|
||||
|
||||
while /bin/true ; do
|
||||
sleep 1
|
||||
mysqladmin --no-defaults --socket="$adminsocket" --user=UNKNOWN_MYSQL_USER ping >/dev/null 2>&1 && break
|
||||
done
|
||||
exit 0
|
||||
}
|
||||
|
||||
# main
|
||||
case $1 in
|
||||
"pre") install_db ;;
|
||||
"post") pinger ;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
25
recipes-dbs/mysql/mariadb/mysqld.service
Normal file
25
recipes-dbs/mysql/mariadb/mysqld.service
Normal file
@ -0,0 +1,25 @@
|
||||
[Unit]
|
||||
Description=MariaDB database server
|
||||
After=syslog.target
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
PIDFile=/var/lib/mysql/mysqld.pid
|
||||
Type=simple
|
||||
User=mysql
|
||||
Group=mysql
|
||||
|
||||
# Execute post scripts as root
|
||||
PermissionsStartOnly=true
|
||||
|
||||
# Start main service
|
||||
ExecStart=@BINDIR@/mysqld_safe --basedir=@PREFIX@
|
||||
|
||||
# Don't signal startup success before a ping works
|
||||
ExecStartPost=@BINDIR@/mysql-systemd-start post
|
||||
|
||||
TimeoutSec=300
|
||||
PrivateTmp=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -0,0 +1,65 @@
|
||||
From 796464015bffe6e0beca9e1c355b223512803c3e Mon Sep 17 00:00:00 2001
|
||||
From: Mingli Yu <mingli.yu@windriver.com>
|
||||
Date: Wed, 27 Feb 2019 23:01:00 -0800
|
||||
Subject: [PATCH] sql/CMakeLists.txt: fix gen_lex_hash not found
|
||||
|
||||
Fix the below do_compile issue in cross-compiling env.
|
||||
| make[2]: *** No rule to make target '/build/tmp/work/aarch64-poky-linux/mariadb/10.3.13-r0/mariadb-10.3.13/sql/gen_lex_hash', needed by 'sql/lex_hash.h'. Stop.
|
||||
| make[2]: *** No rule to make target '/build/tmp/work/aarch64-poky-linux/mariadb/10.3.13-r0/mariadb-10.3.13/sql/gen_lex_token', needed by 'sql/lex_token.h'. Stop.
|
||||
|
||||
Upstream-Status: Inappropriate [oe build specific]
|
||||
|
||||
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
|
||||
|
||||
---
|
||||
sql/CMakeLists.txt | 30 ++++++++++++++++++++----------
|
||||
1 file changed, 20 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
|
||||
index c6910f46..bf51f4cb 100644
|
||||
--- a/sql/CMakeLists.txt
|
||||
+++ b/sql/CMakeLists.txt
|
||||
@@ -50,11 +50,16 @@ ${WSREP_INCLUDES}
|
||||
|
||||
|
||||
|
||||
-ADD_CUSTOM_COMMAND(
|
||||
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h
|
||||
- COMMAND gen_lex_token > lex_token.h
|
||||
- DEPENDS gen_lex_token
|
||||
-)
|
||||
+IF(NOT CMAKE_CROSSCOMPILING)
|
||||
+ ADD_CUSTOM_COMMAND(
|
||||
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h
|
||||
+ COMMAND gen_lex_token > lex_token.h
|
||||
+ DEPENDS gen_lex_token)
|
||||
+ELSE()
|
||||
+ ADD_CUSTOM_COMMAND(
|
||||
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h
|
||||
+ COMMAND gen_lex_token > lex_token.h)
|
||||
+ENDIF()
|
||||
|
||||
ADD_DEFINITIONS(-DMYSQL_SERVER -DHAVE_EVENT_SCHEDULER)
|
||||
|
||||
@@ -370,11 +375,16 @@ IF(NOT CMAKE_CROSSCOMPILING)
|
||||
ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc)
|
||||
ENDIF()
|
||||
|
||||
-ADD_CUSTOM_COMMAND(
|
||||
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h
|
||||
- COMMAND gen_lex_hash > lex_hash.h
|
||||
- DEPENDS gen_lex_hash
|
||||
-)
|
||||
+IF(NOT CMAKE_CROSSCOMPILING)
|
||||
+ ADD_CUSTOM_COMMAND(
|
||||
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h
|
||||
+ COMMAND gen_lex_hash > lex_hash.h
|
||||
+ DEPENDS gen_lex_hash)
|
||||
+ELSE()
|
||||
+ ADD_CUSTOM_COMMAND(
|
||||
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h
|
||||
+ COMMAND gen_lex_hash > lex_hash.h)
|
||||
+ENDIF()
|
||||
|
||||
MYSQL_ADD_EXECUTABLE(mysql_tzinfo_to_sql tztime.cc COMPONENT Server)
|
||||
SET_TARGET_PROPERTIES(mysql_tzinfo_to_sql PROPERTIES COMPILE_FLAGS "-DTZINFO2SQL")
|
@ -0,0 +1,34 @@
|
||||
From 4ac5b555d058d4d489f25a3806a787b7b2465d09 Mon Sep 17 00:00:00 2001
|
||||
From: Mingli Yu <mingli.yu@windriver.com>
|
||||
Date: Wed, 27 Feb 2019 22:41:26 -0800
|
||||
Subject: [PATCH] support-files/CMakeLists.txt: fix do_populate_sysroot issue
|
||||
|
||||
Comment out the logic which for suse as it introduces
|
||||
below do_populate_sysroot error:
|
||||
ERROR: mariadb-native-10.3.13-r0 do_populate_sysroot: sstate found an absolute path symlink /build/tmp/work/x86_64-linux/mariadb-native/10.3.13-r0/sysroot-destdir/build/tmp/work/x86_64-linux/mariadb-native/10.3.13-r0/recipe-sysroot-native/usr/sbin/rcmysql pointing at /build/tmp/work/x86_64-linux/mariadb-native/10.3.13-r0/recipe-sysroot-native/etc/init.d/mysql. Please replace this with a relative link.
|
||||
|
||||
Upstream-Status: Inappropriate[oe build specific]
|
||||
|
||||
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
|
||||
|
||||
---
|
||||
support-files/CMakeLists.txt | 7 -------
|
||||
1 file changed, 7 deletions(-)
|
||||
|
||||
diff --git a/support-files/CMakeLists.txt b/support-files/CMakeLists.txt
|
||||
index b5767432..56733de1 100644
|
||||
--- a/support-files/CMakeLists.txt
|
||||
+++ b/support-files/CMakeLists.txt
|
||||
@@ -165,12 +165,5 @@ IF(UNIX)
|
||||
INSTALL(FILES rpm/enable_encryption.preset DESTINATION ${INSTALL_SYSCONF2DIR}
|
||||
COMPONENT IniFiles)
|
||||
ENDIF()
|
||||
-
|
||||
- # This is for SuSE:
|
||||
- INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink
|
||||
- ${INSTALL_SYSCONFDIR}/init.d/mysql
|
||||
- ${INSTALL_SBINDIR}/rcmysql
|
||||
- WORKING_DIRECTORY \$ENV{DESTDIR}${prefix})"
|
||||
- COMPONENT SupportFiles)
|
||||
ENDIF(INSTALL_SYSCONFDIR)
|
||||
ENDIF()
|
27
recipes-dbs/mysql/mariadb_10.3.16.bb
Normal file
27
recipes-dbs/mysql/mariadb_10.3.16.bb
Normal file
@ -0,0 +1,27 @@
|
||||
require mariadb.inc
|
||||
|
||||
EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1"
|
||||
|
||||
DEPENDS += "mariadb-native bison-native openssl ncurses zlib readline libaio libevent libxml2"
|
||||
|
||||
PROVIDES += "mysql5 libmysqlclient"
|
||||
|
||||
RPROVIDES_${PN} += "mysql5"
|
||||
RREPLACES_${PN} += "mysql5"
|
||||
RCONFLICTS_${PN} += "mysql5"
|
||||
|
||||
RPROVIDES_${PN}-dbg += "mysql5-dbg"
|
||||
RREPLACES_${PN}-dbg += "mysql5-dbg"
|
||||
RCONFLICTS_${PN}-dbg += "mysql5-dbg"
|
||||
|
||||
RPROVIDES_${PN}-leftovers += "mysql5-leftovers"
|
||||
RREPLACES_${PN}-leftovers += "mysql5-leftovers"
|
||||
RCONFLICTS_${PN}-leftovers += "mysql5-leftovers"
|
||||
|
||||
RPROVIDES_${PN}-client += "mysql5-client"
|
||||
RREPLACES_${PN}-client += "mysql5-client"
|
||||
RCONFLICTS_${PN}-client += "mysql5-client"
|
||||
|
||||
RPROVIDES_${PN}-server += "mysql5-server"
|
||||
RREPLACES_${PN}-server += "mysql5-server"
|
||||
RCONFLICTS_${PN}-server += "mysql5-server"
|
@ -0,0 +1,34 @@
|
||||
From 45436592aa64308b2ab46f84c6107c6d7de0a3ec Mon Sep 17 00:00:00 2001
|
||||
From: Mingli Yu <mingli.yu@windriver.com>
|
||||
Date: Wed, 6 Mar 2019 00:16:17 -0800
|
||||
Subject: [PATCH] _mysql.c: fix compilation with MariaDB 10.3.13
|
||||
|
||||
Use standard API function MYSQL_OPT_RECONNECT
|
||||
instead of direct modification of internal structures
|
||||
which does not work for MariaDB.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
|
||||
---
|
||||
_mysql.c | 9 ++++++++-
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/_mysql.c
|
||||
+++ b/_mysql.c
|
||||
@@ -2002,7 +2002,14 @@ _mysql_ConnectionObject_ping(
|
||||
int r, reconnect = -1;
|
||||
if (!PyArg_ParseTuple(args, "|I", &reconnect)) return NULL;
|
||||
check_connection(self);
|
||||
- if ( reconnect != -1 ) self->connection.reconnect = reconnect;
|
||||
+ if ( reconnect != -1 ) {
|
||||
+#if MYSQL_VERSION_ID >= 50013
|
||||
+ my_bool recon = reconnect;
|
||||
+ mysql_options(&self->connection, MYSQL_OPT_RECONNECT, &recon);
|
||||
+#else
|
||||
+ self->connection.reconnect = reconnect;
|
||||
+#endif
|
||||
+ }
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
r = mysql_ping(&(self->connection));
|
||||
Py_END_ALLOW_THREADS
|
19
recipes-dbs/mysql/mysql-python_1.2.5.bb
Normal file
19
recipes-dbs/mysql/mysql-python_1.2.5.bb
Normal file
@ -0,0 +1,19 @@
|
||||
SUMMARY = "Python interface to MySQL"
|
||||
HOMEPAGE = "https://github.com/farcepest/MySQLdb1"
|
||||
SECTION = "devel/python"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://GPL-2.0;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
DEPENDS = "mysql5"
|
||||
|
||||
SRCNAME = "MySQL-python"
|
||||
|
||||
SRC_URI = "https://pypi.python.org/packages/source/M/${SRCNAME}/${SRCNAME}-${PV}.zip \
|
||||
file://0001-_mysql.c-fix-compilation-with-MariaDB-with-10.3.13.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "654f75b302db6ed8dc5a898c625e030c"
|
||||
SRC_URI[sha256sum] = "811040b647e5d5686f84db415efd697e6250008b112b6909ba77ac059e140c74"
|
||||
|
||||
S = "${WORKDIR}/${SRCNAME}-${PV}"
|
||||
|
||||
inherit setuptools
|
Loading…
Reference in New Issue
Block a user