summaryrefslogtreecommitdiffstats
path: root/rules/mariadb.make
diff options
context:
space:
mode:
authorBastian Stender <bst@pengutronix.de>2017-05-29 14:21:07 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2017-06-24 11:17:04 +0200
commit5e3dbbeede3cce78dc2a6cb8f2dd65fbee4ba059 (patch)
treee4f73c822ab698ab813d9e1872ae4c75434fde17 /rules/mariadb.make
parent413eb50ff09da95e4bc715816fd4c851f7fb2861 (diff)
downloadptxdist-5e3dbbeede3cce78dc2a6cb8f2dd65fbee4ba059.tar.gz
ptxdist-5e3dbbeede3cce78dc2a6cb8f2dd65fbee4ba059.tar.xz
mariadb: new package
MariaDB is a MySQL fork. Therefore the MySQL rule was adapted to fit MariaDB. As MariaDB uses the same binary names as MySQL the packages conflict. Signed-off-by: Bastian Stender <bst@pengutronix.de> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'rules/mariadb.make')
-rw-r--r--rules/mariadb.make215
1 files changed, 215 insertions, 0 deletions
diff --git a/rules/mariadb.make b/rules/mariadb.make
new file mode 100644
index 000000000..839ff7e3a
--- /dev/null
+++ b/rules/mariadb.make
@@ -0,0 +1,215 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2017 by Bastian Stender <bst@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_MARIADB) += mariadb
+
+#
+# Paths and names
+#
+MARIADB_VERSION := 10.1.23
+MARIADB_MD5 := 1a7392cc05c7c249acd4495022719ca8
+MARIADB := mariadb-$(MARIADB_VERSION)
+MARIADB_SUFFIX := tar.gz
+MARIADB_URL := https://downloads.mariadb.com/MariaDB/$(MARIADB)/source/$(MARIADB).$(MARIADB_SUFFIX)
+MARIADB_SOURCE := $(SRCDIR)/$(MARIADB).$(MARIADB_SUFFIX)
+MARIADB_DIR := $(BUILDDIR)/$(MARIADB)
+MARIADB_LICENSE := GPL-2.0
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+# MARIADB_PLUGINS_ENABLED-y builds plugin dynamically
+# MARIADB_PLUGINS_ENABLES-y builds plugin statically
+# MARIADB_PLUGINS_ENABLE- disables plugin
+MARIADB_PLUGINS_ENABLE- += ARCHIVE
+MARIADB_PLUGINS_ENABLE- += ARIA
+MARIADB_PLUGINS_ENABLE- += AUDIT_NULL
+MARIADB_PLUGINS_ENABLE- += AUTH_0X0100
+MARIADB_PLUGINS_ENABLE- += AUTH_ED25519
+MARIADB_PLUGINS_ENABLE- += AUTH_SOCKET
+MARIADB_PLUGINS_ENABLE- += AUTH_TEST_PLUGIN
+MARIADB_PLUGINS_ENABLE- += AWS_KEY_MANAGEMENT
+MARIADB_PLUGINS_ENABLE- += BLACKHOLE
+MARIADB_PLUGINS_ENABLE- += CLIENT_ED25519
+MARIADB_PLUGINS_ENABLE- += CONNECT
+MARIADB_PLUGINS_ENABLE- += DAEMON_EXAMPLE
+MARIADB_PLUGINS_ENABLE- += DEBUG_KEY_MANAGEMENT
+MARIADB_PLUGINS_ENABLE- += DIALOG
+MARIADB_PLUGINS_ENABLE- += DIALOG_EXAMPLES
+MARIADB_PLUGINS_ENABLE- += EXAMPLE
+MARIADB_PLUGINS_ENABLE- += EXAMPLE_KEY_MANAGEMENT
+MARIADB_PLUGINS_ENABLE- += FEDERATED
+MARIADB_PLUGINS_ENABLE- += FEDERATEDX
+MARIADB_PLUGINS_ENABLE- += FEEDBACK
+MARIADB_PLUGINS_ENABLE- += FILE_KEY_MANAGEMENT
+MARIADB_PLUGINS_ENABLE- += FTEXAMPLE
+MARIADB_PLUGINS_ENABLE- += HANDLERSOCKET
+MARIADB_PLUGINS_ENABLE- += INNOBASE
+MARIADB_PLUGINS_ENABLE- += LOCALES
+MARIADB_PLUGINS_ENABLE- += METADATA_LOCK_INFO
+MARIADB_PLUGINS_ENABLE- += MROONGA
+MARIADB_PLUGINS_ENABLE- += MYSQL_CLEAR_PASSWORD
+# some plugins depend on static build PARTITION
+MARIADB_PLUGINS_ENABLE- += PARTITION
+MARIADB_PLUGINS_ENABLE- += PERFSCHEMA
+MARIADB_PLUGINS_ENABLE- += QA_AUTH_CLIENT
+MARIADB_PLUGINS_ENABLE- += QA_AUTH_INTERFACE
+MARIADB_PLUGINS_ENABLE- += QA_AUTH_SERVER
+MARIADB_PLUGINS_ENABLE- += QUERY_CACHE_INFO
+MARIADB_PLUGINS_ENABLE- += QUERY_RESPONSE_TIME
+MARIADB_PLUGINS_ENABLE- += SEMISYNC_MASTER
+MARIADB_PLUGINS_ENABLE- += SEMISYNC_SLAVE
+MARIADB_PLUGINS_ENABLE- += SEQUENCE
+MARIADB_PLUGINS_ENABLE- += SERVER_AUDIT
+MARIADB_PLUGINS_ENABLE- += SIMPLE_PASSWORD_CHECK
+MARIADB_PLUGINS_ENABLE- += SPHINX
+MARIADB_PLUGINS_ENABLE- += SPIDER
+MARIADB_PLUGINS_ENABLE- += SQL_ERRLOG
+MARIADB_PLUGINS_ENABLE- += TEST_SQL_DISCOVERY
+MARIADB_PLUGINS_ENABLE- += TOKUDB
+MARIADB_PLUGINS_ENABLE- += WSREP_INFO
+MARIADB_PLUGINS_ENABLE- += XTRADB
+
+#
+# cmake
+#
+MARIADB_CONF_TOOL := cmake
+
+# 10.1.23 does not build with CONNECT_WITH_ZIP=OFF
+MARIADB_CONF_OPT := \
+ $(CROSS_CMAKE_USR) \
+ -DSTACK_DIRECTION=1 \
+ -DIMPORT_EXECUTABLES=$(PTXDIST_SYSROOT_HOST)/share/mariadb/import_executables.cmake \
+ -DHAVE_LLVM_LIBCPP_EXITCODE=no \
+ -DCOMMUNITY_BUILD=ON \
+ -DCONNECT_WITH_JDBC=OFF \
+ -DCONNECT_WITH_LIBXML2=OFF \
+ -DCONNECT_WITH_ODBC=OFF \
+ -DCONNECT_WITH_VCT=OFF \
+ -DCONNECT_WITH_XMAP=OFF \
+ -DCONNECT_WITH_ZIP=ON \
+ -DDISABLE_SHARED=OFF \
+ -DENABLED_LOCAL_INFILE=OFF \
+ -DENABLED_PROFILING=OFF \
+ -DENABLE_GCOV=OFF \
+ -DINSTALL_LAYOUT=STANDALONE \
+ -DMRN_GROONGA_EMBED=OFF \
+ -DMYSQL_DATADIR=/var/lib/mysql/data \
+ -DMYSQL_MAINTAINER_MODE=OFF \
+ -DNOT_FOR_DISTRIBUTION=OFF \
+ -DSECURITY_HARDENED=ON \
+ -DTMPDIR=/tmp \
+ -DUSE_ARIA_FOR_TMP_TABLES=ON \
+ -DUSE_GCOV=OFF \
+ -DWITHOUT_SERVER=OFF \
+ -DWITH_ASAN=OFF \
+ -DWITH_EMBEDDED_SERVER=OFF \
+ -DWITH_EXTRA_CHARSETS=all \
+ -DWITH_INNODB_BZIP2=OFF \
+ -DWITH_INNODB_DISALLOW_WRITES=ON \
+ -DWITH_INNODB_LZ4=OFF \
+ -DWITH_INNODB_LZMA=OFF \
+ -DWITH_INNODB_LZO=OFF \
+ -DWITH_INNODB_SNAPPY=OFF \
+ -DWITH_JEMALLOC=no \
+ -DWITH_LIBARCHIVE=OFF \
+ -DWITH_LIBWRAP=OFF \
+ -DWITH_MARIABACKUP=OFF \
+ -DWITH_PCRE=system \
+ -DWITH_READLINE=OFF \
+ -DWITH_SAFEMALLOC=OFF \
+ -DWITH_SYSTEMD=$(call ptx/onoff, PTXCONF_MARIADB_SYSTEMD) \
+ -DWITH_UNIT_TESTS=OFF \
+ -DWITH_VALGRIND=OFF \
+ -DWITH_WSREP=OFF \
+ -DWITH_ZLIB=system \
+ -DWITH_SSL=system \
+ -DSYSCONFDIR=/etc/mariadb \
+ -DCOMPILATION_COMMENT=PTXdist \
+ -DDEFAULT_CHARSET=latin1
+
+ifneq ($(strip $(MARIADB_PLUGINS_ENABLES-y)),)
+MARIADB_CONF_OPT += $(foreach plugin,$(MARIADB_PLUGINS_ENABLES-y),$(addprefix -DPLUGIN_,$(addsuffix =STATIC, $(plugin))))
+endif
+
+ifneq ($(strip $(MARIADB_PLUGINS_ENABLED-y)),)
+MARIADB_CONF_OPT += $(foreach plugin,$(MARIADB_PLUGINS_ENABLED-y),$(addprefix -DPLUGIN_,$(addsuffix =DYNAMIC, $(plugin))))
+endif
+
+ifneq ($(strip $(MARIADB_PLUGINS_ENABLE-)),)
+MARIADB_CONF_OPT += $(foreach plugin,$(MARIADB_PLUGINS_ENABLE-),$(addprefix -DPLUGIN_,$(addsuffix =NO, $(plugin))))
+endif
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/mariadb.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, mariadb)
+ @$(call install_fixup, mariadb, PRIORITY, optional)
+ @$(call install_fixup, mariadb, SECTION, base)
+ @$(call install_fixup, mariadb, AUTHOR, "Bastian Stender <bst@pengutronix.de>")
+ @$(call install_fixup, mariadb, DESCRIPTION, "MariaDB")
+
+# # server stuff
+ @$(call install_copy, mariadb, 0, 0, 0755, -, /usr/bin/mysqld)
+
+ifdef PTXCONF_MARIADB_SYSTEMD
+ @$(call install_alternative, mariadb, 0, 0, 0644, /usr/lib/systemd/system/mariadb.service)
+ @$(call install_link, mariadb, ../mariadb.service, \
+ /usr/lib/systemd/system/multi-user.target.wants/mariadb.service)
+
+ @$(call install_alternative, mariadb, 0, 0, 0644, /usr/lib/systemd/system/mariadb-init.service)
+ @$(call install_link, mariadb, ../mariadb-init.service, \
+ /usr/lib/systemd/system/multi-user.target.wants/mariadb-init.service)
+endif
+ @$(call install_alternative, mariadb, 0, 0, 0644, /etc/mariadb/my.cnf)
+
+# # TODO: do we need more languages?
+ @$(call install_copy, mariadb, 0, 0, 0644, -, /usr/share/english/errmsg.sys)
+
+# # TODO: do we need more charsets?
+ @$(call install_copy, mariadb, 0, 0, 0644, -, /usr/share/charsets/latin1.xml)
+
+# # client stuff
+ @$(call install_copy, mariadb, 0, 0, 0755, -, /usr/bin/mysql)
+ @$(call install_copy, mariadb, 0, 0, 0755, -, /usr/bin/mysqladmin)
+ @$(call install_copy, mariadb, 0, 0, 0755, -, /usr/bin/mysql_upgrade)
+ @$(call install_copy, mariadb, 0, 0, 0755, -, /usr/bin/mysqlcheck)
+ @$(call install_copy, mariadb, 0, 0, 0755, -, /usr/bin/mysqldump)
+
+# # bootstrap script + dependencies
+ @$(call install_copy, mariadb, 0, 0, 0755, -, /usr/scripts/mysql_install_db)
+ @$(call install_copy, mariadb, 0, 0, 0755, -, /usr/bin/my_print_defaults)
+ @$(call install_copy, mariadb, 0, 0, 0755, -, /usr/bin/resolveip)
+
+# # bootstrap data required for mysql_install_db
+ @$(call install_copy, mariadb, 0, 0, 0644, -, /usr/share/mysql_system_tables.sql)
+ @$(call install_copy, mariadb, 0, 0, 0644, -, /usr/share/mysql_system_tables_data.sql)
+ @$(call install_copy, mariadb, 0, 0, 0644, -, /usr/share/mysql_performance_tables.sql)
+ @$(call install_copy, mariadb, 0, 0, 0644, -, /usr/share/fill_help_tables.sql)
+ @$(call install_copy, mariadb, 0, 0, 0644, -, /usr/share/maria_add_gis_sp_bootstrap.sql)
+
+ @$(call install_lib, mariadb, 0, 0, 0644, libmysqlclient)
+
+# # create a working directory which is writeable
+ @$(call install_copy, mariadb, mysql, mysql, 0755, /var/lib/mysql)
+
+ @$(call install_finish, mariadb)
+
+ @$(call touch)
+
+# vim: syntax=make