You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

634 lines
20 KiB

mariadb: improve packaging and configuration At present there are some flaws related to configuration, also related to the packaging of mariadb. For starters there are complaints that the configuration is too static. To address this a new configuration layout is introduced. The primary configuration file (my.cnf) is changed so that it now only includes further configuration files in the directory /etc/mysql/conf.d. More default configuration files are added for the server and the client. This is the new default configuration. With these changes it's possible for the user to select if they want to change the default configuration (in conf.d/*.cnf) or if they want to drop their own files into conf.d instead. If the user .cnf files are read after the default .cnf files (files are included in alphabetical order), they will overwrite the settings from the default configuration. The other flaw is that the my.cnf file is included in mariadb-server. But that doesn't really fit the requirements, as the client also uses the configuration file(s). To accomodate this a new package mariadb-common is added. It installs the shared my.cnf file. The remaining changes add base packages, both for the server and the client. These are meant as foundation for the packages containing the respective binaries. In summary they will install the configuration, small miscellaneous files (SQL scripts etc.) and the user "mariadb". That means that everything is ready for the binaries, like mysql and mysqld. If there is not enough space left on flash memory, the user can just drop the binaries on a pendrive, link them to /usr/bin and get started. The ideas and configuration files were copied from Debian. Some amendments were made. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
6 years ago
mariadb: improve packaging and configuration At present there are some flaws related to configuration, also related to the packaging of mariadb. For starters there are complaints that the configuration is too static. To address this a new configuration layout is introduced. The primary configuration file (my.cnf) is changed so that it now only includes further configuration files in the directory /etc/mysql/conf.d. More default configuration files are added for the server and the client. This is the new default configuration. With these changes it's possible for the user to select if they want to change the default configuration (in conf.d/*.cnf) or if they want to drop their own files into conf.d instead. If the user .cnf files are read after the default .cnf files (files are included in alphabetical order), they will overwrite the settings from the default configuration. The other flaw is that the my.cnf file is included in mariadb-server. But that doesn't really fit the requirements, as the client also uses the configuration file(s). To accomodate this a new package mariadb-common is added. It installs the shared my.cnf file. The remaining changes add base packages, both for the server and the client. These are meant as foundation for the packages containing the respective binaries. In summary they will install the configuration, small miscellaneous files (SQL scripts etc.) and the user "mariadb". That means that everything is ready for the binaries, like mysql and mysqld. If there is not enough space left on flash memory, the user can just drop the binaries on a pendrive, link them to /usr/bin and get started. The ideas and configuration files were copied from Debian. Some amendments were made. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
6 years ago
mariadb: improve packaging and configuration At present there are some flaws related to configuration, also related to the packaging of mariadb. For starters there are complaints that the configuration is too static. To address this a new configuration layout is introduced. The primary configuration file (my.cnf) is changed so that it now only includes further configuration files in the directory /etc/mysql/conf.d. More default configuration files are added for the server and the client. This is the new default configuration. With these changes it's possible for the user to select if they want to change the default configuration (in conf.d/*.cnf) or if they want to drop their own files into conf.d instead. If the user .cnf files are read after the default .cnf files (files are included in alphabetical order), they will overwrite the settings from the default configuration. The other flaw is that the my.cnf file is included in mariadb-server. But that doesn't really fit the requirements, as the client also uses the configuration file(s). To accomodate this a new package mariadb-common is added. It installs the shared my.cnf file. The remaining changes add base packages, both for the server and the client. These are meant as foundation for the packages containing the respective binaries. In summary they will install the configuration, small miscellaneous files (SQL scripts etc.) and the user "mariadb". That means that everything is ready for the binaries, like mysql and mysqld. If there is not enough space left on flash memory, the user can just drop the binaries on a pendrive, link them to /usr/bin and get started. The ideas and configuration files were copied from Debian. Some amendments were made. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
6 years ago
mariadb: improve packaging and configuration At present there are some flaws related to configuration, also related to the packaging of mariadb. For starters there are complaints that the configuration is too static. To address this a new configuration layout is introduced. The primary configuration file (my.cnf) is changed so that it now only includes further configuration files in the directory /etc/mysql/conf.d. More default configuration files are added for the server and the client. This is the new default configuration. With these changes it's possible for the user to select if they want to change the default configuration (in conf.d/*.cnf) or if they want to drop their own files into conf.d instead. If the user .cnf files are read after the default .cnf files (files are included in alphabetical order), they will overwrite the settings from the default configuration. The other flaw is that the my.cnf file is included in mariadb-server. But that doesn't really fit the requirements, as the client also uses the configuration file(s). To accomodate this a new package mariadb-common is added. It installs the shared my.cnf file. The remaining changes add base packages, both for the server and the client. These are meant as foundation for the packages containing the respective binaries. In summary they will install the configuration, small miscellaneous files (SQL scripts etc.) and the user "mariadb". That means that everything is ready for the binaries, like mysql and mysqld. If there is not enough space left on flash memory, the user can just drop the binaries on a pendrive, link them to /usr/bin and get started. The ideas and configuration files were copied from Debian. Some amendments were made. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
6 years ago
mariadb: improve packaging and configuration At present there are some flaws related to configuration, also related to the packaging of mariadb. For starters there are complaints that the configuration is too static. To address this a new configuration layout is introduced. The primary configuration file (my.cnf) is changed so that it now only includes further configuration files in the directory /etc/mysql/conf.d. More default configuration files are added for the server and the client. This is the new default configuration. With these changes it's possible for the user to select if they want to change the default configuration (in conf.d/*.cnf) or if they want to drop their own files into conf.d instead. If the user .cnf files are read after the default .cnf files (files are included in alphabetical order), they will overwrite the settings from the default configuration. The other flaw is that the my.cnf file is included in mariadb-server. But that doesn't really fit the requirements, as the client also uses the configuration file(s). To accomodate this a new package mariadb-common is added. It installs the shared my.cnf file. The remaining changes add base packages, both for the server and the client. These are meant as foundation for the packages containing the respective binaries. In summary they will install the configuration, small miscellaneous files (SQL scripts etc.) and the user "mariadb". That means that everything is ready for the binaries, like mysql and mysqld. If there is not enough space left on flash memory, the user can just drop the binaries on a pendrive, link them to /usr/bin and get started. The ideas and configuration files were copied from Debian. Some amendments were made. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
6 years ago
mariadb: improve packaging and configuration At present there are some flaws related to configuration, also related to the packaging of mariadb. For starters there are complaints that the configuration is too static. To address this a new configuration layout is introduced. The primary configuration file (my.cnf) is changed so that it now only includes further configuration files in the directory /etc/mysql/conf.d. More default configuration files are added for the server and the client. This is the new default configuration. With these changes it's possible for the user to select if they want to change the default configuration (in conf.d/*.cnf) or if they want to drop their own files into conf.d instead. If the user .cnf files are read after the default .cnf files (files are included in alphabetical order), they will overwrite the settings from the default configuration. The other flaw is that the my.cnf file is included in mariadb-server. But that doesn't really fit the requirements, as the client also uses the configuration file(s). To accomodate this a new package mariadb-common is added. It installs the shared my.cnf file. The remaining changes add base packages, both for the server and the client. These are meant as foundation for the packages containing the respective binaries. In summary they will install the configuration, small miscellaneous files (SQL scripts etc.) and the user "mariadb". That means that everything is ready for the binaries, like mysql and mysqld. If there is not enough space left on flash memory, the user can just drop the binaries on a pendrive, link them to /usr/bin and get started. The ideas and configuration files were copied from Debian. Some amendments were made. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
6 years ago
mariadb: improve packaging and configuration At present there are some flaws related to configuration, also related to the packaging of mariadb. For starters there are complaints that the configuration is too static. To address this a new configuration layout is introduced. The primary configuration file (my.cnf) is changed so that it now only includes further configuration files in the directory /etc/mysql/conf.d. More default configuration files are added for the server and the client. This is the new default configuration. With these changes it's possible for the user to select if they want to change the default configuration (in conf.d/*.cnf) or if they want to drop their own files into conf.d instead. If the user .cnf files are read after the default .cnf files (files are included in alphabetical order), they will overwrite the settings from the default configuration. The other flaw is that the my.cnf file is included in mariadb-server. But that doesn't really fit the requirements, as the client also uses the configuration file(s). To accomodate this a new package mariadb-common is added. It installs the shared my.cnf file. The remaining changes add base packages, both for the server and the client. These are meant as foundation for the packages containing the respective binaries. In summary they will install the configuration, small miscellaneous files (SQL scripts etc.) and the user "mariadb". That means that everything is ready for the binaries, like mysql and mysqld. If there is not enough space left on flash memory, the user can just drop the binaries on a pendrive, link them to /usr/bin and get started. The ideas and configuration files were copied from Debian. Some amendments were made. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
6 years ago
mariadb: improve packaging and configuration At present there are some flaws related to configuration, also related to the packaging of mariadb. For starters there are complaints that the configuration is too static. To address this a new configuration layout is introduced. The primary configuration file (my.cnf) is changed so that it now only includes further configuration files in the directory /etc/mysql/conf.d. More default configuration files are added for the server and the client. This is the new default configuration. With these changes it's possible for the user to select if they want to change the default configuration (in conf.d/*.cnf) or if they want to drop their own files into conf.d instead. If the user .cnf files are read after the default .cnf files (files are included in alphabetical order), they will overwrite the settings from the default configuration. The other flaw is that the my.cnf file is included in mariadb-server. But that doesn't really fit the requirements, as the client also uses the configuration file(s). To accomodate this a new package mariadb-common is added. It installs the shared my.cnf file. The remaining changes add base packages, both for the server and the client. These are meant as foundation for the packages containing the respective binaries. In summary they will install the configuration, small miscellaneous files (SQL scripts etc.) and the user "mariadb". That means that everything is ready for the binaries, like mysql and mysqld. If there is not enough space left on flash memory, the user can just drop the binaries on a pendrive, link them to /usr/bin and get started. The ideas and configuration files were copied from Debian. Some amendments were made. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
6 years ago
mariadb: improve packaging and configuration At present there are some flaws related to configuration, also related to the packaging of mariadb. For starters there are complaints that the configuration is too static. To address this a new configuration layout is introduced. The primary configuration file (my.cnf) is changed so that it now only includes further configuration files in the directory /etc/mysql/conf.d. More default configuration files are added for the server and the client. This is the new default configuration. With these changes it's possible for the user to select if they want to change the default configuration (in conf.d/*.cnf) or if they want to drop their own files into conf.d instead. If the user .cnf files are read after the default .cnf files (files are included in alphabetical order), they will overwrite the settings from the default configuration. The other flaw is that the my.cnf file is included in mariadb-server. But that doesn't really fit the requirements, as the client also uses the configuration file(s). To accomodate this a new package mariadb-common is added. It installs the shared my.cnf file. The remaining changes add base packages, both for the server and the client. These are meant as foundation for the packages containing the respective binaries. In summary they will install the configuration, small miscellaneous files (SQL scripts etc.) and the user "mariadb". That means that everything is ready for the binaries, like mysql and mysqld. If there is not enough space left on flash memory, the user can just drop the binaries on a pendrive, link them to /usr/bin and get started. The ideas and configuration files were copied from Debian. Some amendments were made. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
6 years ago
mariadb: improve packaging and configuration At present there are some flaws related to configuration, also related to the packaging of mariadb. For starters there are complaints that the configuration is too static. To address this a new configuration layout is introduced. The primary configuration file (my.cnf) is changed so that it now only includes further configuration files in the directory /etc/mysql/conf.d. More default configuration files are added for the server and the client. This is the new default configuration. With these changes it's possible for the user to select if they want to change the default configuration (in conf.d/*.cnf) or if they want to drop their own files into conf.d instead. If the user .cnf files are read after the default .cnf files (files are included in alphabetical order), they will overwrite the settings from the default configuration. The other flaw is that the my.cnf file is included in mariadb-server. But that doesn't really fit the requirements, as the client also uses the configuration file(s). To accomodate this a new package mariadb-common is added. It installs the shared my.cnf file. The remaining changes add base packages, both for the server and the client. These are meant as foundation for the packages containing the respective binaries. In summary they will install the configuration, small miscellaneous files (SQL scripts etc.) and the user "mariadb". That means that everything is ready for the binaries, like mysql and mysqld. If there is not enough space left on flash memory, the user can just drop the binaries on a pendrive, link them to /usr/bin and get started. The ideas and configuration files were copied from Debian. Some amendments were made. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
6 years ago
mariadb: improve packaging and configuration At present there are some flaws related to configuration, also related to the packaging of mariadb. For starters there are complaints that the configuration is too static. To address this a new configuration layout is introduced. The primary configuration file (my.cnf) is changed so that it now only includes further configuration files in the directory /etc/mysql/conf.d. More default configuration files are added for the server and the client. This is the new default configuration. With these changes it's possible for the user to select if they want to change the default configuration (in conf.d/*.cnf) or if they want to drop their own files into conf.d instead. If the user .cnf files are read after the default .cnf files (files are included in alphabetical order), they will overwrite the settings from the default configuration. The other flaw is that the my.cnf file is included in mariadb-server. But that doesn't really fit the requirements, as the client also uses the configuration file(s). To accomodate this a new package mariadb-common is added. It installs the shared my.cnf file. The remaining changes add base packages, both for the server and the client. These are meant as foundation for the packages containing the respective binaries. In summary they will install the configuration, small miscellaneous files (SQL scripts etc.) and the user "mariadb". That means that everything is ready for the binaries, like mysql and mysqld. If there is not enough space left on flash memory, the user can just drop the binaries on a pendrive, link them to /usr/bin and get started. The ideas and configuration files were copied from Debian. Some amendments were made. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
6 years ago
mariadb: improve packaging and configuration At present there are some flaws related to configuration, also related to the packaging of mariadb. For starters there are complaints that the configuration is too static. To address this a new configuration layout is introduced. The primary configuration file (my.cnf) is changed so that it now only includes further configuration files in the directory /etc/mysql/conf.d. More default configuration files are added for the server and the client. This is the new default configuration. With these changes it's possible for the user to select if they want to change the default configuration (in conf.d/*.cnf) or if they want to drop their own files into conf.d instead. If the user .cnf files are read after the default .cnf files (files are included in alphabetical order), they will overwrite the settings from the default configuration. The other flaw is that the my.cnf file is included in mariadb-server. But that doesn't really fit the requirements, as the client also uses the configuration file(s). To accomodate this a new package mariadb-common is added. It installs the shared my.cnf file. The remaining changes add base packages, both for the server and the client. These are meant as foundation for the packages containing the respective binaries. In summary they will install the configuration, small miscellaneous files (SQL scripts etc.) and the user "mariadb". That means that everything is ready for the binaries, like mysql and mysqld. If there is not enough space left on flash memory, the user can just drop the binaries on a pendrive, link them to /usr/bin and get started. The ideas and configuration files were copied from Debian. Some amendments were made. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
6 years ago
mariadb: improve packaging and configuration At present there are some flaws related to configuration, also related to the packaging of mariadb. For starters there are complaints that the configuration is too static. To address this a new configuration layout is introduced. The primary configuration file (my.cnf) is changed so that it now only includes further configuration files in the directory /etc/mysql/conf.d. More default configuration files are added for the server and the client. This is the new default configuration. With these changes it's possible for the user to select if they want to change the default configuration (in conf.d/*.cnf) or if they want to drop their own files into conf.d instead. If the user .cnf files are read after the default .cnf files (files are included in alphabetical order), they will overwrite the settings from the default configuration. The other flaw is that the my.cnf file is included in mariadb-server. But that doesn't really fit the requirements, as the client also uses the configuration file(s). To accomodate this a new package mariadb-common is added. It installs the shared my.cnf file. The remaining changes add base packages, both for the server and the client. These are meant as foundation for the packages containing the respective binaries. In summary they will install the configuration, small miscellaneous files (SQL scripts etc.) and the user "mariadb". That means that everything is ready for the binaries, like mysql and mysqld. If there is not enough space left on flash memory, the user can just drop the binaries on a pendrive, link them to /usr/bin and get started. The ideas and configuration files were copied from Debian. Some amendments were made. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
6 years ago
mariadb: improve packaging and configuration At present there are some flaws related to configuration, also related to the packaging of mariadb. For starters there are complaints that the configuration is too static. To address this a new configuration layout is introduced. The primary configuration file (my.cnf) is changed so that it now only includes further configuration files in the directory /etc/mysql/conf.d. More default configuration files are added for the server and the client. This is the new default configuration. With these changes it's possible for the user to select if they want to change the default configuration (in conf.d/*.cnf) or if they want to drop their own files into conf.d instead. If the user .cnf files are read after the default .cnf files (files are included in alphabetical order), they will overwrite the settings from the default configuration. The other flaw is that the my.cnf file is included in mariadb-server. But that doesn't really fit the requirements, as the client also uses the configuration file(s). To accomodate this a new package mariadb-common is added. It installs the shared my.cnf file. The remaining changes add base packages, both for the server and the client. These are meant as foundation for the packages containing the respective binaries. In summary they will install the configuration, small miscellaneous files (SQL scripts etc.) and the user "mariadb". That means that everything is ready for the binaries, like mysql and mysqld. If there is not enough space left on flash memory, the user can just drop the binaries on a pendrive, link them to /usr/bin and get started. The ideas and configuration files were copied from Debian. Some amendments were made. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
6 years ago
mariadb: improve packaging and configuration At present there are some flaws related to configuration, also related to the packaging of mariadb. For starters there are complaints that the configuration is too static. To address this a new configuration layout is introduced. The primary configuration file (my.cnf) is changed so that it now only includes further configuration files in the directory /etc/mysql/conf.d. More default configuration files are added for the server and the client. This is the new default configuration. With these changes it's possible for the user to select if they want to change the default configuration (in conf.d/*.cnf) or if they want to drop their own files into conf.d instead. If the user .cnf files are read after the default .cnf files (files are included in alphabetical order), they will overwrite the settings from the default configuration. The other flaw is that the my.cnf file is included in mariadb-server. But that doesn't really fit the requirements, as the client also uses the configuration file(s). To accomodate this a new package mariadb-common is added. It installs the shared my.cnf file. The remaining changes add base packages, both for the server and the client. These are meant as foundation for the packages containing the respective binaries. In summary they will install the configuration, small miscellaneous files (SQL scripts etc.) and the user "mariadb". That means that everything is ready for the binaries, like mysql and mysqld. If there is not enough space left on flash memory, the user can just drop the binaries on a pendrive, link them to /usr/bin and get started. The ideas and configuration files were copied from Debian. Some amendments were made. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
6 years ago
mariadb: improve packaging and configuration At present there are some flaws related to configuration, also related to the packaging of mariadb. For starters there are complaints that the configuration is too static. To address this a new configuration layout is introduced. The primary configuration file (my.cnf) is changed so that it now only includes further configuration files in the directory /etc/mysql/conf.d. More default configuration files are added for the server and the client. This is the new default configuration. With these changes it's possible for the user to select if they want to change the default configuration (in conf.d/*.cnf) or if they want to drop their own files into conf.d instead. If the user .cnf files are read after the default .cnf files (files are included in alphabetical order), they will overwrite the settings from the default configuration. The other flaw is that the my.cnf file is included in mariadb-server. But that doesn't really fit the requirements, as the client also uses the configuration file(s). To accomodate this a new package mariadb-common is added. It installs the shared my.cnf file. The remaining changes add base packages, both for the server and the client. These are meant as foundation for the packages containing the respective binaries. In summary they will install the configuration, small miscellaneous files (SQL scripts etc.) and the user "mariadb". That means that everything is ready for the binaries, like mysql and mysqld. If there is not enough space left on flash memory, the user can just drop the binaries on a pendrive, link them to /usr/bin and get started. The ideas and configuration files were copied from Debian. Some amendments were made. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
6 years ago
mariadb: improve packaging and configuration At present there are some flaws related to configuration, also related to the packaging of mariadb. For starters there are complaints that the configuration is too static. To address this a new configuration layout is introduced. The primary configuration file (my.cnf) is changed so that it now only includes further configuration files in the directory /etc/mysql/conf.d. More default configuration files are added for the server and the client. This is the new default configuration. With these changes it's possible for the user to select if they want to change the default configuration (in conf.d/*.cnf) or if they want to drop their own files into conf.d instead. If the user .cnf files are read after the default .cnf files (files are included in alphabetical order), they will overwrite the settings from the default configuration. The other flaw is that the my.cnf file is included in mariadb-server. But that doesn't really fit the requirements, as the client also uses the configuration file(s). To accomodate this a new package mariadb-common is added. It installs the shared my.cnf file. The remaining changes add base packages, both for the server and the client. These are meant as foundation for the packages containing the respective binaries. In summary they will install the configuration, small miscellaneous files (SQL scripts etc.) and the user "mariadb". That means that everything is ready for the binaries, like mysql and mysqld. If there is not enough space left on flash memory, the user can just drop the binaries on a pendrive, link them to /usr/bin and get started. The ideas and configuration files were copied from Debian. Some amendments were made. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
6 years ago
  1. #
  2. # Copyright (C) 2018 Sebastian Kemper <sebastian_ml@gmx.net>
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=mariadb
  9. PKG_VERSION:=10.2.19
  10. PKG_RELEASE:=3
  11. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  12. PKG_SOURCE_URL := \
  13. https://mirror.netcologne.de/mariadb/$(PKG_NAME)-$(PKG_VERSION)/source \
  14. https://mirror.lstn.net/mariadb/$(PKG_NAME)-$(PKG_VERSION)/source \
  15. https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/$(PKG_NAME)-$(PKG_VERSION)/source \
  16. https://downloads.mariadb.org/interstitial/$(PKG_NAME)-$(PKG_VERSION)/source
  17. PKG_HASH:=c0e103cfd73ee96d58402073e9513f0f7b5c0bd216641faecc8d763fb6529727
  18. PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net>
  19. PKG_LICENSE:=GPL-2.0 LGPL-2.1
  20. PKG_LICENSE_FILES:=COPYING libmariadb/COPYING.LIB
  21. HOST_BUILD_PARALLEL:=1
  22. PKG_BUILD_PARALLEL:=1
  23. PKG_USE_MIPS16:=0
  24. HOST_BUILD_DEPENDS:=libxml2/host
  25. # Without libevent2 tests/async_queries sporadically fails on the bots
  26. PKG_BUILD_DEPENDS:=libevent2 mariadb/host
  27. CMAKE_INSTALL:=1
  28. CONF_DIR:=/etc/mysql
  29. PLUGIN_DIR:=/usr/lib/mariadb/plugin
  30. SHARE_DIR:=/usr/share/mariadb
  31. MARIADB_DISABLE_ENGINES := \
  32. cassandra \
  33. example \
  34. mroonga \
  35. oqgraph \
  36. rocksdb \
  37. test_sql_discovery \
  38. tokudb
  39. MARIADB_DISABLE_PLUGINS := \
  40. audit_null \
  41. auth_examples \
  42. aws_key_management \
  43. cracklib_password_check \
  44. daemon_example \
  45. debug_key_management \
  46. example_key_management \
  47. fulltext
  48. MARIADB_LIB_PLUGINS := \
  49. auth_gssapi_client
  50. MARIADB_SERVER_PLUGINS := \
  51. auth_ed25519 \
  52. auth_gssapi \
  53. auth_pam \
  54. client_ed25519 \
  55. disks \
  56. feedback \
  57. file_key_management \
  58. ha_archive \
  59. ha_blackhole \
  60. ha_connect \
  61. ha_federated \
  62. ha_federatedx \
  63. ha_sphinx \
  64. ha_spider \
  65. handlersocket \
  66. locales \
  67. metadata_lock_info \
  68. query_cache_info \
  69. query_response_time \
  70. semisync_master \
  71. semisync_slave \
  72. server_audit \
  73. simple_password_check \
  74. sql_errlog \
  75. wsrep_info
  76. PKG_CONFIG_DEPENDS := \
  77. $(patsubst %,CONFIG_PACKAGE_lib$(PKG_NAME)-plugin-%,$(subst _,-,$(MARIADB_LIB_PLUGINS))) \
  78. $(patsubst %,CONFIG_PACKAGE_$(PKG_NAME)-server-plugin-%,$(subst _,-,$(MARIADB_SERVER_PLUGINS))) \
  79. CONFIG_PACKAGE_mariadb-server
  80. plugin-auth_gssapi_client := PLUGIN_AUTH_GSSAPI_CLIENT
  81. plugin-auth_ed25519 := PLUGIN_AUTH_ED25519
  82. plugin-auth_gssapi := PLUGIN_AUTH_GSSAPI
  83. plugin-auth_pam := PLUGIN_AUTH_PAM
  84. plugin-client_ed25519 := PLUGIN_CLIENT_ED25519
  85. plugin-disks := PLUGIN_DISKS
  86. plugin-feedback := PLUGIN_FEEDBACK
  87. plugin-file_key_management := PLUGIN_FILE_KEY_MANAGEMENT
  88. plugin-ha_archive := PLUGIN_ARCHIVE
  89. plugin-ha_blackhole := PLUGIN_BLACKHOLE
  90. plugin-ha_connect := PLUGIN_CONNECT
  91. plugin-ha_federated := PLUGIN_FEDERATED
  92. plugin-ha_federatedx := PLUGIN_FEDERATEDX
  93. plugin-ha_sphinx := PLUGIN_SPHINX
  94. plugin-ha_spider := PLUGIN_SPIDER
  95. plugin-handlersocket := PLUGIN_HANDLERSOCKET
  96. plugin-locales := PLUGIN_LOCALES
  97. plugin-metadata_lock_info := PLUGIN_METADATA_LOCK_INFO
  98. plugin-query_cache_info := PLUGIN_QUERY_CACHE_INFO
  99. plugin-query_response_time := PLUGIN_QUERY_RESPONSE_TIME
  100. plugin-semisync_master := PLUGIN_SEMISYNC_MASTER
  101. plugin-semisync_slave := PLUGIN_SEMISYNC_SLAVE
  102. plugin-server_audit := PLUGIN_SERVER_AUDIT
  103. plugin-simple_password_check := PLUGIN_SIMPLE_PASSWORD_CHECK
  104. plugin-sql_errlog := PLUGIN_SQL_ERRLOG
  105. plugin-wsrep_info := PLUGIN_WSREP_INFO
  106. MARIADB_CLIENT := \
  107. mysql \
  108. mysqlcheck
  109. MARIADB_CLIENT_EXTRA := \
  110. mysql_find_rows \
  111. mysql_waitpid \
  112. mysqlaccess \
  113. mysqladmin \
  114. mysqldump \
  115. mysqlimport \
  116. mysqlshow \
  117. mysqlslap \
  118. mytop
  119. MARIADB_SERVER := \
  120. innochecksum \
  121. my_print_defaults \
  122. mysql_install_db \
  123. mysql_upgrade \
  124. mysqld
  125. MARIADB_SERVER_EXTRA := \
  126. aria* \
  127. mariabackup \
  128. msql2mysql \
  129. myisam_ftdump \
  130. myisamchk \
  131. myisamlog \
  132. myisampack \
  133. mysql_convert_table_format \
  134. mysql_fix_extensions \
  135. mysql_plugin \
  136. mysql_secure_installation \
  137. mysql_setpermission \
  138. mysql_tzinfo_to_sql \
  139. mysqlbinlog \
  140. mysqld_multi \
  141. mysqldumpslow \
  142. mysqlhotcopy \
  143. perror \
  144. replace \
  145. resolve_stack_dump \
  146. wsrep_sst_*
  147. include $(INCLUDE_DIR)/package.mk
  148. include $(INCLUDE_DIR)/host-build.mk
  149. include $(INCLUDE_DIR)/cmake.mk
  150. include $(INCLUDE_DIR)/nls.mk
  151. MARIADB_COMMON_DEPENDS := \
  152. $(ICONV_DEPENDS) \
  153. +libatomic \
  154. +libopenssl \
  155. +libstdcpp \
  156. +zlib
  157. # Pass CPPFLAGS in the CFLAGS as otherwise the build system will
  158. # ignore them.
  159. TARGET_CFLAGS+=$(TARGET_CPPFLAGS)
  160. define Package/mariadb/disable/engine
  161. echo > $(1)/storage/$(2)/CMakeLists.txt
  162. endef
  163. define Package/mariadb/disable/plugin
  164. echo > $(1)/plugin/$(2)/CMakeLists.txt
  165. endef
  166. define Package/mariadb/install/bin
  167. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(2) $(1)/usr/bin
  168. endef
  169. define Package/mariadb/install/plugin
  170. $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/$(2).so $(1)$(PLUGIN_DIR)
  171. endef
  172. define Package/mariadb/description/Default
  173. MariaDB is a fast, stable and true multi-user, multi-threaded SQL
  174. database server. SQL (Structured Query Language) is the most popular
  175. database query language in the world. The main goals of MariaDB are
  176. speed, robustness and ease of use.
  177. endef
  178. define Package/libmariadb/Default
  179. SECTION:=libs
  180. CATEGORY:=Libraries
  181. URL:=https://mariadb.org/
  182. endef
  183. define Package/libmariadb
  184. $(call Package/libmariadb/Default)
  185. DEPENDS:=$(MARIADB_COMMON_DEPENDS)
  186. TITLE:=MariaDB database client library
  187. MENU:=1
  188. PROVIDES:=libmariadbclient libmysqlclient libmysqlclient-r
  189. endef
  190. define Package/libmariadb/description
  191. $(call Package/mariadb/description/Default)
  192. This package includes the client library.
  193. endef
  194. define Package/mariadb/Default
  195. SECTION:=utils
  196. CATEGORY:=Utilities
  197. URL:=https://mariadb.org/
  198. SUBMENU:=database
  199. endef
  200. define Package/mariadb-client
  201. $(call Package/mariadb/Default)
  202. TITLE:=MariaDB database client
  203. MENU:=1
  204. DEPENDS:=mariadb-client-base
  205. endef
  206. define Package/mariadb-client/description
  207. $(call Package/mariadb/description/Default)
  208. This package includes the following core client binaries:
  209. $(subst $(space),$(newline),$(MARIADB_CLIENT))
  210. endef
  211. define Package/mariadb-client-base
  212. $(call Package/mariadb/Default)
  213. TITLE:=MariaDB database client base
  214. DEPENDS:=mariadb-common \
  215. $(MARIADB_COMMON_DEPENDS) \
  216. +libedit
  217. endef
  218. define Package/mariadb-client-base/conffiles
  219. $(CONF_DIR)/conf.d/50-client.cnf
  220. $(CONF_DIR)/conf.d/50-mysql-clients.cnf
  221. endef
  222. define Package/mariadb-client-base/description
  223. $(call Package/mariadb/description/Default)
  224. This package provides the foundation for mariadb-client. It installs the
  225. configuration and the dependencies.
  226. endef
  227. define Package/mariadb-client-extra
  228. $(call Package/mariadb/Default)
  229. TITLE:=MariaDB database client extra
  230. DEPENDS:=mariadb-client
  231. endef
  232. define Package/mariadb-client-extra/description
  233. $(call Package/mariadb/description/Default)
  234. This package includes the following extra client binaries:
  235. $(subst $(space),$(newline),$(MARIADB_CLIENT_EXTRA))
  236. endef
  237. define Package/mariadb-common
  238. $(call Package/mariadb/Default)
  239. TITLE:=MariaDB database common files
  240. DEPENDS:=
  241. endef
  242. define Package/mariadb-common/conffiles
  243. $(CONF_DIR)/my.cnf
  244. endef
  245. define Package/mariadb-common/description
  246. $(call Package/mariadb/description/Default)
  247. This package includes shared files, for example $(CONF_DIR)/my.cnf.
  248. endef
  249. define Package/mariadb-server
  250. $(call Package/mariadb/Default)
  251. DEPENDS:=mariadb-server-base
  252. TITLE:=MariaDB database server
  253. MENU:=1
  254. PROVIDES:=mysql-server
  255. endef
  256. define Package/mariadb-server/description
  257. $(call Package/mariadb/description/Default)
  258. This package includes the following core server binaries:
  259. $(subst $(space),$(newline),$(MARIADB_SERVER))
  260. endef
  261. define Package/mariadb-server-base
  262. $(call Package/mariadb/Default)
  263. DEPENDS:=mariadb-common \
  264. $(MARIADB_COMMON_DEPENDS) \
  265. +!arc:libaio \
  266. +liblzma \
  267. +libpcre \
  268. +resolveip
  269. TITLE:=MariaDB database server base
  270. USERID:=mariadb=376:mariadb=376
  271. endef
  272. define Package/mariadb-server-base/conffiles
  273. $(CONF_DIR)/conf.d/50-server.cnf
  274. $(CONF_DIR)/conf.d/60-galera.cnf
  275. /etc/config/mysqld
  276. endef
  277. define Package/mariadb-server-base/description
  278. $(call Package/mariadb/description/Default)
  279. This package provides the foundation for mariadb-server. It installs the
  280. init script, support files (configuration etc.), the user "mariadb" and
  281. the dependencies.
  282. endef
  283. define Package/mariadb-server-extra
  284. $(call Package/mariadb/Default)
  285. TITLE:=MariaDB database server extra
  286. DEPENDS:=mariadb-server
  287. endef
  288. define Package/mariadb-server-extra/description
  289. $(call Package/mariadb/description/Default)
  290. This package includes the following extra server binaries:
  291. $(subst $(space),$(newline),$(MARIADB_SERVER_EXTRA))
  292. endef
  293. # We won't need unit tests
  294. CMAKE_OPTIONS += -DWITH_UNIT_TESTS=0
  295. # This value is determined automatically during straight compile by compiling
  296. # and running a test code. You cannot do that during cross-compile. However the
  297. # stack grows downward in most if not all modern systems. The only exception
  298. # according to buildroot is PA-RISC which is not supported by OpenWrt as far as
  299. # I know. Therefore it makes sense to hardcode the value. If an arch is added
  300. # the stack of which grows up one should expect unpredictable behavior at run
  301. # time.
  302. CMAKE_OPTIONS += -DSTACK_DIRECTION=-1
  303. # Make it explicit that we are cross-compiling
  304. CMAKE_OPTIONS += -DCMAKE_CROSSCOMPILING=1
  305. # Explicitly disable dtrace to avoid detection of a host version
  306. CMAKE_OPTIONS += -DENABLE_DTRACE=0
  307. # Prevent MariaDB from messing with OpenWrt's C(XX)FLAGS
  308. CMAKE_OPTIONS += -DSECURITY_HARDENED=OFF
  309. ifeq ($(CONFIG_PACKAGE_mariadb-server),)
  310. CMAKE_OPTIONS += -DWITHOUT_SERVER=ON
  311. else
  312. # Enable the auth_socket plugin and let unix user root access MariaDB without a
  313. # separate password.
  314. CMAKE_OPTIONS += -DWITHOUT_SERVER=OFF -DPLUGIN_AUTH_SOCKET=STATIC
  315. endif
  316. CMAKE_OPTIONS += \
  317. -DCONNECT_WITH_JDBC=NO \
  318. -DCONNECT_WITH_LIBXML2=system \
  319. -DCONNECT_WITH_MONGO=NO \
  320. -DCONNECT_WITH_ODBC=NO \
  321. -DDISABLE_SHARED=NO \
  322. -DENABLED_PROFILING=OFF \
  323. -DENABLE_STATIC_LIBS=OFF \
  324. -DINSTALL_DOCDIR=share/doc/mariadb \
  325. -DINSTALL_DOCREADMEDIR=share/doc/mariadb \
  326. -DINSTALL_INFODIR=share/info \
  327. -DINSTALL_MANDIR=share/man \
  328. -DINSTALL_MYSQLSHAREDIR=share/mariadb \
  329. -DINSTALL_MYSQLTESTDIR="" \
  330. -DINSTALL_PLUGINDIR=lib/mariadb/plugin \
  331. -DINSTALL_SBINDIR=bin \
  332. -DINSTALL_SCRIPTDIR=bin \
  333. -DINSTALL_SQLBENCHDIR="" \
  334. -DINSTALL_SUPPORTFILESDIR=share/mariadb \
  335. -DINSTALL_UNIX_ADDRDIR=/var/run/mysqld/mysqld.sock \
  336. -DMYSQL_DATADIR=/var/lib/mysql \
  337. -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \
  338. -DSKIP_TESTS=ON \
  339. -DWITH_DEBUG=OFF \
  340. -DWITH_EMBEDDED_SERVER=OFF \
  341. -DWITH_INNODB_BZIP2=OFF \
  342. -DWITH_INNODB_LZ4=OFF \
  343. -DWITH_INNODB_LZMA=ON \
  344. -DWITH_INNODB_LZO=OFF \
  345. -DWITH_INNODB_SNAPPY=OFF \
  346. -DWITH_JEMALLOC=OFF \
  347. -DWITH_LIBARCHIVE=OFF \
  348. -DWITH_LIBWRAP=OFF \
  349. -DWITH_MARIABACKUP=ON \
  350. -DWITH_PCRE=system \
  351. -DWITH_SAFEMALLOC=OFF \
  352. -DWITH_SSL=system \
  353. -DWITH_SYSTEMD=no \
  354. -DWITH_VALGRIND=OFF \
  355. -DWITH_ZLIB=system
  356. # Help MariaDB find the correct libiconv.
  357. # nls.mk sets it up so that with CONFIG_BUILD_NLS libiconv-full would be used,
  358. # otherwise libiconv-stub (independent of the selected libc). MariaDB needs a
  359. # leg up to find/pick the right lib.
  360. CMAKE_OPTIONS += \
  361. -DICONV_INCLUDE_DIR=$(ICONV_PREFIX)/include \
  362. -DICONV_LIBRARIES=$(ICONV_PREFIX)/lib/libiconv.$(if $(CONFIG_BUILD_NLS),so,a)
  363. CMAKE_OPTIONS += \
  364. $(foreach p,$(MARIADB_LIB_PLUGINS),-D$(plugin-$(p))=$(if $(CONFIG_PACKAGE_lib$(PKG_NAME)-plugin-$(subst _,-,$(p))),DYNAMIC,OFF)) \
  365. $(foreach p,$(MARIADB_SERVER_PLUGINS),-D$(plugin-$(p))=$(if $(CONFIG_PACKAGE_$(PKG_NAME)-server-plugin-$(subst _,-,$(p))),DYNAMIC,NO))
  366. # Set CMAKE_FIND_ROOT_PATH_MODE_INCLUDE and CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
  367. # to BOTH as otherwise the host build will not find some required dependencies
  368. # installed on the host machine, like ncurses.
  369. #
  370. # Add "$(STAGING_DIR_HOSTPKG)/lib" to the RPATH of the host helpers,
  371. # otherwise they might not find the location of a library at run time.
  372. CMAKE_HOST_OPTIONS += \
  373. -DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE \
  374. -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH \
  375. -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=BOTH \
  376. -DCMAKE_INSTALL_RPATH="$(STAGING_DIR_HOSTPKG)/lib" \
  377. -DCMAKE_SKIP_RPATH=FALSE \
  378. -DWITHOUT_SERVER=OFF
  379. # Some helpers must be compiled for host in order to crosscompile MariaDB for
  380. # the target. They are then included by import_executables.cmake which is
  381. # generated during the build of the host helpers. It is not necessary to build
  382. # the whole host package, only the "import_executables" target.
  383. # -DIMPORT_EXECUTABLES=$(HOST_BUILD_DIR)/import_executables.cmake
  384. # must then be passed to cmake during target build.
  385. # See also https://mariadb.com/kb/en/mariadb/cross-compiling-mariadb/
  386. CMAKE_OPTIONS += -DIMPORT_EXECUTABLES=$(STAGING_DIR_HOSTPKG)/share/mariadb/import_executables.cmake
  387. # Disable some engines/plugins here as well - decreases the number of cmake checks.
  388. define Host/Prepare
  389. $(call Host/Prepare/Default)
  390. $(foreach e,$(MARIADB_DISABLE_ENGINES),$(call Package/mariadb/disable/engine,$(HOST_BUILD_DIR),$(e));)
  391. $(foreach p,$(MARIADB_DISABLE_PLUGINS),$(call Package/mariadb/disable/plugin,$(HOST_BUILD_DIR),$(p));)
  392. endef
  393. define Host/Compile
  394. $(call Host/Compile/Default,import_executables)
  395. endef
  396. define Host/Install
  397. $(SED) 's|$(HOST_BUILD_DIR)|$(STAGING_DIR_HOSTPKG)/share/mariadb|' $(HOST_BUILD_DIR)/import_executables.cmake
  398. $(INSTALL_DIR) $(1)/share/mariadb/{dbug,extra,scripts,sql}
  399. $(INSTALL_BIN) $(HOST_BUILD_DIR)/dbug/factorial $(1)/share/mariadb/dbug
  400. $(INSTALL_BIN) $(HOST_BUILD_DIR)/extra/comp_err $(1)/share/mariadb/extra
  401. $(INSTALL_BIN) $(HOST_BUILD_DIR)/scripts/comp_sql $(1)/share/mariadb/scripts
  402. $(INSTALL_BIN) $(HOST_BUILD_DIR)/sql/{gen_lex_hash,gen_lex_token} $(1)/share/mariadb/sql
  403. $(INSTALL_DATA) $(HOST_BUILD_DIR)/import_executables.cmake $(1)/share/mariadb
  404. endef
  405. # LIBICONV_PLUG is used in GNU's libiconv for redefinition of exports [e.g.
  406. # from libiconv_open() to iconv_open()]. But in OpenWrt this variable is not set
  407. # when building libiconv-full. So when MariaDB sets LIBICONV_PLUG it expects
  408. # iconv_open() to be available for example, which is not the case - only
  409. # libiconv_open() is. To address this prevent the variable from being set.
  410. # libiconv-stub does not use this variable, so there is no harm in always doing
  411. # this.
  412. define Build/Prepare
  413. $(call Build/Prepare/Default)
  414. $(SED) '/ADD_DEFINITIONS(-DLIBICONV_PLUG)/d' $(PKG_BUILD_DIR)/libmariadb/libmariadb/CMakeLists.txt
  415. $(foreach e,$(MARIADB_DISABLE_ENGINES),$(call Package/mariadb/disable/engine,$(PKG_BUILD_DIR),$(e));)
  416. $(foreach p,$(MARIADB_DISABLE_PLUGINS),$(call Package/mariadb/disable/plugin,$(PKG_BUILD_DIR),$(p));)
  417. endef
  418. define Build/InstallDev
  419. $(INSTALL_DIR) $(2)/bin $(1)/usr/bin $(1)/usr/include $(1)/usr/lib/mysql $(1)/usr/lib/pkgconfig $(1)/usr/share/aclocal
  420. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql_config $(1)/usr/bin
  421. $(LN) $(STAGING_DIR)/usr/bin/mysql_config $(2)/bin
  422. $(CP) $(PKG_INSTALL_DIR)/usr/include/mysql $(1)/usr/include
  423. $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{mariadb,mysqlclient}*.so* $(1)/usr/lib
  424. cd $(1)/usr/lib/mysql; $(LN) ../lib{mariadb,mysqlclient}*.so* .
  425. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libmariadb.pc $(1)/usr/lib/pkgconfig
  426. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/aclocal/mysql.m4 $(1)/usr/share/aclocal
  427. endef
  428. define Package/libmariadb/install
  429. $(INSTALL_DIR) $(1)$(PLUGIN_DIR)
  430. $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{mariadb,mysqlclient}*.so* $(1)/usr/lib
  431. $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/dialog.so $(1)$(PLUGIN_DIR)
  432. $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/mysql_clear_password.so $(1)$(PLUGIN_DIR)
  433. $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/sha256_password.so $(1)$(PLUGIN_DIR)
  434. endef
  435. define Package/mariadb-client/install
  436. $(INSTALL_DIR) $(1)/usr/bin
  437. $(foreach b,$(MARIADB_CLIENT),$(call Package/mariadb/install/bin,$(1),$(b));)
  438. # Install convenience links for mysqlcheck multi-call binary
  439. cd $(1)/usr/bin; $(LN) mysqlcheck mysqlanalyze
  440. cd $(1)/usr/bin; $(LN) mysqlcheck mysqlrepair
  441. cd $(1)/usr/bin; $(LN) mysqlcheck mysqloptimize
  442. endef
  443. define Package/mariadb-client-base/install
  444. $(INSTALL_DIR) $(1)$(CONF_DIR)/conf.d
  445. $(INSTALL_CONF) conf/50-client.cnf $(1)$(CONF_DIR)/conf.d
  446. $(INSTALL_CONF) conf/50-mysql-clients.cnf $(1)$(CONF_DIR)/conf.d
  447. endef
  448. define Package/mariadb-client-extra/install
  449. $(INSTALL_DIR) $(1)/usr/bin
  450. $(foreach b,$(MARIADB_CLIENT_EXTRA),$(call Package/mariadb/install/bin,$(1),$(b));)
  451. endef
  452. define Package/mariadb-common/install
  453. $(INSTALL_DIR) $(1)$(CONF_DIR)
  454. $(INSTALL_CONF) conf/my.cnf $(1)$(CONF_DIR)
  455. endef
  456. define Package/mariadb-server/install
  457. $(INSTALL_DIR) $(1)/usr/bin
  458. $(foreach b,$(MARIADB_SERVER),$(call Package/mariadb/install/bin,$(1),$(b));)
  459. endef
  460. define Package/mariadb-server-base/install
  461. $(INSTALL_DIR) $(1)$(CONF_DIR)/conf.d
  462. $(INSTALL_DIR) $(1)$(SHARE_DIR)/charsets
  463. $(INSTALL_DIR) $(1)$(SHARE_DIR)/english
  464. $(INSTALL_DIR) $(1)/etc/config
  465. $(INSTALL_DIR) $(1)/etc/init.d
  466. $(INSTALL_BIN) files/mysqld.init $(1)/etc/init.d/mysqld
  467. $(SED) '/^[a-z]/s/^/#/' $(PKG_INSTALL_DIR)$(SHARE_DIR)/wsrep.cnf
  468. $(INSTALL_CONF) $(PKG_INSTALL_DIR)$(SHARE_DIR)/wsrep.cnf $(1)$(CONF_DIR)/conf.d/60-galera.cnf
  469. $(INSTALL_CONF) conf/50-server.cnf $(1)$(CONF_DIR)/conf.d
  470. $(INSTALL_CONF) files/mysqld.config $(1)/etc/config/mysqld
  471. $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/charsets/* $(1)$(SHARE_DIR)/charsets
  472. $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/english/errmsg.sys $(1)$(SHARE_DIR)/english
  473. $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/fill_help_tables.sql $(1)$(SHARE_DIR)
  474. $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/maria_add_gis_sp_bootstrap.sql $(1)$(SHARE_DIR)
  475. $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/mysql_performance_tables.sql $(1)$(SHARE_DIR)
  476. $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/mysql_system_tables.sql $(1)$(SHARE_DIR)
  477. $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/mysql_system_tables_data.sql $(1)$(SHARE_DIR)
  478. endef
  479. define Package/mariadb-server-extra/install
  480. $(INSTALL_DIR) $(1)/usr/bin
  481. $(SED) 's,/bin/bash,/bin/sh,g' $(PKG_INSTALL_DIR)/usr/bin/wsrep_sst_*
  482. $(foreach b,$(MARIADB_SERVER_EXTRA),$(call Package/mariadb/install/bin,$(1),$(b));)
  483. endef
  484. define BuildPlugin
  485. define Package/$(1)-plugin-$(subst _,-,$(2))
  486. $(call Package/$(subst mariadb-server,mariadb,$(1))/Default)
  487. TITLE:=$(1) plugin
  488. DEPENDS:=$(1) $(patsubst +%,+PACKAGE_$(1)-plugin-$(subst _,-,$(2)):%,$(3))
  489. endef
  490. define Package/$(1)-plugin-$(subst _,-,$(2))/description
  491. $(call Package/mariadb/description/Default)
  492. This package provides the $(2) plugin.
  493. endef
  494. define Package/$(1)-plugin-$(subst _,-,$(2))/install
  495. $(INSTALL_DIR) $$(1)$(PLUGIN_DIR)
  496. $(call Package/mariadb/install/plugin,$$(1),$(2))
  497. endef
  498. $$(eval $$(call BuildPackage,$(1)-plugin-$(subst _,-,$(2))))
  499. endef
  500. $(eval $(call HostBuild))
  501. $(eval $(call BuildPackage,libmariadb))
  502. $(eval $(call BuildPackage,mariadb-client))
  503. $(eval $(call BuildPackage,mariadb-client-base))
  504. $(eval $(call BuildPackage,mariadb-client-extra))
  505. $(eval $(call BuildPackage,mariadb-common))
  506. $(eval $(call BuildPackage,mariadb-server))
  507. $(eval $(call BuildPackage,mariadb-server-base))
  508. $(eval $(call BuildPackage,mariadb-server-extra))
  509. $(eval $(call BuildPlugin,libmariadb,auth_gssapi_client,+krb5-libs))
  510. $(eval $(call BuildPlugin,mariadb-server,auth_ed25519,))
  511. $(eval $(call BuildPlugin,mariadb-server,auth_gssapi,+krb5-libs))
  512. $(eval $(call BuildPlugin,mariadb-server,auth_pam,+libpam))
  513. $(eval $(call BuildPlugin,mariadb-server,client_ed25519,))
  514. $(eval $(call BuildPlugin,mariadb-server,disks,))
  515. $(eval $(call BuildPlugin,mariadb-server,feedback,))
  516. $(eval $(call BuildPlugin,mariadb-server,file_key_management,))
  517. $(eval $(call BuildPlugin,mariadb-server,ha_archive,))
  518. $(eval $(call BuildPlugin,mariadb-server,ha_blackhole,))
  519. $(eval $(call BuildPlugin,mariadb-server,ha_connect,+libxml2))
  520. $(eval $(call BuildPlugin,mariadb-server,ha_federated,))
  521. $(eval $(call BuildPlugin,mariadb-server,ha_federatedx,))
  522. $(eval $(call BuildPlugin,mariadb-server,ha_sphinx,))
  523. $(eval $(call BuildPlugin,mariadb-server,ha_spider,))
  524. $(eval $(call BuildPlugin,mariadb-server,handlersocket,))
  525. $(eval $(call BuildPlugin,mariadb-server,locales,))
  526. $(eval $(call BuildPlugin,mariadb-server,metadata_lock_info,))
  527. $(eval $(call BuildPlugin,mariadb-server,query_cache_info,))
  528. $(eval $(call BuildPlugin,mariadb-server,query_response_time,))
  529. $(eval $(call BuildPlugin,mariadb-server,semisync_master,))
  530. $(eval $(call BuildPlugin,mariadb-server,semisync_slave,))
  531. $(eval $(call BuildPlugin,mariadb-server,server_audit,))
  532. $(eval $(call BuildPlugin,mariadb-server,simple_password_check,))
  533. $(eval $(call BuildPlugin,mariadb-server,sql_errlog,))
  534. $(eval $(call BuildPlugin,mariadb-server,wsrep_info,))