e299197a2c
Release notes: https://mariadb.com/kb/en/mariadb-10129-release-notes/ Changelog: https://mariadb.com/kb/en/mariadb-10129-changelog/ Fixes the following security vulnerabilities: CVE-2017-10378 - Vulnerability in the MySQL Server component of Oracle MySQL (subcomponent: Server: Optimizer). Supported versions that are affected are 5.5.57 and earlier, 5.6.37 and earlier and 5.7.11 and earlier. Easily exploitable vulnerability allows low privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server. CVE-2017-10268 - Vulnerability in the MySQL Server component of Oracle MySQL (subcomponent: Server: Replication). Supported versions that are affected are 5.5.57 and earlier, 5.6.37 and earlier and 5.7.19 and earlier. Difficult to exploit vulnerability allows high privileged attacker with logon to the infrastructure where MySQL Server executes to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized access to critical data or complete access to all MySQL Server accessible data. Signed-off-by: Ryan Coe <bluemrp9@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
121 lines
4.3 KiB
Makefile
121 lines
4.3 KiB
Makefile
################################################################################
|
|
#
|
|
# mariadb
|
|
#
|
|
################################################################################
|
|
|
|
MARIADB_VERSION = 10.1.29
|
|
MARIADB_SITE = https://downloads.mariadb.org/interstitial/mariadb-$(MARIADB_VERSION)/source
|
|
MARIADB_LICENSE = GPL-2.0 (server), GPL-2.0 with FLOSS exception (GPL client library), LGPL-2.0 (LGPL client library)
|
|
# Tarball no longer contains LGPL license text
|
|
# https://jira.mariadb.org/browse/MDEV-12297
|
|
MARIADB_LICENSE_FILES = README COPYING
|
|
MARIADB_INSTALL_STAGING = YES
|
|
MARIADB_PROVIDES = mysql
|
|
|
|
MARIADB_DEPENDENCIES = \
|
|
host-mariadb \
|
|
ncurses \
|
|
openssl \
|
|
zlib \
|
|
libaio \
|
|
libxml2 \
|
|
readline
|
|
|
|
# We won't need unit tests
|
|
MARIADB_CONF_OPTS += -DWITH_UNIT_TESTS=0
|
|
|
|
# Mroonga needs libstemmer. Some work still needs to be done before it can be
|
|
# included in buildroot. Disable it for now.
|
|
MARIADB_CONF_OPTS += -DWITHOUT_MROONGA=1
|
|
|
|
# This value is determined automatically during straight compile by compiling
|
|
# and running a test code. You cannot do that during cross-compile. However the
|
|
# stack grows downward in most if not all modern systems. The only exception I
|
|
# am aware of is PA-RISC which is not supported by buildroot. Therefore it makes
|
|
# sense to hardcode the value. If an arch is added the stack of which grows up
|
|
# one should expect unpredictable behavior at run time.
|
|
MARIADB_CONF_OPTS += -DSTACK_DIRECTION=-1
|
|
|
|
# Jemalloc was added for TokuDB. Since its configure script seems somewhat broken
|
|
# when it comes to cross-compilation we shall disable it and also disable TokuDB.
|
|
MARIADB_CONF_OPTS += -DWITH_JEMALLOC=no -DWITHOUT_TOKUDB=1
|
|
|
|
# Make it explicit that we are cross-compiling
|
|
MARIADB_CONF_OPTS += -DCMAKE_CROSSCOMPILING=1
|
|
|
|
# Explicitly disable dtrace to avoid detection of a host version
|
|
MARIADB_CONF_OPTS += -DENABLE_DTRACE=0
|
|
|
|
ifeq ($(BR2_PACKAGE_MARIADB_SERVER),y)
|
|
MARIADB_CONF_OPTS += -DWITH_EMBEDDED_SERVER=ON
|
|
else
|
|
MARIADB_CONF_OPTS += -DWITHOUT_SERVER=ON
|
|
endif
|
|
|
|
MARIADB_CONF_OPTS += \
|
|
-DINSTALL_DOCDIR=share/doc/mariadb-$(MARIADB_VERSION) \
|
|
-DINSTALL_DOCREADMEDIR=share/doc/mariadb-$(MARIADB_VERSION) \
|
|
-DINSTALL_MANDIR=share/man \
|
|
-DINSTALL_MYSQLSHAREDIR=share/mysql \
|
|
-DINSTALL_MYSQLTESTDIR=share/mysql/test \
|
|
-DINSTALL_PLUGINDIR=lib/mysql/plugin \
|
|
-DINSTALL_SBINDIR=sbin \
|
|
-DINSTALL_SCRIPTDIR=bin \
|
|
-DINSTALL_SQLBENCHDIR=share/mysql/bench \
|
|
-DINSTALL_SUPPORTFILESDIR=share/mysql \
|
|
-DMYSQL_DATADIR=/var/lib/mysql \
|
|
-DMYSQL_UNIX_ADDR=$(MYSQL_SOCKET)
|
|
|
|
HOST_MARIADB_CONF_OPTS += -DWITH_SSL=bundled
|
|
|
|
# Some helpers must be compiled for host in order to crosscompile mariadb for
|
|
# the target. They are then included by import_executables.cmake which is
|
|
# generated during the build of the host helpers. It is not necessary to build
|
|
# the whole host package, only the "import_executables" target.
|
|
# -DIMPORT_EXECUTABLES=$(HOST_MARIADB_BUILDDIR)/import_executables.cmake
|
|
# must then be passed to cmake during target build.
|
|
# see also https://mariadb.com/kb/en/mariadb/cross-compiling-mariadb/
|
|
HOST_MARIADB_MAKE_OPTS = import_executables
|
|
|
|
MARIADB_CONF_OPTS += \
|
|
-DIMPORT_EXECUTABLES=$(HOST_MARIADB_BUILDDIR)/import_executables.cmake
|
|
|
|
# Don't install host-mariadb. We just need to build import_executable
|
|
# Therefore only run 'true' and do nothing, not even the default action.
|
|
HOST_MARIADB_INSTALL_CMDS = true
|
|
|
|
ifeq ($(BR2_PACKAGE_MARIADB_SERVER),y)
|
|
define MARIADB_USERS
|
|
mysql -1 mysql -1 * /var/lib/mysql - - MySQL Server
|
|
endef
|
|
|
|
define MARIADB_INSTALL_INIT_SYSV
|
|
$(INSTALL) -D -m 0755 package/mariadb/S97mysqld \
|
|
$(TARGET_DIR)/etc/init.d/S97mysqld
|
|
endef
|
|
|
|
define MARIADB_INSTALL_INIT_SYSTEMD
|
|
$(INSTALL) -D -m 644 package/mariadb/mysqld.service \
|
|
$(TARGET_DIR)/usr/lib/systemd/system/mysqld.service
|
|
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
|
|
ln -sf ../../../../usr/lib/systemd/system/mysqld.service \
|
|
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mysqld.service
|
|
endef
|
|
endif
|
|
|
|
define MARIADB_POST_INSTALL
|
|
mkdir -p $(TARGET_DIR)/var/lib/mysql
|
|
$(INSTALL) -D -m 644 $(TARGET_DIR)/usr/share/mysql/my-small.cnf \
|
|
$(TARGET_DIR)/etc/mysql/my.cnf
|
|
# We don't need this on the target as it's only useful in staging
|
|
$(RM) $(TARGET_DIR)/usr/bin/mysql_config
|
|
# Remove test suite
|
|
$(RM) -r $(TARGET_DIR)/usr/share/mysql/test
|
|
endef
|
|
|
|
MARIADB_POST_INSTALL_TARGET_HOOKS += MARIADB_POST_INSTALL
|
|
|
|
$(eval $(cmake-package))
|
|
$(eval $(host-cmake-package))
|