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.

643 lines
21 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
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.22
  10. PKG_RELEASE:=1
  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:=42f4c54c29b7c196bd105bbf4d2ea721f869b14cb7ba436c3566e6dd2760614c
  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. +libopenssl \
  154. +zlib
  155. MARIADB_COMMON_DEPENDS_EXE := \
  156. $(MARIADB_COMMON_DEPENDS) \
  157. +libatomic \
  158. +libstdcpp
  159. # Pass CPPFLAGS in the CFLAGS as otherwise the build system will
  160. # ignore them.
  161. TARGET_CFLAGS+=$(TARGET_CPPFLAGS)
  162. define Package/mariadb/disable/engine
  163. echo > $(1)/storage/$(2)/CMakeLists.txt
  164. endef
  165. define Package/mariadb/disable/plugin
  166. echo > $(1)/plugin/$(2)/CMakeLists.txt
  167. endef
  168. define Package/mariadb/install/bin
  169. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(2) $(1)/usr/bin
  170. endef
  171. define Package/mariadb/install/plugin
  172. $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/$(2).so $(1)$(PLUGIN_DIR)
  173. endef
  174. define Package/mariadb/description/Default
  175. MariaDB is a fast, stable and true multi-user, multi-threaded SQL
  176. database server. SQL (Structured Query Language) is the most popular
  177. database query language in the world. The main goals of MariaDB are
  178. speed, robustness and ease of use.
  179. endef
  180. define Package/libmariadb/Default
  181. SECTION:=libs
  182. CATEGORY:=Libraries
  183. URL:=https://mariadb.org/
  184. endef
  185. define Package/libmariadb
  186. $(call Package/libmariadb/Default)
  187. DEPENDS:=+mariadb-common \
  188. $(MARIADB_COMMON_DEPENDS)
  189. TITLE:=MariaDB database client library
  190. MENU:=1
  191. PROVIDES:=libmariadbclient libmysqlclient libmysqlclient-r
  192. endef
  193. define Package/libmariadb/conffiles
  194. $(CONF_DIR)/conf.d/50-client.cnf
  195. endef
  196. define Package/libmariadb/description
  197. $(call Package/mariadb/description/Default)
  198. This package includes the client library.
  199. endef
  200. define Package/mariadb/Default
  201. SECTION:=utils
  202. CATEGORY:=Utilities
  203. URL:=https://mariadb.org/
  204. SUBMENU:=database
  205. endef
  206. define Package/mariadb-client
  207. $(call Package/mariadb/Default)
  208. TITLE:=MariaDB database client
  209. MENU:=1
  210. DEPENDS:=mariadb-client-base
  211. endef
  212. define Package/mariadb-client/description
  213. $(call Package/mariadb/description/Default)
  214. This package includes the following core client binaries:
  215. $(subst $(space),$(newline),$(MARIADB_CLIENT))
  216. endef
  217. define Package/mariadb-client-base
  218. $(call Package/mariadb/Default)
  219. TITLE:=MariaDB database client base
  220. DEPENDS:=mariadb-common \
  221. $(MARIADB_COMMON_DEPENDS_EXE) \
  222. +libedit
  223. endef
  224. define Package/mariadb-client-base/conffiles
  225. $(CONF_DIR)/conf.d/50-mysql-clients.cnf
  226. endef
  227. define Package/mariadb-client-base/description
  228. $(call Package/mariadb/description/Default)
  229. This package provides the foundation for mariadb-client. It installs the
  230. configuration and the dependencies.
  231. endef
  232. define Package/mariadb-client-extra
  233. $(call Package/mariadb/Default)
  234. TITLE:=MariaDB database client extra
  235. DEPENDS:=mariadb-client
  236. endef
  237. define Package/mariadb-client-extra/description
  238. $(call Package/mariadb/description/Default)
  239. This package includes the following extra client binaries:
  240. $(subst $(space),$(newline),$(MARIADB_CLIENT_EXTRA))
  241. endef
  242. define Package/mariadb-common
  243. $(call Package/mariadb/Default)
  244. TITLE:=MariaDB database common files
  245. DEPENDS:=
  246. endef
  247. define Package/mariadb-common/conffiles
  248. $(CONF_DIR)/my.cnf
  249. endef
  250. define Package/mariadb-common/description
  251. $(call Package/mariadb/description/Default)
  252. This package includes shared files, for example $(CONF_DIR)/my.cnf.
  253. endef
  254. define Package/mariadb-server
  255. $(call Package/mariadb/Default)
  256. DEPENDS:=mariadb-server-base
  257. TITLE:=MariaDB database server
  258. MENU:=1
  259. PROVIDES:=mysql-server
  260. endef
  261. define Package/mariadb-server/description
  262. $(call Package/mariadb/description/Default)
  263. This package includes the following core server binaries:
  264. $(subst $(space),$(newline),$(MARIADB_SERVER))
  265. endef
  266. define Package/mariadb-server-base
  267. $(call Package/mariadb/Default)
  268. DEPENDS:=mariadb-common \
  269. $(MARIADB_COMMON_DEPENDS_EXE) \
  270. +!arc:libaio \
  271. +liblzma \
  272. +libpcre \
  273. +resolveip
  274. TITLE:=MariaDB database server base
  275. USERID:=mariadb=376:mariadb=376
  276. endef
  277. define Package/mariadb-server-base/conffiles
  278. $(CONF_DIR)/conf.d/50-server.cnf
  279. $(CONF_DIR)/conf.d/60-galera.cnf
  280. /etc/config/mysqld
  281. endef
  282. define Package/mariadb-server-base/description
  283. $(call Package/mariadb/description/Default)
  284. This package provides the foundation for mariadb-server. It installs the
  285. init script, support files (configuration etc.), the user "mariadb" and
  286. the dependencies.
  287. endef
  288. define Package/mariadb-server-extra
  289. $(call Package/mariadb/Default)
  290. TITLE:=MariaDB database server extra
  291. DEPENDS:=mariadb-server
  292. endef
  293. define Package/mariadb-server-extra/description
  294. $(call Package/mariadb/description/Default)
  295. This package includes the following extra server binaries:
  296. $(subst $(space),$(newline),$(MARIADB_SERVER_EXTRA))
  297. endef
  298. # We won't need unit tests
  299. CMAKE_OPTIONS += -DWITH_UNIT_TESTS=0
  300. # This value is determined automatically during straight compile by compiling
  301. # and running a test code. You cannot do that during cross-compile. However the
  302. # stack grows downward in most if not all modern systems. The only exception
  303. # according to buildroot is PA-RISC which is not supported by OpenWrt as far as
  304. # I know. Therefore it makes sense to hardcode the value. If an arch is added
  305. # the stack of which grows up one should expect unpredictable behavior at run
  306. # time.
  307. CMAKE_OPTIONS += -DSTACK_DIRECTION=-1
  308. # Make it explicit that we are cross-compiling
  309. CMAKE_OPTIONS += -DCMAKE_CROSSCOMPILING=1
  310. # Explicitly disable dtrace to avoid detection of a host version
  311. CMAKE_OPTIONS += -DENABLE_DTRACE=0
  312. # Prevent MariaDB from messing with OpenWrt's C(XX)FLAGS
  313. CMAKE_OPTIONS += -DSECURITY_HARDENED=OFF
  314. ifeq ($(CONFIG_PACKAGE_mariadb-server),)
  315. CMAKE_OPTIONS += -DWITHOUT_SERVER=ON
  316. else
  317. # Enable the auth_socket plugin and let unix user root access MariaDB without a
  318. # separate password.
  319. CMAKE_OPTIONS += -DWITHOUT_SERVER=OFF -DPLUGIN_AUTH_SOCKET=STATIC
  320. endif
  321. CMAKE_OPTIONS += \
  322. -DCONNECT_WITH_JDBC=NO \
  323. -DCONNECT_WITH_LIBXML2=system \
  324. -DCONNECT_WITH_MONGO=NO \
  325. -DCONNECT_WITH_ODBC=NO \
  326. -DDISABLE_SHARED=NO \
  327. -DENABLED_PROFILING=OFF \
  328. -DENABLE_STATIC_LIBS=OFF \
  329. -DINSTALL_DOCDIR=share/doc/mariadb \
  330. -DINSTALL_DOCREADMEDIR=share/doc/mariadb \
  331. -DINSTALL_INFODIR=share/info \
  332. -DINSTALL_MANDIR=share/man \
  333. -DINSTALL_MYSQLSHAREDIR=share/mariadb \
  334. -DINSTALL_MYSQLTESTDIR="" \
  335. -DINSTALL_PLUGINDIR=lib/mariadb/plugin \
  336. -DINSTALL_SBINDIR=bin \
  337. -DINSTALL_SCRIPTDIR=bin \
  338. -DINSTALL_SQLBENCHDIR="" \
  339. -DINSTALL_SUPPORTFILESDIR=share/mariadb \
  340. -DINSTALL_UNIX_ADDRDIR=/var/run/mysqld/mysqld.sock \
  341. -DMYSQL_DATADIR=/var/lib/mysql \
  342. -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \
  343. -DSKIP_TESTS=ON \
  344. -DWITH_DEBUG=OFF \
  345. -DWITH_EMBEDDED_SERVER=OFF \
  346. -DWITH_INNODB_BZIP2=OFF \
  347. -DWITH_INNODB_LZ4=OFF \
  348. -DWITH_INNODB_LZMA=ON \
  349. -DWITH_INNODB_LZO=OFF \
  350. -DWITH_INNODB_SNAPPY=OFF \
  351. -DWITH_JEMALLOC=OFF \
  352. -DWITH_LIBARCHIVE=OFF \
  353. -DWITH_LIBWRAP=OFF \
  354. -DWITH_MARIABACKUP=ON \
  355. -DWITH_PCRE=system \
  356. -DWITH_SAFEMALLOC=OFF \
  357. -DWITH_SSL=system \
  358. -DWITH_SYSTEMD=no \
  359. -DWITH_VALGRIND=OFF \
  360. -DWITH_ZLIB=system
  361. # Help MariaDB find the correct libiconv.
  362. # nls.mk sets it up so that with CONFIG_BUILD_NLS libiconv-full would be used,
  363. # otherwise libiconv-stub (independent of the selected libc). MariaDB needs a
  364. # leg up to find/pick the right lib.
  365. CMAKE_OPTIONS += \
  366. -DICONV_INCLUDE_DIR=$(ICONV_PREFIX)/include \
  367. -DICONV_LIBRARIES=$(ICONV_PREFIX)/lib/libiconv.$(if $(CONFIG_BUILD_NLS),so,a)
  368. CMAKE_OPTIONS += \
  369. $(foreach p,$(MARIADB_LIB_PLUGINS),-D$(plugin-$(p))=$(if $(CONFIG_PACKAGE_lib$(PKG_NAME)-plugin-$(subst _,-,$(p))),DYNAMIC,OFF)) \
  370. $(foreach p,$(MARIADB_SERVER_PLUGINS),-D$(plugin-$(p))=$(if $(CONFIG_PACKAGE_$(PKG_NAME)-server-plugin-$(subst _,-,$(p))),DYNAMIC,NO))
  371. # Set CMAKE_FIND_ROOT_PATH_MODE_INCLUDE and CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
  372. # to BOTH as otherwise the host build will not find some required dependencies
  373. # installed on the host machine, like ncurses.
  374. #
  375. # Add "$(STAGING_DIR_HOSTPKG)/lib" to the RPATH of the host helpers,
  376. # otherwise they might not find the location of a library at run time.
  377. CMAKE_HOST_OPTIONS += \
  378. -DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE \
  379. -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH \
  380. -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=BOTH \
  381. -DCMAKE_INSTALL_RPATH="$(STAGING_DIR_HOSTPKG)/lib" \
  382. -DCMAKE_SKIP_RPATH=FALSE \
  383. -DWITHOUT_SERVER=OFF
  384. # Some helpers must be compiled for host in order to crosscompile MariaDB for
  385. # the target. They are then included by import_executables.cmake which is
  386. # generated during the build of the host helpers. It is not necessary to build
  387. # the whole host package, only the "import_executables" target.
  388. # -DIMPORT_EXECUTABLES=$(HOST_BUILD_DIR)/import_executables.cmake
  389. # must then be passed to cmake during target build.
  390. # See also https://mariadb.com/kb/en/mariadb/cross-compiling-mariadb/
  391. CMAKE_OPTIONS += -DIMPORT_EXECUTABLES=$(STAGING_DIR_HOSTPKG)/share/mariadb/import_executables.cmake
  392. # Disable some engines/plugins here as well - decreases the number of cmake checks.
  393. define Host/Prepare
  394. $(call Host/Prepare/Default)
  395. $(foreach e,$(MARIADB_DISABLE_ENGINES),$(call Package/mariadb/disable/engine,$(HOST_BUILD_DIR),$(e));)
  396. $(foreach p,$(MARIADB_DISABLE_PLUGINS),$(call Package/mariadb/disable/plugin,$(HOST_BUILD_DIR),$(p));)
  397. endef
  398. define Host/Compile
  399. $(call Host/Compile/Default,import_executables)
  400. endef
  401. define Host/Install
  402. $(SED) 's|$(HOST_BUILD_DIR)|$(STAGING_DIR_HOSTPKG)/share/mariadb|' $(HOST_BUILD_DIR)/import_executables.cmake
  403. $(INSTALL_DIR) $(1)/share/mariadb/{dbug,extra,scripts,sql}
  404. $(INSTALL_BIN) $(HOST_BUILD_DIR)/dbug/factorial $(1)/share/mariadb/dbug
  405. $(INSTALL_BIN) $(HOST_BUILD_DIR)/extra/comp_err $(1)/share/mariadb/extra
  406. $(INSTALL_BIN) $(HOST_BUILD_DIR)/scripts/comp_sql $(1)/share/mariadb/scripts
  407. $(INSTALL_BIN) $(HOST_BUILD_DIR)/sql/{gen_lex_hash,gen_lex_token} $(1)/share/mariadb/sql
  408. $(INSTALL_DATA) $(HOST_BUILD_DIR)/import_executables.cmake $(1)/share/mariadb
  409. endef
  410. # LIBICONV_PLUG is used in GNU's libiconv for redefinition of exports [e.g.
  411. # from libiconv_open() to iconv_open()]. But in OpenWrt this variable is not set
  412. # when building libiconv-full. So when MariaDB sets LIBICONV_PLUG it expects
  413. # iconv_open() to be available for example, which is not the case - only
  414. # libiconv_open() is. To address this prevent the variable from being set.
  415. # libiconv-stub does not use this variable, so there is no harm in always doing
  416. # this.
  417. define Build/Prepare
  418. $(call Build/Prepare/Default)
  419. $(SED) '/ADD_DEFINITIONS(-DLIBICONV_PLUG)/d' $(PKG_BUILD_DIR)/libmariadb/libmariadb/CMakeLists.txt
  420. $(foreach e,$(MARIADB_DISABLE_ENGINES),$(call Package/mariadb/disable/engine,$(PKG_BUILD_DIR),$(e));)
  421. $(foreach p,$(MARIADB_DISABLE_PLUGINS),$(call Package/mariadb/disable/plugin,$(PKG_BUILD_DIR),$(p));)
  422. endef
  423. define Build/InstallDev
  424. $(INSTALL_DIR) $(2)/bin $(1)/usr/bin $(1)/usr/include $(1)/usr/lib/mysql $(1)/usr/lib/pkgconfig $(1)/usr/share/aclocal
  425. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql_config $(1)/usr/bin
  426. $(LN) $(STAGING_DIR)/usr/bin/mysql_config $(2)/bin
  427. $(CP) $(PKG_INSTALL_DIR)/usr/include/mysql $(1)/usr/include
  428. $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{mariadb,mysqlclient}*.so* $(1)/usr/lib
  429. cd $(1)/usr/lib/mysql; $(LN) ../lib{mariadb,mysqlclient}*.so* .
  430. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libmariadb.pc $(1)/usr/lib/pkgconfig
  431. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/aclocal/mysql.m4 $(1)/usr/share/aclocal
  432. endef
  433. define Package/libmariadb/install
  434. $(INSTALL_DIR) $(1)$(CONF_DIR)/conf.d
  435. $(INSTALL_DIR) $(1)$(PLUGIN_DIR)
  436. $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{mariadb,mysqlclient}*.so* $(1)/usr/lib
  437. $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/caching_sha2_password.so $(1)$(PLUGIN_DIR)
  438. $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/dialog.so $(1)$(PLUGIN_DIR)
  439. $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/mysql_clear_password.so $(1)$(PLUGIN_DIR)
  440. $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/sha256_password.so $(1)$(PLUGIN_DIR)
  441. $(INSTALL_CONF) conf/50-client.cnf $(1)$(CONF_DIR)/conf.d
  442. endef
  443. define Package/mariadb-client/install
  444. $(INSTALL_DIR) $(1)/usr/bin
  445. $(foreach b,$(MARIADB_CLIENT),$(call Package/mariadb/install/bin,$(1),$(b));)
  446. # Install convenience links for mysqlcheck multi-call binary
  447. cd $(1)/usr/bin; $(LN) mysqlcheck mysqlanalyze
  448. cd $(1)/usr/bin; $(LN) mysqlcheck mysqlrepair
  449. cd $(1)/usr/bin; $(LN) mysqlcheck mysqloptimize
  450. endef
  451. define Package/mariadb-client-base/install
  452. $(INSTALL_DIR) $(1)$(CONF_DIR)/conf.d
  453. $(INSTALL_CONF) conf/50-mysql-clients.cnf $(1)$(CONF_DIR)/conf.d
  454. endef
  455. define Package/mariadb-client-extra/install
  456. $(INSTALL_DIR) $(1)/usr/bin
  457. $(foreach b,$(MARIADB_CLIENT_EXTRA),$(call Package/mariadb/install/bin,$(1),$(b));)
  458. endef
  459. define Package/mariadb-common/install
  460. $(INSTALL_DIR) $(1)$(CONF_DIR)
  461. $(INSTALL_CONF) conf/my.cnf $(1)$(CONF_DIR)
  462. endef
  463. define Package/mariadb-server/install
  464. $(INSTALL_DIR) $(1)/usr/bin
  465. $(foreach b,$(MARIADB_SERVER),$(call Package/mariadb/install/bin,$(1),$(b));)
  466. endef
  467. define Package/mariadb-server-base/install
  468. $(INSTALL_DIR) $(1)$(CONF_DIR)/conf.d
  469. $(INSTALL_DIR) $(1)$(SHARE_DIR)/charsets
  470. $(INSTALL_DIR) $(1)$(SHARE_DIR)/english
  471. $(INSTALL_DIR) $(1)/etc/config
  472. $(INSTALL_DIR) $(1)/etc/init.d
  473. $(INSTALL_BIN) files/mysqld.init $(1)/etc/init.d/mysqld
  474. $(SED) '/^[a-z]/s/^/#/' $(PKG_INSTALL_DIR)$(SHARE_DIR)/wsrep.cnf
  475. $(INSTALL_CONF) $(PKG_INSTALL_DIR)$(SHARE_DIR)/wsrep.cnf $(1)$(CONF_DIR)/conf.d/60-galera.cnf
  476. $(INSTALL_CONF) conf/50-server.cnf $(1)$(CONF_DIR)/conf.d
  477. $(INSTALL_CONF) files/mysqld.config $(1)/etc/config/mysqld
  478. $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/charsets/* $(1)$(SHARE_DIR)/charsets
  479. $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/english/errmsg.sys $(1)$(SHARE_DIR)/english
  480. $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/fill_help_tables.sql $(1)$(SHARE_DIR)
  481. $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/maria_add_gis_sp_bootstrap.sql $(1)$(SHARE_DIR)
  482. $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/mysql_performance_tables.sql $(1)$(SHARE_DIR)
  483. $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/mysql_system_tables.sql $(1)$(SHARE_DIR)
  484. $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(SHARE_DIR)/mysql_system_tables_data.sql $(1)$(SHARE_DIR)
  485. endef
  486. define Package/mariadb-server-extra/install
  487. $(INSTALL_DIR) $(1)/usr/bin
  488. $(SED) 's,/bin/bash,/bin/sh,g' $(PKG_INSTALL_DIR)/usr/bin/wsrep_sst_*
  489. $(foreach b,$(MARIADB_SERVER_EXTRA),$(call Package/mariadb/install/bin,$(1),$(b));)
  490. endef
  491. define BuildPlugin
  492. define Package/$(1)-plugin-$(subst _,-,$(2))
  493. $(call Package/$(subst mariadb-server,mariadb,$(1))/Default)
  494. TITLE:=$(1) plugin
  495. DEPENDS:=$(1) $(patsubst +%,+PACKAGE_$(1)-plugin-$(subst _,-,$(2)):%,$(3))
  496. endef
  497. define Package/$(1)-plugin-$(subst _,-,$(2))/description
  498. $(call Package/mariadb/description/Default)
  499. This package provides the $(2) plugin.
  500. endef
  501. define Package/$(1)-plugin-$(subst _,-,$(2))/install
  502. $(INSTALL_DIR) $$(1)$(PLUGIN_DIR)
  503. $(call Package/mariadb/install/plugin,$$(1),$(2))
  504. endef
  505. $$(eval $$(call BuildPackage,$(1)-plugin-$(subst _,-,$(2))))
  506. endef
  507. $(eval $(call HostBuild))
  508. $(eval $(call BuildPackage,libmariadb))
  509. $(eval $(call BuildPackage,mariadb-client))
  510. $(eval $(call BuildPackage,mariadb-client-base))
  511. $(eval $(call BuildPackage,mariadb-client-extra))
  512. $(eval $(call BuildPackage,mariadb-common))
  513. $(eval $(call BuildPackage,mariadb-server))
  514. $(eval $(call BuildPackage,mariadb-server-base))
  515. $(eval $(call BuildPackage,mariadb-server-extra))
  516. $(eval $(call BuildPlugin,libmariadb,auth_gssapi_client,+krb5-libs))
  517. $(eval $(call BuildPlugin,mariadb-server,auth_ed25519,))
  518. $(eval $(call BuildPlugin,mariadb-server,auth_gssapi,+krb5-libs))
  519. $(eval $(call BuildPlugin,mariadb-server,auth_pam,+libpam))
  520. $(eval $(call BuildPlugin,mariadb-server,client_ed25519,))
  521. $(eval $(call BuildPlugin,mariadb-server,disks,))
  522. $(eval $(call BuildPlugin,mariadb-server,feedback,))
  523. $(eval $(call BuildPlugin,mariadb-server,file_key_management,))
  524. $(eval $(call BuildPlugin,mariadb-server,ha_archive,))
  525. $(eval $(call BuildPlugin,mariadb-server,ha_blackhole,))
  526. $(eval $(call BuildPlugin,mariadb-server,ha_connect,+libxml2))
  527. $(eval $(call BuildPlugin,mariadb-server,ha_federated,))
  528. $(eval $(call BuildPlugin,mariadb-server,ha_federatedx,))
  529. $(eval $(call BuildPlugin,mariadb-server,ha_sphinx,))
  530. $(eval $(call BuildPlugin,mariadb-server,ha_spider,))
  531. $(eval $(call BuildPlugin,mariadb-server,handlersocket,))
  532. $(eval $(call BuildPlugin,mariadb-server,locales,))
  533. $(eval $(call BuildPlugin,mariadb-server,metadata_lock_info,))
  534. $(eval $(call BuildPlugin,mariadb-server,query_cache_info,))
  535. $(eval $(call BuildPlugin,mariadb-server,query_response_time,))
  536. $(eval $(call BuildPlugin,mariadb-server,semisync_master,))
  537. $(eval $(call BuildPlugin,mariadb-server,semisync_slave,))
  538. $(eval $(call BuildPlugin,mariadb-server,server_audit,))
  539. $(eval $(call BuildPlugin,mariadb-server,simple_password_check,))
  540. $(eval $(call BuildPlugin,mariadb-server,sql_errlog,))
  541. $(eval $(call BuildPlugin,mariadb-server,wsrep_info,))