include $(TOPDIR)/rules.mk
PKG_NAME:=mariadb
-PKG_VERSION:=10.2.24
-PKG_RELEASE:=2
+PKG_VERSION:=10.4.10
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL := \
https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/$(PKG_NAME)-$(PKG_VERSION)/source \
https://downloads.mariadb.org/interstitial/$(PKG_NAME)-$(PKG_VERSION)/source
-PKG_HASH:=97f4d924e69f77abb2f650116785c2f5ef356230442534ebcbaadb51d9bb8bc4
+PKG_HASH:=cd50fddf86c2a47405737e342f78ebd40d5716f0fb32b976245de713bed01421
PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net>
-PKG_LICENSE:=GPL-2.0 LGPL-2.1
-PKG_LICENSE_FILES:=COPYING libmariadb/COPYING.LIB
+PKG_LICENSE:=GPL-2.0
+PKG_LICENSE_FILES:=COPYING THIRDPARTY
PKG_CPE_ID:=cpe:/a:mariadb:mariadb
PLUGIN_DIR:=/usr/lib/mariadb/plugin
SHARE_DIR:=/usr/share/mariadb
+MARIADB_SOCKET=/var/run/mysqld/mysqld.sock
+
MARIADB_DISABLE_ENGINES := \
cassandra \
example \
daemon_example \
debug_key_management \
example_key_management \
- fulltext
-
-MARIADB_LIB_PLUGINS := \
- auth_gssapi_client
+ fulltext \
+ versioning
MARIADB_SERVER_PLUGINS := \
auth_ed25519 \
auth_gssapi \
auth_pam \
- client_ed25519 \
+ auth_pam_v1 \
disks \
feedback \
file_key_management \
metadata_lock_info \
query_cache_info \
query_response_time \
- semisync_master \
- semisync_slave \
server_audit \
simple_password_check \
sql_errlog \
wsrep_info
PKG_CONFIG_DEPENDS := \
- $(patsubst %,CONFIG_PACKAGE_lib$(PKG_NAME)-plugin-%,$(subst _,-,$(MARIADB_LIB_PLUGINS))) \
$(patsubst %,CONFIG_PACKAGE_$(PKG_NAME)-server-plugin-%,$(subst _,-,$(MARIADB_SERVER_PLUGINS))) \
CONFIG_PACKAGE_mariadb-server
-plugin-auth_gssapi_client := PLUGIN_AUTH_GSSAPI_CLIENT
-
plugin-auth_ed25519 := PLUGIN_AUTH_ED25519
plugin-auth_gssapi := PLUGIN_AUTH_GSSAPI
plugin-auth_pam := PLUGIN_AUTH_PAM
-plugin-client_ed25519 := PLUGIN_CLIENT_ED25519
+plugin-auth_pam_v1 := PLUGIN_AUTH_PAM_V1
plugin-disks := PLUGIN_DISKS
plugin-feedback := PLUGIN_FEEDBACK
plugin-file_key_management := PLUGIN_FILE_KEY_MANAGEMENT
plugin-metadata_lock_info := PLUGIN_METADATA_LOCK_INFO
plugin-query_cache_info := PLUGIN_QUERY_CACHE_INFO
plugin-query_response_time := PLUGIN_QUERY_RESPONSE_TIME
-plugin-semisync_master := PLUGIN_SEMISYNC_MASTER
-plugin-semisync_slave := PLUGIN_SEMISYNC_SLAVE
plugin-server_audit := PLUGIN_SERVER_AUDIT
plugin-simple_password_check := PLUGIN_SIMPLE_PASSWORD_CHECK
plugin-sql_errlog := PLUGIN_SQL_ERRLOG
mysqld
MARIADB_SERVER_EXTRA := \
- aria* \
+ aria_chk \
+ aria_dump_log \
+ aria_ftdump \
+ aria_pack \
+ aria_read_log \
mariabackup \
msql2mysql \
myisam_ftdump \
perror \
replace \
resolve_stack_dump \
- wsrep_sst_*
+ wsrep_sst_mariabackup \
+ wsrep_sst_mysqldump \
+ wsrep_sst_rsync \
+ wsrep_sst_rsync_wan
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
define Package/mariadb/install/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(2) $(1)/usr/bin
+ cd "$(PKG_INSTALL_DIR)/usr/bin"; find . -maxdepth 1 -type l \
+ -regex './$(subst mysql,mariadb[-]*,$(subst _,-,$(2)))' \
+ | xargs -I{} $(CP) {} "$(1)/usr/bin"
endef
define Package/mariadb/install/plugin
MariaDB is a very fast and robust SQL database server.
endef
-define Package/libmariadb/Default
- SECTION:=libs
- CATEGORY:=Libraries
- URL:=https://mariadb.org/
-endef
-
-define Package/libmariadb
- $(call Package/libmariadb/Default)
- DEPENDS:=+mariadb-common \
- $(MARIADB_COMMON_DEPENDS)
- TITLE:=MariaDB database client library
- MENU:=1
- PROVIDES:=libmariadbclient libmysqlclient libmysqlclient-r
-endef
-
-define Package/libmariadb/conffiles
-$(CONF_DIR)/conf.d/50-client.cnf
-endef
-
-define Package/libmariadb/description
-$(call Package/mariadb/description/Default)
-
-This package includes the client library.
-
-endef
-
define Package/mariadb/Default
SECTION:=utils
CATEGORY:=Utilities
URL:=https://mariadb.org/
- SUBMENU:=database
+ SUBMENU:=Database
endef
define Package/mariadb-client
endef
-define Package/mariadb-common
- $(call Package/mariadb/Default)
- TITLE:=MariaDB database common files
- DEPENDS:=
-endef
-
-define Package/mariadb-common/conffiles
-$(CONF_DIR)/my.cnf
-endef
-
-define Package/mariadb-common/description
-$(call Package/mariadb/description/Default)
-
-This package includes shared files, for example $(CONF_DIR)/my.cnf.
-
-endef
-
define Package/mariadb-server
$(call Package/mariadb/Default)
DEPENDS:=mariadb-server-base
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_SQLBENCHDIR="" \
-DINSTALL_SUPPORTFILESDIR=share/mariadb \
- -DINSTALL_UNIX_ADDRDIR=/var/run/mysqld/mysqld.sock \
+ -DINSTALL_UNIX_ADDRDIR=$(MARIADB_SOCKET) \
-DMYSQL_DATADIR=/var/lib/mysql \
- -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \
+ -DMYSQL_UNIX_ADDR=$(MARIADB_SOCKET) \
-DSKIP_TESTS=ON \
-DWITH_DEBUG=OFF \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_LIBARCHIVE=OFF \
-DWITH_LIBWRAP=OFF \
-DWITH_MARIABACKUP=ON \
+ -DWITH_NUMA=OFF \
-DWITH_PCRE=system \
-DWITH_SAFEMALLOC=OFF \
-DWITH_SSL=system \
-DICONV_LIBRARIES=$(ICONV_PREFIX)/lib/libiconv.$(if $(CONFIG_BUILD_NLS),so,a)
CMAKE_OPTIONS += \
- $(foreach p,$(MARIADB_LIB_PLUGINS),-D$(plugin-$(p))=$(if $(CONFIG_PACKAGE_lib$(PKG_NAME)-plugin-$(subst _,-,$(p))),DYNAMIC,OFF)) \
$(foreach p,$(MARIADB_SERVER_PLUGINS),-D$(plugin-$(p))=$(if $(CONFIG_PACKAGE_$(PKG_NAME)-server-plugin-$(subst _,-,$(p))),DYNAMIC,NO))
+# Disable some client library plugins
+CMAKE_OPTIONS += \
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF \
+ -DCLIENT_PLUGIN_REMOTE_IO=OFF
+
# Set CMAKE_FIND_ROOT_PATH_MODE_INCLUDE and CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
# to BOTH as otherwise the host build will not find some required dependencies
# installed on the host machine, like ncurses.
$(foreach p,$(MARIADB_DISABLE_PLUGINS),$(call Package/mariadb/disable/plugin,$(PKG_BUILD_DIR),$(p));)
endef
+# Define Build/InstallDev, otherwise build system starts installing files into
+# staging area, which would interfere with mariadb-connector-c.
define Build/InstallDev
- $(INSTALL_DIR) $(2)/bin $(1)/usr/bin $(1)/usr/include $(1)/usr/lib/mysql $(1)/usr/lib/pkgconfig $(1)/usr/share/aclocal
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql_config $(1)/usr/bin
- $(LN) $(STAGING_DIR)/usr/bin/mysql_config $(2)/bin
- $(CP) $(PKG_INSTALL_DIR)/usr/include/mysql $(1)/usr/include
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{mariadb,mysqlclient}*.so* $(1)/usr/lib
- cd $(1)/usr/lib/mysql; $(LN) ../lib{mariadb,mysqlclient}*.so* .
- $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libmariadb.pc $(1)/usr/lib/pkgconfig
- $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/aclocal/mysql.m4 $(1)/usr/share/aclocal
-endef
-
-define Package/libmariadb/install
- $(INSTALL_DIR) $(1)$(CONF_DIR)/conf.d
- $(INSTALL_DIR) $(1)$(PLUGIN_DIR)
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{mariadb,mysqlclient}*.so* $(1)/usr/lib
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/caching_sha2_password.so $(1)$(PLUGIN_DIR)
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/dialog.so $(1)$(PLUGIN_DIR)
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/mysql_clear_password.so $(1)$(PLUGIN_DIR)
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/sha256_password.so $(1)$(PLUGIN_DIR)
- $(INSTALL_CONF) conf/50-client.cnf $(1)$(CONF_DIR)/conf.d
endef
define Package/mariadb-client/install
$(foreach b,$(MARIADB_CLIENT_EXTRA),$(call Package/mariadb/install/bin,$(1),$(b));)
endef
-define Package/mariadb-common/install
- $(INSTALL_DIR) $(1)$(CONF_DIR)
- $(INSTALL_CONF) conf/my.cnf $(1)$(CONF_DIR)
-endef
-
define Package/mariadb-server/install
$(INSTALL_DIR) $(1)/usr/bin
$(foreach b,$(MARIADB_SERVER),$(call Package/mariadb/install/bin,$(1),$(b));)
$(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/mysql_performance_tables.sql $(1)$(SHARE_DIR)
$(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/mysql_system_tables.sql $(1)$(SHARE_DIR)
$(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/mysql_system_tables_data.sql $(1)$(SHARE_DIR)
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/mysql_test_db.sql $(1)$(SHARE_DIR)
endef
define Package/mariadb-server-extra/install
$(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/bin/wsrep_sst_common $(1)/usr/bin
$(SED) 's,/bin/bash,/bin/sh,g' $(PKG_INSTALL_DIR)/usr/bin/wsrep_sst_*
$(foreach b,$(MARIADB_SERVER_EXTRA),$(call Package/mariadb/install/bin,$(1),$(b));)
+ cd $(1)/usr/bin; $(LN) mariabackup mariadb-backup
endef
define BuildPlugin
- define Package/$(1)-plugin-$(subst _,-,$(2))
- $(call Package/$(subst mariadb-server,mariadb,$(1))/Default)
- TITLE:=$(1) plugin
- DEPENDS:=$(1) $(patsubst +%,+PACKAGE_$(1)-plugin-$(subst _,-,$(2)):%,$(3))
+ define Package/mariadb-server-plugin-$(subst _,-,$(1))
+ $(call Package/mariadb/Default)
+ TITLE:=mariadb-server plugin
+ DEPENDS:=mariadb-server $(patsubst +%,+PACKAGE_mariadb-server-plugin-$(subst _,-,$(1)):%,$(2))
endef
- define Package/$(1)-plugin-$(subst _,-,$(2))/description
+ define Package/mariadb-server-plugin-$(subst _,-,$(1))/description
$(call Package/mariadb/description/Default)
-This package provides the $(2) plugin.
+This package provides the $(1) plugin.
endef
- define Package/$(1)-plugin-$(subst _,-,$(2))/install
+ define Package/mariadb-server-plugin-$(subst _,-,$(1))/install
$(INSTALL_DIR) $$(1)$(PLUGIN_DIR)
- $(call Package/mariadb/install/plugin,$$(1),$(2))
+ $(call Package/mariadb/install/plugin,$$(1),$(1))
endef
- $$(eval $$(call BuildPackage,$(1)-plugin-$(subst _,-,$(2))))
+ $$(eval $$(call BuildPackage,mariadb-server-plugin-$(subst _,-,$(1))))
endef
$(eval $(call HostBuild))
-$(eval $(call BuildPackage,libmariadb))
$(eval $(call BuildPackage,mariadb-client))
$(eval $(call BuildPackage,mariadb-client-base))
$(eval $(call BuildPackage,mariadb-client-extra))
-$(eval $(call BuildPackage,mariadb-common))
$(eval $(call BuildPackage,mariadb-server))
$(eval $(call BuildPackage,mariadb-server-base))
$(eval $(call BuildPackage,mariadb-server-extra))
-$(eval $(call BuildPlugin,libmariadb,auth_gssapi_client,+krb5-libs))
-$(eval $(call BuildPlugin,mariadb-server,auth_ed25519,))
-$(eval $(call BuildPlugin,mariadb-server,auth_gssapi,+krb5-libs))
-$(eval $(call BuildPlugin,mariadb-server,auth_pam,+libpam))
-$(eval $(call BuildPlugin,mariadb-server,client_ed25519,))
-$(eval $(call BuildPlugin,mariadb-server,disks,))
-$(eval $(call BuildPlugin,mariadb-server,feedback,))
-$(eval $(call BuildPlugin,mariadb-server,file_key_management,))
-$(eval $(call BuildPlugin,mariadb-server,ha_archive,))
-$(eval $(call BuildPlugin,mariadb-server,ha_blackhole,))
-$(eval $(call BuildPlugin,mariadb-server,ha_connect,+libxml2))
-$(eval $(call BuildPlugin,mariadb-server,ha_federated,))
-$(eval $(call BuildPlugin,mariadb-server,ha_federatedx,))
-$(eval $(call BuildPlugin,mariadb-server,ha_sphinx,))
-$(eval $(call BuildPlugin,mariadb-server,ha_spider,))
-$(eval $(call BuildPlugin,mariadb-server,handlersocket,))
-$(eval $(call BuildPlugin,mariadb-server,locales,))
-$(eval $(call BuildPlugin,mariadb-server,metadata_lock_info,))
-$(eval $(call BuildPlugin,mariadb-server,query_cache_info,))
-$(eval $(call BuildPlugin,mariadb-server,query_response_time,))
-$(eval $(call BuildPlugin,mariadb-server,semisync_master,))
-$(eval $(call BuildPlugin,mariadb-server,semisync_slave,))
-$(eval $(call BuildPlugin,mariadb-server,server_audit,))
-$(eval $(call BuildPlugin,mariadb-server,simple_password_check,))
-$(eval $(call BuildPlugin,mariadb-server,sql_errlog,))
-$(eval $(call BuildPlugin,mariadb-server,wsrep_info,))
+$(eval $(call BuildPlugin,auth_ed25519,))
+$(eval $(call BuildPlugin,auth_gssapi,+krb5-libs))
+$(eval $(call BuildPlugin,auth_pam,+libpam))
+$(eval $(call BuildPlugin,auth_pam_v1,+libpam))
+$(eval $(call BuildPlugin,disks,))
+$(eval $(call BuildPlugin,feedback,))
+$(eval $(call BuildPlugin,file_key_management,))
+$(eval $(call BuildPlugin,ha_archive,))
+$(eval $(call BuildPlugin,ha_blackhole,))
+$(eval $(call BuildPlugin,ha_connect,+libxml2))
+$(eval $(call BuildPlugin,ha_federated,))
+$(eval $(call BuildPlugin,ha_federatedx,))
+$(eval $(call BuildPlugin,ha_sphinx,))
+$(eval $(call BuildPlugin,ha_spider,))
+$(eval $(call BuildPlugin,handlersocket,))
+$(eval $(call BuildPlugin,locales,))
+$(eval $(call BuildPlugin,metadata_lock_info,))
+$(eval $(call BuildPlugin,query_cache_info,))
+$(eval $(call BuildPlugin,query_response_time,))
+$(eval $(call BuildPlugin,server_audit,))
+$(eval $(call BuildPlugin,simple_password_check,))
+$(eval $(call BuildPlugin,sql_errlog,))
+$(eval $(call BuildPlugin,wsrep_info,))