mariadb: fix compilation with musl 1.2.4
[feed/packages.git] / utils / mariadb / Makefile
index 03bdd51c3c8e62fc090d61473f4b1fdcf940036e..5c4d6e7f2895676eca9e04f8e9be688f7f889793 100644 (file)
@@ -1,5 +1,6 @@
 #
 # 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.
@@ -8,26 +9,20 @@
 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
@@ -37,16 +32,15 @@ CONF_DIR:=/etc/mysql
 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 \
@@ -86,6 +80,7 @@ MARIADB_SERVER_PLUGINS := \
 
 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
@@ -168,12 +163,13 @@ MARIADB_SERVER_EXTRA := \
 
 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
@@ -182,6 +178,10 @@ MARIADB_COMMON_DEPENDS := \
 # 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
@@ -192,9 +192,8 @@ 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
@@ -216,7 +215,8 @@ define Package/mariadb-client
   $(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
@@ -228,26 +228,6 @@ $(subst $(space),$(newline),$(MARIADB_CLIENT))
 
 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
@@ -271,10 +251,6 @@ define Package/mariadb-server
   PROVIDES:=mysql-server
 endef
 
-define Package/mariadb-server/conffiles
-/usr/bin/mysqld_safe
-endef
-
 define Package/mariadb-server/description
 $(call Package/mariadb/description/Default)
 
@@ -286,17 +262,20 @@ endef
 
 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
@@ -361,6 +340,8 @@ CMAKE_OPTIONS += \
        -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 \
@@ -372,6 +353,7 @@ CMAKE_OPTIONS += \
        -DINSTALL_PAMDATADIR="/etc/security" \
        -DINSTALL_PAMDIR="/lib/security" \
        -DINSTALL_PLUGINDIR=lib/mariadb/plugin \
+       -DINSTALL_PREFIX="/usr" \
        -DINSTALL_SBINDIR=bin \
        -DINSTALL_SCRIPTDIR=bin \
        -DINSTALL_SQLBENCHDIR="" \
@@ -389,6 +371,7 @@ CMAKE_OPTIONS += \
        -DWITH_INNODB_SNAPPY=OFF \
        -DWITH_JEMALLOC=OFF \
        -DWITH_LIBARCHIVE=OFF \
+       -DWITH_LIBFMT=system \
        -DWITH_LIBWRAP=OFF \
        -DWITH_MARIABACKUP=ON \
        -DWITH_NUMA=OFF \
@@ -484,11 +467,6 @@ define Package/mariadb-client/install
        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));)
@@ -509,15 +487,11 @@ define Package/mariadb-server-base/install
        $(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
@@ -562,11 +536,6 @@ ifeq ($(1),auth_pam)
          $(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))))
@@ -574,7 +543,6 @@ endef
 
 $(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))