#
# Copyright (C) 2018 Sebastian Kemper <sebastian_ml@gmx.net>
+# Copyright (C) 2021 Michal Hrusecky <michal@hrusecky.net>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
PKG_NAME:=mariadb
-PKG_VERSION:=10.4.18
-PKG_RELEASE:=1
+PKG_VERSION:=10.9.3
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL := \
- https://mirror.netcologne.de/mariadb/$(PKG_NAME)-$(PKG_VERSION)/source \
- https://mirror.lstn.net/mariadb/$(PKG_NAME)-$(PKG_VERSION)/source \
- 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_SOURCE_URL := https://archive.mariadb.org/$(PKG_NAME)-$(PKG_VERSION)/source
-PKG_HASH:=330d9e8273002fc92f0f3f3f9b08157a3cab1265a0f114adeb6235e4283a0d3e
+PKG_HASH:=9a1e229972fcccc8270e633f68d3fb824da151dcf4f53da1df8d947aca876bee
PKG_MAINTAINER:=Michal Hrusecky <Michal@Hrusecky.net>
-PKG_LICENSE:=GPL-2.0
+PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=COPYING THIRDPARTY
PKG_CPE_ID:=cpe:/a:mariadb:mariadb
-HOST_BUILD_PARALLEL:=1
-PKG_BUILD_PARALLEL:=1
-PKG_USE_MIPS16:=0
+PKG_BUILD_FLAGS:=no-mips16
HOST_BUILD_DEPENDS:=libxml2/host
# Without libevent2 tests/async_queries sporadically fails on the bots
PLUGIN_DIR:=/usr/lib/mariadb/plugin
SHARE_DIR:=/usr/share/mariadb
-MARIADB_SOCKET=/var/run/mysqld/mysqld.sock
+MARIADB_SOCKET=/var/run/mysql/mysql.sock
MARIADB_DISABLE_ENGINES := \
- cassandra \
+ columnstore \
example \
mroonga \
oqgraph \
rocksdb \
- test_sql_discovery \
- tokudb
+ test_sql_discovery
MARIADB_DISABLE_PLUGINS := \
audit_null \
PKG_CONFIG_DEPENDS := \
$(patsubst %,CONFIG_PACKAGE_$(PKG_NAME)-server-plugin-%,$(subst _,-,$(MARIADB_SERVER_PLUGINS))) \
+ CONFIG_KERNEL_IO_URING \
CONFIG_PACKAGE_mariadb-server
plugin-auth_ed25519 := PLUGIN_AUTH_ED25519
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
-include $(INCLUDE_DIR)/cmake.mk
include $(INCLUDE_DIR)/nls.mk
+include $(INCLUDE_DIR)/cmake.mk
MARIADB_COMMON_DEPENDS := \
$(ICONV_DEPENDS) \
+libatomic \
+ +libfmt \
+libopenssl \
+libstdcpp \
+zlib
# ignore them.
TARGET_CFLAGS+=$(TARGET_CPPFLAGS)
+ifneq ($(CONFIG_USE_MUSL),)
+ TARGET_CFLAGS += -D_LARGEFILE64_SOURCE
+endif
+
define Package/mariadb/disable/engine
echo > $(1)/storage/$(2)/CMakeLists.txt
endef
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"
+ [ $(2) = $(subst mysql,mariadb,$(2)) ] || ln -s $(2) $(1)/usr/bin/$(subst mysql,mariadb,$(2))
+ [ $(2) = $(subst mariadb,mysql,$(2)) ] || ln -s $(2) $(1)/usr/bin/$(subst mariadb,mysql,$(2))
endef
define Package/mariadb/install/plugin
$(call Package/mariadb/Default)
TITLE:=MariaDB database client
MENU:=1
- DEPENDS:=mariadb-client-base
+ DEPENDS:=$(MARIADB_COMMON_DEPENDS) \
+ +libedit
endef
define Package/mariadb-client/description
endef
-define Package/mariadb-client-base
- $(call Package/mariadb/Default)
- TITLE:=MariaDB database client base
- DEPENDS:=mariadb-common \
- $(MARIADB_COMMON_DEPENDS) \
- +libedit
-endef
-
-define Package/mariadb-client-base/conffiles
-$(CONF_DIR)/conf.d/50-mysql-clients.cnf
-endef
-
-define Package/mariadb-client-base/description
-$(call Package/mariadb/description/Default)
-
-This package provides the foundation for mariadb-client. It installs the
-configuration and the dependencies.
-
-endef
-
define Package/mariadb-client-extra
$(call Package/mariadb/Default)
TITLE:=MariaDB database client extra
PROVIDES:=mysql-server
endef
-define Package/mariadb-server/conffiles
-/usr/bin/mysqld_safe
-endef
-
define Package/mariadb-server/description
$(call Package/mariadb/description/Default)
define Package/mariadb-server-base
$(call Package/mariadb/Default)
- DEPENDS:=mariadb-common \
+ DEPENDS:= \
$(MARIADB_COMMON_DEPENDS) \
- +libaio \
+ +!KERNEL_IO_URING:libaio \
+ +KERNEL_IO_URING:liburing \
+liblzma \
- +libpcre \
- +resolveip
+ +libpcre2 \
+ +resolveip \
+ +sudo
TITLE:=MariaDB database server base
USERID:=mariadb=376:mariadb=376
endef
define Package/mariadb-server-base/conffiles
+$(CONF_DIR)/my.cnf
$(CONF_DIR)/conf.d/50-server.cnf
$(CONF_DIR)/conf.d/60-galera.cnf
/etc/config/mysqld
-DCONNECT_WITH_MONGO=NO \
-DCONNECT_WITH_ODBC=NO \
-DDISABLE_SHARED=NO \
+ -DDEFAULT_CHARSET=utf8mb4 \
+ -DDEFAULT_COLLATION=utf8mb4_general_ci \
-DENABLED_PROFILING=OFF \
-DENABLE_STATIC_LIBS=OFF \
-DINSTALL_DOCDIR=share/doc/mariadb \
-DINSTALL_PAMDATADIR="/etc/security" \
-DINSTALL_PAMDIR="/lib/security" \
-DINSTALL_PLUGINDIR=lib/mariadb/plugin \
+ -DINSTALL_PREFIX="/usr" \
-DINSTALL_SBINDIR=bin \
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_SQLBENCHDIR="" \
-DWITH_INNODB_SNAPPY=OFF \
-DWITH_JEMALLOC=OFF \
-DWITH_LIBARCHIVE=OFF \
+ -DWITH_LIBFMT=system \
-DWITH_LIBWRAP=OFF \
-DWITH_MARIABACKUP=ON \
-DWITH_NUMA=OFF \
cd $(1)/usr/bin; $(LN) mysqlcheck mysqloptimize
endef
-define Package/mariadb-client-base/install
- $(INSTALL_DIR) $(1)$(CONF_DIR)/conf.d
- $(INSTALL_DATA) conf/50-mysql-clients.cnf $(1)$(CONF_DIR)/conf.d
-endef
-
define Package/mariadb-client-extra/install
$(INSTALL_DIR) $(1)/usr/bin
$(foreach b,$(MARIADB_CLIENT_EXTRA),$(call Package/mariadb/install/bin,$(1),$(b));)
$(SED) '/^[a-z]/s/^/#/' $(PKG_INSTALL_DIR)$(SHARE_DIR)/wsrep.cnf
$(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/wsrep.cnf $(1)$(CONF_DIR)/conf.d/60-galera.cnf
$(INSTALL_DATA) conf/50-server.cnf $(1)$(CONF_DIR)/conf.d
+ $(INSTALL_DATA) conf/my.cnf $(1)$(CONF_DIR)
$(INSTALL_CONF) files/mysqld.config $(1)/etc/config/mysqld
$(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/charsets/* $(1)$(SHARE_DIR)/charsets
$(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/english/errmsg.sys $(1)$(SHARE_DIR)/english
- $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/fill_help_tables.sql $(1)$(SHARE_DIR)
- $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/maria_add_gis_sp_bootstrap.sql $(1)$(SHARE_DIR)
- $(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)
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/*.sql $(1)$(SHARE_DIR)
endef
define Package/mariadb-server-extra/install
$(INSTALL_DATA) \
$(PKG_INSTALL_DIR)/lib/security/pam_user_map.so \
$$(1)/lib/security
-endif
-ifeq ($(1),ha_spider)
- $(INSTALL_DIR) $$(1)$(SHARE_DIR)
- $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/install_spider.sql \
- $$(1)$(SHARE_DIR)
endif
endef
$$(eval $$(call BuildPackage,mariadb-server-plugin-$(subst _,-,$(1))))
$(eval $(call HostBuild))
$(eval $(call BuildPackage,mariadb-client))
-$(eval $(call BuildPackage,mariadb-client-base))
$(eval $(call BuildPackage,mariadb-client-extra))
$(eval $(call BuildPackage,mariadb-server))
$(eval $(call BuildPackage,mariadb-server-base))