mariadb: move libmariadb into its own package
[feed/packages.git] / utils / mariadb / Makefile
index 8ae1ad09efb8f3b243645bc958c148efaceb5ab9..bca45dc9a141dca7704649ec2a0836a0f41e36cc 100644 (file)
@@ -8,8 +8,8 @@
 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 := \
@@ -18,10 +18,10 @@ 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
 
@@ -39,6 +39,8 @@ CONF_DIR:=/etc/mysql
 PLUGIN_DIR:=/usr/lib/mariadb/plugin
 SHARE_DIR:=/usr/share/mariadb
 
+MARIADB_SOCKET=/var/run/mysqld/mysqld.sock
+
 MARIADB_DISABLE_ENGINES := \
        cassandra \
        example \
@@ -56,16 +58,14 @@ MARIADB_DISABLE_PLUGINS := \
        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 \
@@ -81,24 +81,19 @@ MARIADB_SERVER_PLUGINS := \
        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
@@ -114,8 +109,6 @@ plugin-locales                  := PLUGIN_LOCALES
 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
@@ -144,7 +137,11 @@ MARIADB_SERVER := \
        mysqld
 
 MARIADB_SERVER_EXTRA := \
-       aria* \
+       aria_chk \
+       aria_dump_log \
+       aria_ftdump \
+       aria_pack \
+       aria_read_log \
        mariabackup \
        msql2mysql \
        myisam_ftdump \
@@ -164,7 +161,10 @@ MARIADB_SERVER_EXTRA := \
        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
@@ -195,6 +195,9 @@ 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"
 endef
 
 define Package/mariadb/install/plugin
@@ -205,37 +208,11 @@ define Package/mariadb/description/Default
 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
@@ -289,23 +266,6 @@ $(subst $(space),$(newline),$(MARIADB_CLIENT_EXTRA))
 
 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
@@ -413,9 +373,9 @@ CMAKE_OPTIONS += \
        -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 \
@@ -428,6 +388,7 @@ CMAKE_OPTIONS += \
        -DWITH_LIBARCHIVE=OFF \
        -DWITH_LIBWRAP=OFF \
        -DWITH_MARIABACKUP=ON \
+       -DWITH_NUMA=OFF \
        -DWITH_PCRE=system \
        -DWITH_SAFEMALLOC=OFF \
        -DWITH_SSL=system \
@@ -444,9 +405,13 @@ CMAKE_OPTIONS += \
        -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.
@@ -507,26 +472,9 @@ define Build/Prepare
        $(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
@@ -548,11 +496,6 @@ define Package/mariadb-client-extra/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));)
@@ -576,67 +519,65 @@ define Package/mariadb-server-base/install
        $(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,))