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