This commit deals with changes related to plugins and how they're built
or disabled.
Currently a lot of plugins are packaged which are merely for tests or
plain examples. Other distros do not bundle these, hence this commit
does away with them.
A few new plugins are added related to PAM and Kerberos (auth_gssapi,
auth_gssapi_client and auth_pam).
The BuildPlugin template is refactored to also allow building of library
plugins (needed for auth_gssapi_client). The template is also cleaned up
- some extraneous dollar signs are removed and the install function is
now defined outside the template.
Unwanted plugins/engines are now turned off efficiently (without using
cmake variables) by blanking CMakeLists.txt files in the associated
folders. The idea was lifted from Gentoo.
ha_sequence is now built into the server. This is an upstream
preference. The plugin is about 30 kbytes in size, so there is no harm
adding it into the server, which weighs in at about 15 Mbytes anyway.
Last but not least the auth_socket plugin is now also built into the
server. This allows the local root user to login to the database
without a password being set. This makes maintenance easier without
being detrimental to security. The idea was lifted from Debian.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
libedit changed its interface a while back. mariadb currently does not
recognize this interface and instead uses a static old readline version.
It does not link in the system readline due to licence incompatibility.
This commit adds a patch that enables mariadb to detect and use the
system libedit. The patch was sent upstream already ([1]).
[1] https://github.com/MariaDB/server/pull/1001
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The build breaks when Kerberos is available in staging dir. mariadb
build system exits with error:
CMake Error at libmariadb/cmake/plugins.cmake:43 (message):
Invalid plugin type NO. Allowed plugin types are DYNAMIC;STATIC;OFF
It doesn't like the definition "PLUGIN_AUTH_GSSAPI_CLIENT=NO" anymore.
We need to set it to "OFF" to make it happy.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Include fix from upstream for MDEV-17200. musl-1.1.20 segfaults when
pthread_detach() is called for already detached threads.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
From Release Notes:
- New variable innodb_log_optimize_ddl for avoiding delay due to page flushing and allowing concurrent backup
- InnoDB updated to 5.7.23
- ALTER TABLE fixes:
MDEV-14637 - Fix hang due to DDL with FOREIGN KEY or persistent statistics
MDEV-15953 - Alter InnoDB Partitioned Table Moves Files (which were originally not in the datadir) to the datadir
MDEV-16515 - InnoDB: Failing assertion: ++retries < 10000 in file dict0dict.cc line 2737
MDEV-16809 - Allow full redo logging for ALTER TABLE
- Temporary tables: MDEV-16713 - InnoDB hang with repeating log entry
- indexed virtual columns: MDEV-15855 - Deadlock between purge thread and DDL statement
- locking: MDEV-16664 - Change the default to innodb_lock_schedule_algorithm=fcfs
- Galera: MDEV-15822 - WSREP: BF lock wait long for trx
- Fixes for the following security vulnerabilities:
CVE-2018-3060
CVE-2018-3064
CVE-2018-3063
CVE-2018-3058
CVE-2018-3066
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
@jow- mentioned that depending on libiconv-full on uClibc is not the way
to do it. Instead nls.mk needs to be included and then the correct iconv
lib wil be used as per CONFIG_BUILD_NLS.
Update mariadb Makefile to address this.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
mariadb 10.2.x depends on iconv. glibc and musl include iconv, uclibc
does not. So for uclibc builds a depend on libiconv-full is required.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Also create a user "mariadb" and use it for running the server. And
add possibility to easily add command line args.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- ha_sequence: formerly builtin, now a plugin
- ha_sphinx: formerly disabled
- ha_example: was missing in the eval lines
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Bump to 10.2.x release series which has support for OpenSSL 1.1.x.
- libmariadbclient was replaced by libmaria
- libmaria uses LGPL, hence license info updated
- upstream disabled xtradb engine, innodb is now default (cannot be
built as plugin anymore)
- complex charsets are now all included (size increase), as otherwise
compile fails
- patches adapted/refreshed
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
As suggested by Daniel Engberg, add some mirror servers to offload from
MariaDB's main download server.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- create directory /etc/mysql/conf.d as without it the server refuses to
start
- correct the path to my.cnf in the init script
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Hannu mentioned that --recursive could not be available always. That is
correct. While GNU coreutils' ln supports this, BSD's ln for example does
not.
This commit addresses that.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Historically programs added /usr/lib/mysql to the library search path when
linking. mariadb does not do so anymore, although even its mysql_config
script suggests to use this path. When an old version of the library still
resides in this directory (like from an old mysql installation) it will be
linked against instead of the current library which is in /usr/lib.
To prevent this simply install symlinks from the staging libs in /usr/lib
into /usr/lib/mysql. This fixes build failures on the build bots which are
seen with libzdb and libdbi-drivers.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Observed once in about two dozen builds on the bots:
make[6]: *** No rule to make target '/build/lede-snapshots/arm_cortex-a7_neon-vfpv4/build/sdk/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/usr/lib/libevent.so', needed by 'tests/async_queries'. Stop.
Address this by adding libevent2 to PKG_BUILD_DEPENDS.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
MariaDB is a drop-in replacement for MySQL. This commit adds a current
and stable version of MariaDB to the tree.
Quite a few ideas/patches were copied from Alpine Linux, Busybox Buildroot
and Debian.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>