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.

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