@ -35,37 +35,46 @@ CMAKE_INSTALL:=1
PLUGIN_DIR := /usr/lib/mysql/plugin
MARIADB_DISABLE_ENGINES := \
cassandra \
example \
mroonga \
oqgraph \
rocksdb \
test_sql_discovery \
tokudb
MARIADB_DISABLE_PLUGINS := \
audit_null \
auth_examples \
aws_key_management \
cracklib_password_check \
daemon_example \
debug_key_management \
example_key_management \
fulltext
MARIADB_LIB_PLUGINS := \
auth_gssapi_client
MARIADB_SERVER_PLUGINS := \
adt_null \
auth_0x0100 \
auth_ed25519 \
auth_socket \
auth_test_plugin \
auth_gssapi \
auth_pam \
client_ed25519 \
debug_key_management \
dialog_examples \
disks \
example_key_management \
feedback \
file_key_management \
ha_archive \
ha_blackhole \
ha_connect \
ha_example \
ha_federated \
ha_federatedx \
ha_sequence \
ha_sphinx \
ha_spider \
ha_test_sql_discovery \
handlersocket \
libdaemon_example \
locales \
metadata_lock_info \
mypluglib \
qa_auth_client \
qa_auth_interface \
qa_auth_server \
query_cache_info \
query_response_time \
semisync_master \
@ -76,39 +85,29 @@ MARIADB_SERVER_PLUGINS := \
wsrep_info
PKG_CONFIG_DEPENDS := \
$( patsubst %,CONFIG_PACKAGE_lib$( PKG_NAME) -plugin-%,$( subst _,-,$( MARIADB_LIB_PLUGINS) ) ) \
$( patsubst %,CONFIG_PACKAGE_$( PKG_NAME) -server-plugin-%,$( subst _,-,$( MARIADB_SERVER_PLUGINS) ) ) \
CONFIG_PACKAGE_mariadb-server
plugin-adt_null := PLUGIN_AUDIT_NULL
plugin-auth_0x0100 := PLUGIN_AUTH_0X0100
plugin-auth_gssapi_client := PLUGIN_AUTH_GSSAPI_CLIENT
plugin-auth_ed25519 := PLUGIN_AUTH_ED25519
plugin-auth_socket := PLUGIN_AUTH_SOCKET
plugin-auth_test_plugin := PLUGIN_AUTH_TEST_PLUGIN
plugin-auth_gssapi := PLUGIN_AUTH_GSSAPI
plugin-auth_pam := PLUGIN_AUTH_PAM
plugin-client_ed25519 := PLUGIN_CLIENT_ED25519
plugin-debug_key_management := PLUGIN_DEBUG_KEY_MANAGEMENT
plugin-dialog_examples := PLUGIN_DIALOG_EXAMPLES
plugin-disks := PLUGIN_DISKS
plugin-example_key_management := PLUGIN_EXAMPLE_KEY_MANAGEMENT
plugin-feedback := PLUGIN_FEEDBACK
plugin-file_key_management := PLUGIN_FILE_KEY_MANAGEMENT
plugin-ha_archive := PLUGIN_ARCHIVE
plugin-ha_blackhole := PLUGIN_BLACKHOLE
plugin-ha_connect := PLUGIN_CONNECT
plugin-ha_example := PLUGIN_EXAMPLE
plugin-ha_federated := PLUGIN_FEDERATED
plugin-ha_federatedx := PLUGIN_FEDERATEDX
plugin-ha_sequence := PLUGIN_SEQUENCE
plugin-ha_sphinx := PLUGIN_SPHINX
plugin-ha_spider := PLUGIN_SPIDER
plugin-ha_test_sql_discovery := PLUGIN_TEST_SQL_DISCOVERY
plugin-handlersocket := PLUGIN_HANDLERSOCKET
plugin-libdaemon_example := PLUGIN_DAEMON_EXAMPLE
plugin-locales := PLUGIN_LOCALES
plugin-metadata_lock_info := PLUGIN_METADATA_LOCK_INFO
plugin-mypluglib := PLUGIN_FTEXAMPLE
plugin-qa_auth_client := PLUGIN_QA_AUTH_CLIENT
plugin-qa_auth_interface := PLUGIN_QA_AUTH_INTERFACE
plugin-qa_auth_server := PLUGIN_QA_AUTH_SERVER
plugin-query_cache_info := PLUGIN_QUERY_CACHE_INFO
plugin-query_response_time := PLUGIN_QUERY_RESPONSE_TIME
plugin-semisync_master := PLUGIN_SEMISYNC_MASTER
@ -180,10 +179,22 @@ MARIADB_COMMON_DEPENDS := \
# ignore them.
TARGET_CFLAGS += $( TARGET_CPPFLAGS)
d e f i n e P a c k a g e / m a r i a d b / d i s a b l e / e n g i n e
echo > $( 1) /storage/$( 2) /CMakeLists.txt
e n d e f
d e f i n e P a c k a g e / m a r i a d b / d i s a b l e / p l u g i n
echo > $( 1) /plugin/$( 2) /CMakeLists.txt
e n d e f
d e f i n e P a c k a g e / m a r i a d b / i n s t a l l / b i n
$( INSTALL_BIN) $( PKG_INSTALL_DIR) /usr/bin/$( 2) $( 1) /usr/bin
e n d e f
d e f i n e P a c k a g e / m a r i a d b / i n s t a l l / p l u g i n
$( INSTALL_BIN) $( PKG_INSTALL_DIR) $( PLUGIN_DIR) /$( 2) .so $( 1) $( PLUGIN_DIR)
e n d e f
d e f i n e P a c k a g e / m a r i a d b / d e s c r i p t i o n / D e f a u l t
M a r i a D B i s a f a s t , s t a b l e a n d t r u e m u l t i - u s e r , m u l t i - t h r e a d e d S Q L
d a t a b a s e s e r v e r . S Q L ( S t r u c t u r e d Q u e r y L a n g u a g e ) i s t h e m o s t p o p u l a r
@ -191,12 +202,17 @@ database query language in the world. The main goals of MariaDB are
s p e e d , r o b u s t n e s s a n d e a s e o f u s e .
e n d e f
d e f i n e P a c k a g e / l i b m a r i a d b
d e f i n e P a c k a g e / l i b m a r i a d b / D e f a u l t
SECTION:= libs
CATEGORY:= Libraries
URL:= https://mariadb.org/
e n d e f
d e f i n e P a c k a g e / l i b m a r i a d b
$( call Package /libmariadb /Default )
DEPENDS:= $( MARIADB_COMMON_DEPENDS)
TITLE:= MariaDB database client library
URL:= https://mariadb.org/
MENU:= 1
PROVIDES:= libmariadbclient libmysqlclient libmysqlclient-r
e n d e f
@ -310,10 +326,6 @@ CMAKE_OPTIONS += -DWITH_UNIT_TESTS=0
# time.
CMAKE_OPTIONS += -DSTACK_DIRECTION= -1
# Jemalloc was added for TokuDB. Since its configure script seems somewhat broken
# when it comes to cross-compilation we shall disable it and also disable TokuDB.
CMAKE_OPTIONS += -DWITH_JEMALLOC= no -DWITHOUT_TOKUDB= 1
# Make it explicit that we are cross-compiling
CMAKE_OPTIONS += -DCMAKE_CROSSCOMPILING= 1
@ -326,7 +338,9 @@ CMAKE_OPTIONS += -DSECURITY_HARDENED=OFF
i f e q ( $( CONFIG_PACKAGE_mariadb -server ) , )
CMAKE_OPTIONS += -DWITHOUT_SERVER= ON
e l s e
CMAKE_OPTIONS += -DWITHOUT_SERVER= OFF
# Enable the auth_socket plugin and let unix user root access MariaDB without a
# separate password.
CMAKE_OPTIONS += -DWITHOUT_SERVER= OFF -DPLUGIN_AUTH_SOCKET= STATIC
e n d i f
CMAKE_OPTIONS += \
@ -372,18 +386,6 @@ CMAKE_OPTIONS += \
-DWITH_VALGRIND= OFF \
-DWITH_ZLIB= system
# Default-disable some modules
CMAKE_OPTIONS += \
-DPLUGIN_CASSANDRA= NO \
-DPLUGIN_MROONGA= NO \
-DPLUGIN_OQGRAPH= NO \
-DPLUGIN_ROCKSDB= NO \
-DPLUGIN_TOKUDB= NO \
-DPLUGIN_AUTH_PAM= NO \
-DPLUGIN_AUTH_GSSAPI= NO \
-DPLUGIN_AUTH_GSSAPI_CLIENT= OFF \
-DPLUGIN_CRACKLIB_PASSWORD_CHECK= NO
# Help MariaDB find the correct libiconv.
# nls.mk sets it up so that with CONFIG_BUILD_NLS libiconv-full would be used,
# otherwise libiconv-stub (independent of the selected libc). MariaDB needs a
@ -393,6 +395,7 @@ CMAKE_OPTIONS += \
-DICONV_LIBRARIES= $( ICONV_PREFIX) /lib/libiconv.$( if $( CONFIG_BUILD_NLS) ,so,a)
CMAKE_OPTIONS += \
$( foreach p,$( MARIADB_LIB_PLUGINS) ,-D$( plugin-$( p) ) = $( if $( CONFIG_PACKAGE_lib$( PKG_NAME) -plugin-$( subst _,-,$( p) ) ) ,DYNAMIC,OFF) ) \
$( foreach p,$( MARIADB_SERVER_PLUGINS) ,-D$( plugin-$( p) ) = $( if $( CONFIG_PACKAGE_$( PKG_NAME) -server-plugin-$( subst _,-,$( p) ) ) ,DYNAMIC,NO) )
# Set CMAKE_FIND_ROOT_PATH_MODE_INCLUDE and CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
@ -407,8 +410,7 @@ CMAKE_HOST_OPTIONS += \
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY= BOTH \
-DCMAKE_INSTALL_RPATH= " $( STAGING_DIR_HOSTPKG) /lib " \
-DCMAKE_SKIP_RPATH= FALSE \
-DWITHOUT_SERVER= OFF \
-DWITHOUT_TOKUDB= 1
-DWITHOUT_SERVER= OFF
# Some helpers must be compiled for host in order to crosscompile mariadb for
# the target. They are then included by import_executables.cmake which is
@ -420,6 +422,13 @@ CMAKE_HOST_OPTIONS += \
CMAKE_OPTIONS += -DIMPORT_EXECUTABLES= $( STAGING_DIR_HOSTPKG) /share/mariadb/import_executables.cmake
# Disable some engines/plugins here as well - decreases the number of cmake checks.
d e f i n e H o s t / P r e p a r e
$( call Host/Prepare/Default)
$( foreach e,$( MARIADB_DISABLE_ENGINES) ,$( call Package/mariadb/disable/engine,$( HOST_BUILD_DIR) ,$( e) ) ; )
$( foreach p,$( MARIADB_DISABLE_PLUGINS) ,$( call Package/mariadb/disable/plugin,$( HOST_BUILD_DIR) ,$( p) ) ; )
e n d e f
d e f i n e H o s t / C o m p i l e
$( call Host/Compile/Default,import_executables)
e n d e f
@ -445,6 +454,8 @@ endef
d e f i n e B u i l d / P r e p a r e
$( call Build/Prepare/Default)
$( SED) '/ADD_DEFINITIONS(-DLIBICONV_PLUG)/d' $( PKG_BUILD_DIR) /libmariadb/libmariadb/CMakeLists.txt
$( foreach e,$( MARIADB_DISABLE_ENGINES) ,$( call Package/mariadb/disable/engine,$( PKG_BUILD_DIR) ,$( e) ) ; )
$( foreach p,$( MARIADB_DISABLE_PLUGINS) ,$( call Package/mariadb/disable/plugin,$( PKG_BUILD_DIR) ,$( p) ) ; )
e n d e f
d e f i n e B u i l d / I n s t a l l D e v
@ -494,8 +505,6 @@ define Package/mariadb-server/install
$( INSTALL_BIN) files/mysqld.init $( 1) /etc/init.d/mysqld
$( INSTALL_CONF) conf/my.cnf $( 1) /etc/mysql
$( INSTALL_CONF) conf/mysqld.default $( 1) /etc/default/mysqld
$( INSTALL_DIR) $( 1) $( PLUGIN_DIR)
$( INSTALL_CONF) $( PKG_INSTALL_DIR) $( PLUGIN_DIR) /daemon_example.ini $( 1) $( PLUGIN_DIR)
$( INSTALL_DIR) $( 1) /usr/share/mysql/english
$( INSTALL_DATA) $( PKG_INSTALL_DIR) /usr/share/mysql/english/errmsg.sys $( 1) /usr/share/mysql/english
$( INSTALL_DATA) $( PKG_INSTALL_DIR) /usr/share/mysql/fill_help_tables.sql $( 1) /usr/share/mysql
@ -513,28 +522,25 @@ endef
d e f i n e P a c k a g e / m a r i a d b - s e r v e r / c o n f f i l e s
/ e t c / d e f a u l t / m y s q l d
/ e t c / m y s q l / m y . c n f
$( PLUGIN_DIR ) / d a e m o n _ e x a m p l e . i n i
e n d e f
d e f i n e B u i l d P l u g i n
define Package/$( PKG_NAME) -server-plugin-$( subst _,-,$( 1 ) )
$$ ( call Package/mariadb/Default)
TITLE:= MariaDB database plugin
DEPENDS:= mariadb-server $( patsubst +%,+PACKAGE_$( PKG_NAME) -server-plugin-$( subst _,-,$( 1) ) :%,$( 2 ) )
define Package/$( 1) -plugin-$( subst _,-,$( 2 ) )
$( call Package/$( subst mariadb-server,mariadb,$( 1) ) /Default)
TITLE:= $( 1) plugin
DEPENDS:= $( 1) $( patsubst +%,+PACKAGE_$( 1) -plugin-$( subst _,-,$( 2) ) :%,$( 3) )
endef
define Package/$( PKG_NAME) -server-plugin-$( subst _,-,$( 1 ) ) /description
$$ ( call Package/mariadb/description/Default)
define Package/$( 1) -plugin-$( subst _,-,$( 2 ) ) /description
$( call Package/mariadb/description/Default)
T h i s p a c k a g e p r o v i d e s t h e $( 1 ) p l u g i n .
T h i s p a c k a g e p r o v i d e s t h e $( 2 ) p l u g i n .
endef
define Package/$( PKG_NAME) -server-plugin-$( subst _,-,$( 1) ) /install
$( INSTALL_DIR) $$ ( 1) $( PLUGIN_DIR)
$( INSTALL_BIN) \
$( PKG_INSTALL_DIR) $( PLUGIN_DIR) /$( 1) .so \
$$ ( 1) $( PLUGIN_DIR)
define Package/$( 1) -plugin-$( subst _,-,$( 2) ) /install
$( INSTALL_DIR) $$ ( 1) $( PLUGIN_DIR)
$( call Package/mariadb/install/plugin,$$ ( 1) ,$( 2) )
endef
$$ ( eval $$ ( call BuildPackage,$( PKG_NAME) -server-plugin-$( subst _,-,$( 1 ) ) ) )
$$ ( eval $$ ( call BuildPackage,$( 1) -plugin-$( subst _,-,$( 2) ) ) )
e n d e f
$( eval $ ( call HostBuild ) )
@ -545,41 +551,29 @@ $(eval $(call BuildPackage,mariadb-extra-charsets))
$( eval $ ( call BuildPackage ,mariadb -server ) )
$( eval $ ( call BuildPackage ,mariadb -server -extra ) )
$( eval $ ( call BuildPlugin ,adt_null ,) )
$( eval $ ( call BuildPlugin ,auth_ 0x 0100,) )
$( eval $ ( call BuildPlugin ,auth_ed 25519,) )
$( eval $ ( call BuildPlugin ,auth_socket ,) )
$( eval $ ( call BuildPlugin ,auth_test_plugin ,) )
$( eval $ ( call BuildPlugin ,client_ed 25519,) )
$( eval $ ( call BuildPlugin ,debug_key_management ,) )
$( eval $ ( call BuildPlugin ,dialog_examples ,) )
$( eval $ ( call BuildPlugin ,disks ,) )
$( eval $ ( call BuildPlugin ,example_key_management ,) )
$( eval $ ( call BuildPlugin ,feedback ,) )
$( eval $ ( call BuildPlugin ,file_key_management ,) )
$( eval $ ( call BuildPlugin ,ha_archive ,) )
$( eval $ ( call BuildPlugin ,ha_blackhole ,) )
$( eval $ ( call BuildPlugin ,ha_connect ,+libxml 2) )
$( eval $ ( call BuildPlugin ,ha_example ,) )
$( eval $ ( call BuildPlugin ,ha_federated ,) )
$( eval $ ( call BuildPlugin ,ha_federatedx ,) )
$( eval $ ( call BuildPlugin ,ha_sequence ,) )
$( eval $ ( call BuildPlugin ,ha_sphinx ,) )
$( eval $ ( call BuildPlugin ,ha_spider ,) )
$( eval $ ( call BuildPlugin ,ha_test_sql_discovery ,) )
$( eval $ ( call BuildPlugin ,handlersocket ,) )
$( eval $ ( call BuildPlugin ,libdaemon_example ,) )
$( eval $ ( call BuildPlugin ,locales ,) )
$( eval $ ( call BuildPlugin ,metadata_lock_info ,) )
$( eval $ ( call BuildPlugin ,mypluglib ,) )
$( eval $ ( call BuildPlugin ,qa_auth_client ,) )
$( eval $ ( call BuildPlugin ,qa_auth_interface ,) )
$( eval $ ( call BuildPlugin ,qa_auth_server ,) )
$( eval $ ( call BuildPlugin ,query_cache_info ,) )
$( eval $ ( call BuildPlugin ,query_response_time ,) )
$( eval $ ( call BuildPlugin ,semisync_master ,) )
$( eval $ ( call BuildPlugin ,semisync_slave ,) )
$( eval $ ( call BuildPlugin ,server_audit ,) )
$( eval $ ( call BuildPlugin ,simple_password_check ,) )
$( eval $ ( call BuildPlugin ,sql_errlog ,) )
$( eval $ ( call BuildPlugin ,wsrep_info ,) )
$( eval $ ( call BuildPlugin ,libmariadb ,auth_gssapi_client ,+krb 5-libs ) )
$( eval $ ( call BuildPlugin ,mariadb -server ,auth_ed 25519,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,auth_gssapi ,+krb 5-libs ) )
$( eval $ ( call BuildPlugin ,mariadb -server ,auth_pam ,+libpam ) )
$( eval $ ( call BuildPlugin ,mariadb -server ,client_ed 25519,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,disks ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,feedback ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,file_key_management ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,ha_archive ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,ha_blackhole ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,ha_connect ,+libxml 2) )
$( eval $ ( call BuildPlugin ,mariadb -server ,ha_federated ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,ha_federatedx ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,ha_sphinx ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,ha_spider ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,handlersocket ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,locales ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,metadata_lock_info ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,query_cache_info ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,query_response_time ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,semisync_master ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,semisync_slave ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,server_audit ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,simple_password_check ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,sql_errlog ,) )
$( eval $ ( call BuildPlugin ,mariadb -server ,wsrep_info ,) )