summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-dbs/mysql/mariadb.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-dbs/mysql/mariadb.inc')
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb.inc61
1 files changed, 25 insertions, 36 deletions
diff --git a/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-oe/recipes-dbs/mysql/mariadb.inc
index 33da32fb28..13e55ebacd 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -17,28 +17,26 @@ SRC_URI = "https://archive.mariadb.org/${BP}/source/${BP}.tar.gz \
17 file://0001-innobase-Define-__NR_futex-if-it-does-not-exist.patch \ 17 file://0001-innobase-Define-__NR_futex-if-it-does-not-exist.patch \
18 file://0001-aio_linux-Check-if-syscall-exists-before-using-it.patch \ 18 file://0001-aio_linux-Check-if-syscall-exists-before-using-it.patch \
19 file://ssize_t.patch \ 19 file://ssize_t.patch \
20 file://mm_malloc.patch \
21 file://sys_futex.patch \ 20 file://sys_futex.patch \
22 file://cross-compiling.patch \ 21 file://cross-compiling.patch \
23 file://0001-sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch \ 22 file://0001-sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch \
24 file://lfs64.patch \ 23 file://lfs64.patch \
25 file://0001-Add-missing-includes-cstdint-and-cstdio.patch \ 24 file://0001-Add-missing-includes-cstdint-and-cstdio.patch \
26 file://0001-Remove-the-compile_time_assert-lines.patch \ 25 file://0001-Ensure-compatibility-with-ARMv9-by-updating-.arch-di.patch \
27 file://0001-MDEV-33439-Fix-build-with-libxml2-2.12.patch \ 26 file://riscv32.patch \
28 " 27 "
29SRC_URI:append:libc-musl = " file://ppc-remove-glibc-dep.patch" 28SRC_URI[sha256sum] = "1b26c0bb2d025dbfac3b9852d2b7eafda56a171b67ac2e27831ec0414fb7df07"
30SRC_URI[sha256sum] = "5239a245ed90517e96396605cd01ccd8f73cd7442d1b3076b6ffe258110e5157"
31 29
32UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases" 30UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/tags"
33
34S = "${WORKDIR}/mariadb-${PV}"
35 31
36BINCONFIG_GLOB = "mysql_config" 32BINCONFIG_GLOB = "mysql_config"
37 33
38inherit cmake gettext binconfig update-rc.d systemd multilib_script pkgconfig 34inherit cmake gettext binconfig update-rc.d systemd multilib_script multilib_header pkgconfig
39 35
40MULTILIB_SCRIPTS = "${PN}-server:${bindir}/mariadbd-safe \ 36MULTILIB_SCRIPTS = "${PN}-server:${bindir}/mariadbd-safe \
41 ${PN}-setupdb:${bindir}/mariadb-install-db" 37 ${PN}-setupdb:${bindir}/mariadb-install-db \
38 libmysqlclient-dev:${bindir}/mysql_config \
39 "
42 40
43INITSCRIPT_PACKAGES = "${PN}-server ${PN}-setupdb" 41INITSCRIPT_PACKAGES = "${PN}-server ${PN}-setupdb"
44INITSCRIPT_NAME:${PN}-server = "mysqld" 42INITSCRIPT_NAME:${PN}-server = "mysqld"
@@ -65,21 +63,16 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} lz4 openssl"
65EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'" 63EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'"
66 64
67PACKAGECONFIG:class-native = "" 65PACKAGECONFIG:class-native = ""
68PACKAGECONFIG[pam] = "-DPLUGIN_AUTH_PAM=YES,-DPLUGIN_AUTH_PAM=NO,libpam" 66PACKAGECONFIG[pam] = "-DPLUGIN_AUTH_PAM=YES -DINSTALL_PAMDIR=${base_libdir}/security,-DPLUGIN_AUTH_PAM=NO,libpam"
69PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITH_VALGRIND=FALSE,valgrind" 67PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITH_VALGRIND=FALSE,valgrind"
70PACKAGECONFIG[krb5] = ", ,krb5" 68PACKAGECONFIG[krb5] = ", ,krb5"
71PACKAGECONFIG[lz4] = ", ,lz4" 69PACKAGECONFIG[lz4] = ", ,lz4"
72PACKAGECONFIG[openssl] = "-DWITH_SSL='system',-DWITH_SSL='bundled',openssl" 70PACKAGECONFIG[openssl] = "-DWITH_SSL='system',-DWITH_SSL='bundled',openssl"
73 71
74# MariaDB doesn't link properly with gold
75# https://mariadb.atlassian.net/browse/MDEV-5982
76TARGET_CFLAGS += "-fuse-ld=bfd"
77LDFLAGS += " -pthread" 72LDFLAGS += " -pthread"
78 73
79BUILD_CFLAGS += "-fuse-ld=bfd"
80BUILD_CXXFLAGS += "-fuse-ld=bfd"
81
82LDFLAGS:x86:toolchain-clang = "-latomic" 74LDFLAGS:x86:toolchain-clang = "-latomic"
75LDFLAGS:riscv32:toolchain-clang = "-latomic"
83 76
84EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \ 77EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \
85 -DWITH_JEMALLOC=no \ 78 -DWITH_JEMALLOC=no \
@@ -94,11 +87,14 @@ EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \
94 -DINSTALL_DOCDIR:PATH=${datadir}/doc/${BPN} \ 87 -DINSTALL_DOCDIR:PATH=${datadir}/doc/${BPN} \
95 -DINSTALL_LIBDIR:PATH=${baselib} \ 88 -DINSTALL_LIBDIR:PATH=${baselib} \
96 -DINSTALL_PLUGINDIR:PATH=${baselib}/plugin \ 89 -DINSTALL_PLUGINDIR:PATH=${baselib}/plugin \
90 -DINSTALL_PCDIR:PATH=${baselib}/pkgconfig \
97 -DINSTALL_SYSCONFDIR:PATH=${sysconfdir} \ 91 -DINSTALL_SYSCONFDIR:PATH=${sysconfdir} \
98 -DMYSQL_DATADIR:PATH=/var/mysql \ 92 -DMYSQL_DATADIR:PATH=/var/mysql \
99 -DCAT_EXECUTABLE=`which cat` \ 93 -DCAT_EXECUTABLE=`which cat` \
100 -DSTACK_DIRECTION=1 \
101 -DHAVE_SYSTEM_LIBFMT_EXITCODE=0 \ 94 -DHAVE_SYSTEM_LIBFMT_EXITCODE=0 \
95 -DLSTAT_FOLLOWS_SLASHED_SYMLINK_EXITCODE=0 \
96 -DSTAT_EMPTY_STRING_BUG_EXITCODE=0 \
97 -DMASK_LONGDOUBLE_EXITCODE=0 \
102 -DCMAKE_AR:FILEPATH=${AR}" 98 -DCMAKE_AR:FILEPATH=${AR}"
103 99
104 100
@@ -161,20 +157,21 @@ mariadb_sysroot_preprocess () {
161 157
162do_install() { 158do_install() {
163 oe_runmake 'DESTDIR=${D}' install 159 oe_runmake 'DESTDIR=${D}' install
160 oe_multilib_header mysql/mariadb_version.h mysql/server/my_config.h mysql/server/private/config.h
164 161
165 install -d ${D}/${sysconfdir}/init.d 162 install -d ${D}/${sysconfdir}/init.d
166 install -m 0644 ${WORKDIR}/my.cnf ${D}/${sysconfdir}/ 163 install -m 0644 ${UNPACKDIR}/my.cnf ${D}/${sysconfdir}/
167 install -m 0755 ${WORKDIR}/install_db ${D}/${sysconfdir}/init.d/ 164 install -m 0755 ${UNPACKDIR}/install_db ${D}/${sysconfdir}/init.d/
168 mv ${D}/${sysconfdir}/init.d/mysql ${D}/${sysconfdir}/init.d/mysqld 165 mv ${D}/${sysconfdir}/init.d/mysql ${D}/${sysconfdir}/init.d/mysqld
169 166
170 install -d ${D}${systemd_unitdir}/system 167 install -d ${D}${systemd_unitdir}/system
171 install -m 0644 ${WORKDIR}/mysqld.service ${D}${systemd_unitdir}/system 168 install -m 0644 ${UNPACKDIR}/mysqld.service ${D}${systemd_unitdir}/system
172 install -m 0644 ${WORKDIR}/install_db.service ${D}${systemd_unitdir}/system 169 install -m 0644 ${UNPACKDIR}/install_db.service ${D}${systemd_unitdir}/system
173 sed -i -e 's,@BINDIR@,${bindir},g' -e 's,@PREFIX@,${prefix},g' ${D}${systemd_unitdir}/system/mysqld.service \ 170 sed -i -e 's,@BINDIR@,${bindir},g' -e 's,@PREFIX@,${prefix},g' ${D}${systemd_unitdir}/system/mysqld.service \
174 ${D}${systemd_unitdir}/system/install_db.service 171 ${D}${systemd_unitdir}/system/install_db.service
175 172
176 install -d ${D}${bindir} 173 install -d ${D}${bindir}
177 install -m 755 ${WORKDIR}/mysql-systemd-start ${D}${bindir} 174 install -m 755 ${UNPACKDIR}/mysql-systemd-start ${D}${bindir}
178 install -d ${D}${datadir}/doc/${PN} 175 install -d ${D}${datadir}/doc/${PN}
179 if [ -f ${D}${datadir}/doc/README ]; then 176 if [ -f ${D}${datadir}/doc/README ]; then
180 mv ${D}${datadir}/doc/README ${D}${datadir}/doc/${PN}/ 177 mv ${D}${datadir}/doc/README ${D}${datadir}/doc/${PN}/
@@ -183,16 +180,8 @@ do_install() {
183 # mini-benchmark used for Gitlab-CI to run on every commit to catch 180 # mini-benchmark used for Gitlab-CI to run on every commit to catch
184 # if there are severe performance regressions. 181 # if there are severe performance regressions.
185 # remove it to avoid introducing bash dependency 182 # remove it to avoid introducing bash dependency
186 if [ -f ${D}${datadir}/mysql/mini-benchmark ]; then 183 if [ -f ${D}${datadir}/mariadb/mini-benchmark ]; then
187 rm -rf ${D}${datadir}/mysql/mini-benchmark 184 rm -rf ${D}${datadir}/mariadb/mini-benchmark
188 fi
189 if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
190 pam_so=$(find ${D} -name pam_user_map.so)
191 if [ x"${pam_so}" != x ]; then
192 pam_dir=$(dirname ${pam_so})
193 mv ${pam_dir} ${D}/${libdir}
194 rmdir --ignore-fail-on-non-empty ${pam_dir%security}
195 fi
196 fi 185 fi
197} 186}
198 187
@@ -216,7 +205,7 @@ RDEPENDS:${PN}-client = "perl perl-module-getopt-long perl-module-file-temp \
216RDEPENDS:${PN}-server = "perl perl-module-getopt-long perl-module-data-dumper \ 205RDEPENDS:${PN}-server = "perl perl-module-getopt-long perl-module-data-dumper \
217 perl-module-file-basename perl-module-file-path perl-module-sys-hostname \ 206 perl-module-file-basename perl-module-file-path perl-module-sys-hostname \
218 perl-module-file-copy perl-module-file-temp perl-module-posix \ 207 perl-module-file-copy perl-module-file-temp perl-module-posix \
219 ${PN}-client ${PN}-setupdb libdbi-perl libdbd-mysql-perl lzo" 208 ${PN}-client ${PN}-setupdb libdbi-perl dbd-mariadb lzo"
220RDEPENDS:${PN}-leftovers = "perl perl-module-cwd perl-module-benchmark perl-module-getopt-long \ 209RDEPENDS:${PN}-leftovers = "perl perl-module-cwd perl-module-benchmark perl-module-getopt-long \
221 perl-module-posix perl-module-data-dumper perl-module-sigtrap perl-module-threads \ 210 perl-module-posix perl-module-data-dumper perl-module-sigtrap perl-module-threads \
222 perl-module-threads-shared perl-module-io-socket perl-module-sys-hostname perl-module-file-copy \ 211 perl-module-threads-shared perl-module-io-socket perl-module-sys-hostname perl-module-file-copy \
@@ -344,9 +333,9 @@ FILES:${PN}-server = "\
344 ${sbindir}/mysqld \ 333 ${sbindir}/mysqld \
345 ${sbindir}/mariadbd \ 334 ${sbindir}/mariadbd \
346 ${libdir}/plugin/*.so \ 335 ${libdir}/plugin/*.so \
347 ${libdir}/security/*.so \ 336 ${base_libdir}/security/*.so \
348 ${libdir}/plugin/auth_pam_tool_dir/auth_pam_tool \ 337 ${libdir}/plugin/auth_pam_tool_dir/auth_pam_tool \
349 ${datadir}/mysql/ \ 338 ${datadir}/mariadb/ \
350 ${localstatedir}/mysql/ \ 339 ${localstatedir}/mysql/ \
351 ${sysconfdir}/init.d/mysqld \ 340 ${sysconfdir}/init.d/mysqld \
352 ${sysconfdir}/my.cnf \ 341 ${sysconfdir}/my.cnf \