Import mariadb104. Based on joyent's mariadb100 package.

MariaDB Server is one of the most popular open source relational databases.
It's made by the original developers of MySQL.

MariaDB turns data into structured information in a wide array of applications,
ranging from banking to websites. It is an enhanced, drop-in replacement
for MySQL. MariaDB is used because it is fast, scalable and robust, with a
rich ecosystem of storage engines, plugins and many other tools make it very
versatile for a wide variety of use cases.

MariaDB is developed as open source software and as a relational database
it provides an SQL interface for accessing data. The latest versions of
MariaDB also include GIS and JSON features.
This commit is contained in:
nia 2020-03-25 17:40:31 +00:00
parent e3d768ef5a
commit 47e2c0f722
35 changed files with 17243 additions and 0 deletions

View File

@ -2124,6 +2124,8 @@ SUBDIR+= manatee
SUBDIR+= mapnik
SUBDIR+= marathon-scenarios
SUBDIR+= marathon-tempus-irae
SUBDIR+= mariadb104-client
SUBDIR+= mariadb104-server
SUBDIR+= marsyas
SUBDIR+= mashpodder
SUBDIR+= masscan

14
mariadb104-client/DESCR Normal file
View File

@ -0,0 +1,14 @@
MariaDB Server is one of the most popular open source relational databases.
It's made by the original developers of MySQL.
MariaDB turns data into structured information in a wide array of applications,
ranging from banking to websites. It is an enhanced, drop-in replacement
for MySQL. MariaDB is used because it is fast, scalable and robust, with a
rich ecosystem of storage engines, plugins and many other tools make it very
versatile for a wide variety of use cases.
MariaDB is developed as open source software and as a relational database
it provides an SQL interface for accessing data. The latest versions of
MariaDB also include GIS and JSON features.
This package contains the MariaDB client programs and libraries.

View File

@ -0,0 +1,14 @@
# $NetBSD$
PKGNAME= ${DISTNAME:S/-/-client-/}
COMMENT= MariaDB 10.4, a free SQL database (client)
CONFLICTS= mysql-client-[0-9]*
.include "Makefile.common"
CMAKE_ARGS+= -DWITHOUT_SERVER=ON
INSTALL_DIRS+= client include libmariadb man scripts
.include "../../mk/bsd.pkg.mk"

View File

@ -0,0 +1,112 @@
# $NetBSD$
#
# used by wip/mariadb104-client/Makefile
# used by wip/mariadb104-server/Makefile
DISTNAME= mariadb-10.4.12
CATEGORIES= databases
MASTER_SITES= https://downloads.mariadb.org/f/${DISTNAME}/source/
MAINTAINER?= pkgsrc-users@NetBSD.org
HOMEPAGE= https://mariadb.org/
LICENSE= gnu-gpl-v2
DISTINFO_FILE?= ${.CURDIR}/../../wip/mariadb104-client/distinfo
PATCHDIR?= ${.CURDIR}/../../wip/mariadb104-client/patches
USE_CMAKE= yes
USE_LANGUAGES= c c++
USE_TOOLS+= perl:run pkg-config bison
PLIST_SRC= ${PLIST_SRC_DFLT}
.include "../../mk/bsd.prefs.mk"
# MYSQL_DATADIR home directory (location of the databases)
# MYSQL_CHARSET default character set
# MYSQL_EXTRA_CHARSET additional character set to be compiled in
MYSQL_DATADIR?= ${VARBASE}/mysql
MYSQL_CHARSET?= latin1
MYSQL_COLLATION?= latin1_swedish_ci
MYSQL_EXTRA_CHARSET?= all
BUILD_DEFS+= VARBASE
CMAKE_ARGS+= -DINSTALL_BINDIR="bin"
CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql"
CMAKE_ARGS+= -DINSTALL_DOCREADMEDIR="share/doc/mysql"
CMAKE_ARGS+= -DINSTALL_INCLUDEDIR="include/mysql"
CMAKE_ARGS+= -DINSTALL_INFODIR="${PKGINFODIR}"
CMAKE_ARGS+= -DINSTALL_LIBDIR="lib"
CMAKE_ARGS+= -DINSTALL_MANDIR="${PKGMANDIR}"
CMAKE_ARGS+= -DINSTALL_MYSQLSHAREDIR="share/mysql"
CMAKE_ARGS+= -DINSTALL_MYSQLTESTDIR="share/mysql/test"
CMAKE_ARGS+= -DINSTALL_PLUGINDIR="lib/mysql/plugin"
CMAKE_ARGS+= -DINSTALL_SBINDIR="sbin"
CMAKE_ARGS+= -DINSTALL_SCRIPTDIR="bin"
CMAKE_ARGS+= -DINSTALL_SQLBENCHDIR="share/mysql/sql-bench"
CMAKE_ARGS+= -DINSTALL_SUPPORTFILESDIR="share/mysql"
CMAKE_ARGS+= -DINSTALL_SYSCONFDIR="${PKG_SYSCONFDIR}"
CMAKE_ARGS+= -DMYSQL_DATADIR=${MYSQL_DATADIR}
CMAKE_ARGS+= -DWITH_LIBWRAP=ON
CMAKE_ARGS+= -DWITH_ZLIB="system"
CMAKE_ARGS+= -DDEFAULT_CHARSET=${MYSQL_CHARSET}
CMAKE_ARGS+= -DDEFAULT_COLLATION=${MYSQL_COLLATION:Q}
CMAKE_ARGS+= -DWITH_EXTRA_CHARSETS=${MYSQL_EXTRA_CHARSET:Q}
# Options which affect generation of includes
CMAKE_ARGS+= -DWITH_ARIA_STORAGE_ENGINE=ON
CMAKE_ARGS+= -DWITH_PARTITION_STORAGE_ENGINE=ON
CMAKE_ARGS+= -DWITH_PERFSCHEMA_STORAGE_ENGINE=ON
CMAKE_ARGS+= -DWITHOUT_MROONGA_STORAGE_ENGINE=ON
CMAKE_ARGS+= -DENABLE_DTRACE=OFF
CMAKE_ARGS+= -DTOKUDB_OK=OFF
# Ensure the correct DTrace ABI is used.
.if !empty(ABI)
CMAKE_ARGS+= -DDTRACE_FLAGS="-${ABI}"
.endif
# Override some configure bits that are not correct (fixes groonga)
.if ${OPSYS} == "SunOS"
CMAKE_ARGS+= -DHAVE_NETINET_TCP_H=ON
CMAKE_ARGS+= -D_XPG4_2=1
CMAKE_ARGS+= -D__EXTENSIONS__=1
.endif
CPPFLAGS.NetBSD+= -D_NETBSD_SOURCE
CPPFLAGS.SunOS+= -fPIC
REPLACE_PERL+= scripts/mytop.sh
REPLACE_PERL+= sql-bench/*.sh
SUBST_CLASSES+= fixpaths
SUBST_STAGE.fixpaths= post-install
SUBST_FILES.fixpaths= ${DESTDIR}${PREFIX}/bin/mysqlbug
SUBST_SED.fixpaths= -e "s,${WRAPPER_BINDIR}/gcc,${CCPATH},g"
SUBST_SED.fixpaths+= -e "s,${WRAPPER_BINDIR}/g++,${CXXPATH},g"
SUBST_CLASSES+= perl
SUBST_STAGE.perl= pre-configure
SUBST_FILES.perl= ${WRKSRC}/scripts/CMakeLists.txt
SUBST_SED.perl= -e "s,/usr/bin/perl,${TOOLS_PATH.perl},g"
SUBST_SED.perl+= -e "s,/usr/local/bin/perl,${TOOLS_PATH.perl},g"
CHECK_INTERPRETER_SKIP+= share/mysql/test/*
CHECK_PORTABILITY_SKIP+= BUILD/compile-pentium-gcov
PKGCONFIG_OVERRIDE+= support-files/mariadb.pc.in
PKGCONFIG_OVERRIDE+= libmariadb/mariadb_config/libmariadb.pc.in
.include "options.mk"
.include "../../devel/readline/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../www/curl/buildlink3.mk"
.include "../../mk/curses.buildlink3.mk"
.include "../../mk/dlopen.buildlink3.mk"
BUILDLINK_TRANSFORM+= opt:-ldl:${BUILDLINK_LDADD.dl:Q}

312
mariadb104-client/PLIST Normal file
View File

@ -0,0 +1,312 @@
@comment $NetBSD$
bin/mariadb
bin/mariadb-access
bin/mariadb-admin
bin/mariadb-binlog
bin/mariadb-check
bin/mariadb-dump
bin/mariadb-find-rows
bin/mariadb-import
bin/mariadb-plugin
bin/mariadb-show
bin/mariadb-slap
bin/mariadb-test
bin/mariadb_config
bin/msql2mysql
bin/mysql
bin/mysql_config
bin/mysql_find_rows
bin/mysql_plugin
bin/mysqlaccess
bin/mysqladmin
bin/mysqlbinlog
bin/mysqlcheck
bin/mysqldump
bin/mysqlimport
bin/mysqlshow
bin/mysqlslap
bin/mysqltest
bin/mytop
bin/wsrep_sst_rsync_wan
include/mysql/errmsg.h
include/mysql/ma_list.h
include/mysql/ma_pvio.h
include/mysql/ma_tls.h
include/mysql/mariadb/ma_io.h
include/mysql/mariadb_com.h
include/mysql/mariadb_ctype.h
include/mysql/mariadb_dyncol.h
include/mysql/mariadb_rpl.h
include/mysql/mariadb_stmt.h
include/mysql/mariadb_version.h
include/mysql/my_config.h
include/mysql/my_global.h
include/mysql/my_sys.h
include/mysql/mysql.h
include/mysql/mysql/client_plugin.h
include/mysql/mysql/plugin_auth.h
include/mysql/mysql/plugin_auth_common.h
include/mysql/mysql_com.h
include/mysql/mysql_version.h
include/mysql/mysqld_error.h
include/mysql/server/big_endian.h
include/mysql/server/byte_order_generic.h
include/mysql/server/byte_order_generic_x86.h
include/mysql/server/byte_order_generic_x86_64.h
include/mysql/server/decimal.h
include/mysql/server/errmsg.h
include/mysql/server/handler_ername.h
include/mysql/server/handler_state.h
include/mysql/server/json_lib.h
include/mysql/server/keycache.h
include/mysql/server/little_endian.h
include/mysql/server/m_ctype.h
include/mysql/server/m_string.h
include/mysql/server/ma_dyncol.h
include/mysql/server/my_alloc.h
include/mysql/server/my_attribute.h
include/mysql/server/my_byteorder.h
include/mysql/server/my_compiler.h
include/mysql/server/my_config.h
include/mysql/server/my_dbug.h
include/mysql/server/my_decimal_limits.h
include/mysql/server/my_dir.h
include/mysql/server/my_getopt.h
include/mysql/server/my_global.h
include/mysql/server/my_list.h
include/mysql/server/my_net.h
include/mysql/server/my_pthread.h
include/mysql/server/my_sys.h
include/mysql/server/my_valgrind.h
include/mysql/server/my_xml.h
include/mysql/server/mysql.h
include/mysql/server/mysql/auth_dialog_client.h
include/mysql/server/mysql/client_plugin.h
include/mysql/server/mysql/plugin.h
include/mysql/server/mysql/plugin_audit.h
include/mysql/server/mysql/plugin_auth.h
include/mysql/server/mysql/plugin_auth_common.h
include/mysql/server/mysql/plugin_encryption.h
include/mysql/server/mysql/plugin_ftparser.h
include/mysql/server/mysql/plugin_password_validation.h
include/mysql/server/mysql/psi/mysql_file.h
include/mysql/server/mysql/psi/mysql_idle.h
include/mysql/server/mysql/psi/mysql_socket.h
include/mysql/server/mysql/psi/mysql_stage.h
include/mysql/server/mysql/psi/mysql_statement.h
include/mysql/server/mysql/psi/mysql_table.h
include/mysql/server/mysql/psi/mysql_thread.h
include/mysql/server/mysql/psi/psi.h
include/mysql/server/mysql/psi/psi_abi_v0.h
include/mysql/server/mysql/psi/psi_abi_v1.h
include/mysql/server/mysql/psi/psi_abi_v2.h
include/mysql/server/mysql/psi/psi_base.h
include/mysql/server/mysql/psi/psi_memory.h
include/mysql/server/mysql/service_base64.h
include/mysql/server/mysql/service_debug_sync.h
include/mysql/server/mysql/service_encryption.h
include/mysql/server/mysql/service_encryption_scheme.h
include/mysql/server/mysql/service_json.h
include/mysql/server/mysql/service_kill_statement.h
include/mysql/server/mysql/service_logger.h
include/mysql/server/mysql/service_md5.h
include/mysql/server/mysql/service_my_crypt.h
include/mysql/server/mysql/service_my_print_error.h
include/mysql/server/mysql/service_my_snprintf.h
include/mysql/server/mysql/service_progress_report.h
include/mysql/server/mysql/service_sha1.h
include/mysql/server/mysql/service_sha2.h
include/mysql/server/mysql/service_thd_alloc.h
include/mysql/server/mysql/service_thd_autoinc.h
include/mysql/server/mysql/service_thd_error_context.h
include/mysql/server/mysql/service_thd_rnd.h
include/mysql/server/mysql/service_thd_specifics.h
include/mysql/server/mysql/service_thd_timezone.h
include/mysql/server/mysql/service_thd_wait.h
include/mysql/server/mysql/service_wsrep.h
include/mysql/server/mysql/services.h
include/mysql/server/mysql_com.h
include/mysql/server/mysql_com_server.h
include/mysql/server/mysql_embed.h
include/mysql/server/mysql_time.h
include/mysql/server/mysql_version.h
include/mysql/server/mysqld_ername.h
include/mysql/server/mysqld_error.h
include/mysql/server/pack.h
include/mysql/server/private/aria_backup.h
include/mysql/server/private/atomic/gcc_builtins.h
include/mysql/server/private/atomic/generic-msvc.h
include/mysql/server/private/atomic/solaris.h
include/mysql/server/private/config.h
include/mysql/server/private/dur_prop.h
include/mysql/server/private/ft_global.h
include/mysql/server/private/hash.h
include/mysql/server/private/heap.h
include/mysql/server/private/intrusive_list.h
include/mysql/server/private/lf.h
include/mysql/server/private/maria.h
include/mysql/server/private/my_alarm.h
include/mysql/server/private/my_atomic.h
include/mysql/server/private/my_base.h
include/mysql/server/private/my_bit.h
include/mysql/server/private/my_bitmap.h
include/mysql/server/private/my_check_opt.h
include/mysql/server/private/my_compare.h
include/mysql/server/private/my_context.h
include/mysql/server/private/my_counter.h
include/mysql/server/private/my_cpu.h
include/mysql/server/private/my_crypt.h
include/mysql/server/private/my_default.h
include/mysql/server/private/my_handler_errors.h
include/mysql/server/private/my_libwrap.h
include/mysql/server/private/my_md5.h
include/mysql/server/private/my_nosys.h
include/mysql/server/private/my_rdtsc.h
include/mysql/server/private/my_rnd.h
include/mysql/server/private/my_service_manager.h
include/mysql/server/private/my_stacktrace.h
include/mysql/server/private/my_time.h
include/mysql/server/private/my_tree.h
include/mysql/server/private/my_uctype.h
include/mysql/server/private/my_user.h
include/mysql/server/private/myisam.h
include/mysql/server/private/myisamchk.h
include/mysql/server/private/myisammrg.h
include/mysql/server/private/myisampack.h
include/mysql/server/private/mysql_async.h
include/mysql/server/private/mysqld_default_groups.h
include/mysql/server/private/mysys_err.h
include/mysql/server/private/password.h
include/mysql/server/private/probes_mysql.h
include/mysql/server/private/probes_mysql_nodtrace.h
include/mysql/server/private/queues.h
include/mysql/server/private/rijndael.h
include/mysql/server/private/service_versions.h
include/mysql/server/private/source_revision.h
include/mysql/server/private/ssl_compat.h
include/mysql/server/private/t_ctype.h
include/mysql/server/private/thr_alarm.h
include/mysql/server/private/thr_lock.h
include/mysql/server/private/thr_timer.h
include/mysql/server/private/thread_pool_priv.h
include/mysql/server/private/violite.h
include/mysql/server/private/waiting_threads.h
include/mysql/server/private/welcome_copyright_notice.h
include/mysql/server/private/wqueue.h
include/mysql/server/private/wsrep.h
include/mysql/server/sql_common.h
include/mysql/server/sql_state.h
include/mysql/server/sslopt-case.h
include/mysql/server/sslopt-longopts.h
include/mysql/server/sslopt-vars.h
include/mysql/server/typelib.h
lib/libmariadb.so
lib/libmariadb.so.3
lib/libmariadbclient.a
lib/libmysqlclient.a
lib/libmysqlclient.so
lib/libmysqlclient_r.a
lib/libmysqlclient_r.so
lib/mysql/plugin/auth_gssapi_client.so
lib/mysql/plugin/caching_sha2_password.so
lib/mysql/plugin/client_ed25519.so
lib/mysql/plugin/dialog.so
lib/mysql/plugin/mysql_clear_password.so
lib/mysql/plugin/sha256_password.so
lib/pkgconfig/libmariadb.pc
man/man1/aria_chk.1
man/man1/aria_dump_log.1
man/man1/aria_ftdump.1
man/man1/aria_pack.1
man/man1/aria_read_log.1
man/man1/galera_new_cluster.1
man/man1/galera_recovery.1
man/man1/innochecksum.1
man/man1/mariabackup.1
man/man1/mariadb-access.1
man/man1/mariadb-admin.1
man/man1/mariadb-backup.1
man/man1/mariadb-binlog.1
man/man1/mariadb-check.1
man/man1/mariadb-client-test-embedded.1
man/man1/mariadb-client-test.1
man/man1/mariadb-convert-table-format.1
man/man1/mariadb-dump.1
man/man1/mariadb-dumpslow.1
man/man1/mariadb-embedded.1
man/man1/mariadb-find-rows.1
man/man1/mariadb-fix-extensions.1
man/man1/mariadb-hotcopy.1
man/man1/mariadb-import.1
man/man1/mariadb-install-db.1
man/man1/mariadb-ldb.1
man/man1/mariadb-plugin.1
man/man1/mariadb-secure-installation.1
man/man1/mariadb-service-convert.1
man/man1/mariadb-setpermission.1
man/man1/mariadb-show.1
man/man1/mariadb-slap.1
man/man1/mariadb-test-embedded.1
man/man1/mariadb-test.1
man/man1/mariadb-tzinfo-to-sql.1
man/man1/mariadb-upgrade.1
man/man1/mariadb-waitpid.1
man/man1/mariadb.1
man/man1/mariadbd-multi.1
man/man1/mariadbd-safe-helper.1
man/man1/mariadbd-safe.1
man/man1/mbstream.1
man/man1/msql2mysql.1
man/man1/my_print_defaults.1
man/man1/my_safe_process.1
man/man1/myisam_ftdump.1
man/man1/myisamchk.1
man/man1/myisamlog.1
man/man1/myisampack.1
man/man1/mysql-stress-test.pl.1
man/man1/mysql-test-run.pl.1
man/man1/mysql.1
man/man1/mysql.server.1
man/man1/mysql_client_test.1
man/man1/mysql_client_test_embedded.1
man/man1/mysql_config.1
man/man1/mysql_convert_table_format.1
man/man1/mysql_embedded.1
man/man1/mysql_find_rows.1
man/man1/mysql_fix_extensions.1
man/man1/mysql_install_db.1
man/man1/mysql_ldb.1
man/man1/mysql_plugin.1
man/man1/mysql_secure_installation.1
man/man1/mysql_setpermission.1
man/man1/mysql_tzinfo_to_sql.1
man/man1/mysql_upgrade.1
man/man1/mysql_waitpid.1
man/man1/mysqlaccess.1
man/man1/mysqladmin.1
man/man1/mysqlbinlog.1
man/man1/mysqlcheck.1
man/man1/mysqld_multi.1
man/man1/mysqld_safe.1
man/man1/mysqld_safe_helper.1
man/man1/mysqldump.1
man/man1/mysqldumpslow.1
man/man1/mysqlhotcopy.1
man/man1/mysqlimport.1
man/man1/mysqlshow.1
man/man1/mysqlslap.1
man/man1/mysqltest.1
man/man1/mysqltest_embedded.1
man/man1/perror.1
man/man1/replace.1
man/man1/resolve_stack_dump.1
man/man1/resolveip.1
man/man1/tokuft_logprint.1
man/man1/tokuftdump.1
man/man1/wsrep_sst_common.1
man/man1/wsrep_sst_mariabackup.1
man/man1/wsrep_sst_mysqldump.1
man/man1/wsrep_sst_rsync.1
man/man1/wsrep_sst_rsync_wan.1
man/man8/mariadbd.8
man/man8/mysqld.8

10
mariadb104-client/TODO Normal file
View File

@ -0,0 +1,10 @@
+ Build works on NetBSD
- Build needs testing on illumos
- Build needs testing on other OSes
- Server functionality needs testing
Non-essential:
- mroonga fails to build on NetBSD (on illumos too, apparently)
- tokudb fails to build on NetBSD (this was disabled in older packages, too)
- dtrace fails to build

View File

@ -0,0 +1,18 @@
# $NetBSD$
BUILDLINK_TREE+= mariadb-client
.if !defined(MARIADB_CLIENT_BUILDLINK3_MK)
MARIADB_CLIENT_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.mariadb-client+= mariadb-client>=10.4.0
BUILDLINK_ABI_DEPENDS.mariadb-client+= mariadb-client>=10.4.0
BUILDLINK_PKGSRCDIR.mariadb-client?= ../../wip/mariadb104-client
BUILDLINK_INCDIRS.mariadb-client+= include/mysql
BUILDLINK_LIBDIRS.mariadb-client+= lib
.include "../../security/openssl/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.endif # MARIADB_CLIENT_BUILDLINK3_MK
BUILDLINK_TREE+= -mariadb-client

View File

@ -0,0 +1,23 @@
$NetBSD$
SHA1 (mariadb-10.4.12.tar.gz) = 8a07057e1249c66c7cb11a92936d45ef242581b1
RMD160 (mariadb-10.4.12.tar.gz) = 1e7557957e163fe350b093794912c9d9294fda84
SHA512 (mariadb-10.4.12.tar.gz) = 518dae18c04a1f7fcc6fd4d2dfbfbfbdf5e83e72ca41e66e1074328df8d92ab41b458e6a9973771419ac09a7348f264f158916cd198c335085d6e823e707bbc6
Size (mariadb-10.4.12.tar.gz) = 79120835 bytes
SHA1 (patch-BUILD_compile-pentium32-gcov) = 89a7da728f94f19c153b4d2d2d6ba5462acc941f
SHA1 (patch-CMakeLists.txt) = 3f3a5fa151b5f51a7521ef6ee295c081f1dc5d60
SHA1 (patch-extra_wolfssl_wolfssl_certs_intermediate_genintcerts.sh) = cd9a982889b88f811c3e14ebdf9795b0fa5d1fad
SHA1 (patch-include_my__global.h) = a3b831f91ba2efea9f78e70ab4f706da23b80403
SHA1 (patch-mysys_my__context.c) = f9c7e6b3b68b857e7781cf5f36c49e88051cfb66
SHA1 (patch-plugin_auth__pam_CMakeLists.txt) = b941343898ddc175818b161021fb7fccccee3e28
SHA1 (patch-scripts_mysqld__safe.sh) = 4124e4c8df1527049f5eec9f3d2d4bbe80e7c33f
SHA1 (patch-sql_mysqld.cc) = 21f9ea79ca90a78f18598d55f209a1835b95858f
SHA1 (patch-storage_connect_tabvct.cpp) = 2e3c7cd7e4b0a86d443da47d3cc514b8b276d836
SHA1 (patch-storage_rocksdb_rdb__io__watchdog.cc) = 85ee5007cfda0d3070ec20b2b774738b01f8e083
SHA1 (patch-storage_rocksdb_rdb__io__watchdog.h) = d790c092d7d35d014c5ef209635c18614c3a8301
SHA1 (patch-storage_rocksdb_rocksdb_Makefile) = bc46f2991c66c20bf323a1d3c271a0ef329aafb0
SHA1 (patch-storage_tokudb_PerconaFT_portability_file.cc) = 830b4c6b20713c811fcd847c1e1abfd8441d0d4a
SHA1 (patch-storage_tokudb_PerconaFT_portability_toku__htod.h) = 66635f0f79310bb3b2975c64ba6432e9a40ece70
SHA1 (patch-storage_tokudb_PerconaFT_portability_toku__portability.h) = 75ede1251371eb467901a59672d39443d8c28031
SHA1 (patch-storage_tokudb_PerconaFT_src_CMakeLists.txt) = 3a9fb10c8515d256a9d58f18605733840bba1039
SHA1 (patch-support-files_mysql.server.sh) = a98d82cdda1dbd5ef8ebb7e457bb51661b5fd275

View File

@ -0,0 +1,16 @@
# $NetBSD$
PKG_OPTIONS_VAR= PKG_OPTIONS.mariadb104
PKG_SUPPORTED_OPTIONS+= ssl
PKG_SUGGESTED_OPTIONS+= ssl
.include "../../mk/bsd.options.mk"
# Enable OpenSSL support
.if !empty(PKG_OPTIONS:Mssl)
.include "../../security/openssl/buildlink3.mk"
CMAKE_ARGS+= -DWITH_SSL=system
.else
CMAKE_ARGS+= -DWITH_SSL=no
.endif

View File

@ -0,0 +1,15 @@
$NetBSD$
Shell portability.
--- BUILD/compile-pentium32-gcov.orig 2020-01-26 20:43:49.000000000 +0000
+++ BUILD/compile-pentium32-gcov
@@ -22,7 +22,7 @@ CCACHE_GCOV_VERSION_ENABLED=0
if ccache -V > /dev/null 2>&1
then
CCACHE_VER=`ccache -V | head -1 | sed s/"ccache version "//`
- if test "$CCACHE_VER" == "2.4-gcov"
+ if test "$CCACHE_VER" = "2.4-gcov"
then
CCACHE_GCOV_VERSION_ENABLED=1
else

View File

@ -0,0 +1,67 @@
$NetBSD$
Allow building a server-only configuration.
--- CMakeLists.txt.orig 2020-01-26 20:43:49.000000000 +0000
+++ CMakeLists.txt
@@ -400,24 +400,30 @@ ENDIF()
SET (MYSQLD_STATIC_PLUGIN_LIBS "" CACHE INTERNAL "")
-INCLUDE(mariadb_connector_c) # this does ADD_SUBDIRECTORY(libmariadb)
-
# Add storage engines and plugins.
CONFIGURE_PLUGINS()
-ADD_SUBDIRECTORY(include)
+INCLUDE(cmake/abi_check.cmake)
+INCLUDE(cmake/tags.cmake)
+INCLUDE(for_clients)
+
ADD_SUBDIRECTORY(dbug)
ADD_SUBDIRECTORY(strings)
ADD_SUBDIRECTORY(vio)
ADD_SUBDIRECTORY(mysys)
ADD_SUBDIRECTORY(mysys_ssl)
-ADD_SUBDIRECTORY(client)
ADD_SUBDIRECTORY(extra)
ADD_SUBDIRECTORY(libservices)
ADD_SUBDIRECTORY(sql/share)
-IF(NOT WITHOUT_SERVER)
+IF(WITHOUT_SERVER)
+ INCLUDE(mariadb_connector_c) # this does ADD_SUBDIRECTORY(libmariadb)
+ ADD_SUBDIRECTORY(include)
+ ADD_SUBDIRECTORY(client)
ADD_SUBDIRECTORY(tests)
+ ADD_SUBDIRECTORY(scripts)
+ ADD_SUBDIRECTORY(man)
+ELSE()
ADD_SUBDIRECTORY(sql)
OPTION (WITH_EMBEDDED_SERVER "Compile MySQL with embedded server" OFF)
IF(WITH_EMBEDDED_SERVER)
@@ -435,21 +441,14 @@ IF(NOT WITHOUT_SERVER)
ENDIF()
ENDIF()
-IF(UNIX)
- ADD_SUBDIRECTORY(man)
-ENDIF()
-
-INCLUDE(cmake/abi_check.cmake)
-INCLUDE(cmake/tags.cmake)
-INCLUDE(for_clients)
-ADD_SUBDIRECTORY(scripts)
-ADD_SUBDIRECTORY(support-files)
ADD_SUBDIRECTORY(extra/aws_sdk)
IF(NOT CMAKE_CROSSCOMPILING)
- SET(EXPORTED comp_err comp_sql factorial)
+ SET(EXPORTED comp_err factorial)
IF(NOT WITHOUT_SERVER)
SET(EXPORTED ${EXPORTED} gen_lex_hash gen_lex_token)
+ ELSE()
+ SET(EXPORTED ${EXPORTED} comp_sql)
ENDIF()
# minimal target to build only binaries for export
ADD_CUSTOM_TARGET(import_executables DEPENDS ${EXPORTED})

View File

@ -0,0 +1,20 @@
$NetBSD$
Shell portability.
--- extra/wolfssl/wolfssl/certs/intermediate/genintcerts.sh.orig 2020-01-26 20:43:50.000000000 +0000
+++ extra/wolfssl/wolfssl/certs/intermediate/genintcerts.sh
@@ -175,11 +175,11 @@ create_cert() {
mv ./certs/intermediate/tmp.pem ./certs/intermediate/$4.pem
}
-if [ "$1" == "clean" ]; then
+if [ "$1" = "clean" ]; then
echo "Cleaning temp files"
cleanup_files
fi
-if [ "$1" == "cleanall" ]; then
+if [ "$1" = "cleanall" ]; then
echo "Cleaning all files"
rm -f ./certs/intermediate/*.pem
rm -f ./certs/intermediate/*.der

View File

@ -0,0 +1,20 @@
$NetBSD$
NetBSD guards C99 printf format macros, needs to be triggered
here for early includes.
--- include/my_global.h.orig 2015-02-25 15:40:54.000000000 +0000
+++ include/my_global.h
@@ -50,6 +50,12 @@
#define _POSIX_THREAD_CPUTIME
#endif /* __CYGWIN__ */
+/* NetBSD guards C99 printf format macros, needs to be triggered
+ here for early includes */
+#if defined(__NetBSD__)
+#define __STDC_FORMAT_MACROS
+#endif
+
#if defined(__OpenBSD__) && (OpenBSD >= 200411)
#define HAVE_ERRNO_AS_DEFINE
#endif

View File

@ -0,0 +1,24 @@
$NetBSD$
Don't insert DWARF directives on SunOS.
--- mysys/my_context.c.orig 2020-03-25 10:28:39.248862779 +0000
+++ mysys/my_context.c
@@ -207,7 +207,7 @@ my_context_spawn(struct my_context *c, v
"movq %%rsp, (%[save])\n\t"
"movq %[stack], %%rsp\n\t"
#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) || __clang__) && \
- !defined(__INTEL_COMPILER)
+ !defined(__INTEL_COMPILER) && !defined(__sun)
/*
This emits a DWARF DW_CFA_undefined directive to make the return address
undefined. This indicates that this is the top of the stack frame, and
@@ -455,7 +455,7 @@ my_context_spawn(struct my_context *c, v
(
"movl %%esp, (%[save])\n\t"
"movl %[stack], %%esp\n\t"
-#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) && !defined(__INTEL_COMPILER)
+#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) && !defined(__INTEL_COMPILER) && !defined(__sun)
/*
This emits a DWARF DW_CFA_undefined directive to make the return address
undefined. This indicates that this is the top of the stack frame, and

View File

@ -0,0 +1,23 @@
$NetBSD$
Check for pam_ext.h (not available on NetBSD).
--- plugin/auth_pam/CMakeLists.txt.orig 2020-01-26 20:43:53.000000000 +0000
+++ plugin/auth_pam/CMakeLists.txt
@@ -2,6 +2,7 @@ INCLUDE (CheckIncludeFiles)
INCLUDE (CheckFunctionExists)
CHECK_INCLUDE_FILES (security/pam_appl.h HAVE_PAM_APPL_H)
+CHECK_INCLUDE_FILES (security/pam_ext.h HAVE_PAM_EXT_H)
CHECK_FUNCTION_EXISTS (strndup HAVE_STRNDUP)
IF(HAVE_PAM_APPL_H)
@@ -21,7 +22,7 @@ IF(HAVE_PAM_APPL_H)
WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${INSTALL_PLUGINDIR}/)"
COMPONENT Server)
ENDIF()
- IF(TARGET auth_pam OR TARGET auth_pam_v1)
+ IF(HAVE_PAM_EXT_H AND (TARGET auth_pam OR TARGET auth_pam_v1))
ADD_SUBDIRECTORY(testing)
ADD_LIBRARY(pam_user_map MODULE mapper/pam_user_map.c)
TARGET_LINK_LIBRARIES(pam_user_map pam)

View File

@ -0,0 +1,15 @@
$NetBSD$
Shell portability.
--- scripts/mysqld_safe.sh.orig 2020-01-26 20:43:53.000000000 +0000
+++ scripts/mysqld_safe.sh
@@ -210,7 +210,7 @@ wsrep_pick_url() {
nc -z "$host" $port >/dev/null && break
done
- if [ "$url" == "0" ]; then
+ if [ "$url" = "0" ]; then
log_error "ERROR: none of the URLs in '$@' is reachable."
return 1
fi

View File

@ -0,0 +1,18 @@
$NetBSD$
NetBSD does not have SI_KERNEL...
--- sql/mysqld.cc.orig 2020-01-26 20:43:53.000000000 +0000
+++ sql/mysqld.cc
@@ -3282,7 +3282,11 @@ pthread_handler_t signal_hand(void *arg
}
break;
case SIGHUP:
+#ifdef SI_KERNEL
if (!abort_loop && origin != SI_KERNEL)
+#else
+ if (!abort_loop)
+#endif
{
int not_used;
mysql_print_status(); // Print some debug info

View File

@ -0,0 +1,15 @@
$NetBSD$
Don't redefine strerror.
--- storage/connect/tabvct.cpp.orig 2015-02-25 15:40:55.000000000 +0000
+++ storage/connect/tabvct.cpp
@@ -71,7 +71,7 @@
#include "tabvct.h"
#include "valblk.h"
-#if defined(UNIX)
+#if defined(UNIX) && !defined(__sun)
//add dummy strerror (NGC)
char *strerror(int num);
#endif // UNIX

View File

@ -0,0 +1,17 @@
$NetBSD$
If timer_t is an integer type, setting it to nullptr fails.
XXX: Using NULL turns it into a warning.
--- storage/rocksdb/rdb_io_watchdog.cc.orig 2020-01-26 20:43:56.000000000 +0000
+++ storage/rocksdb/rdb_io_watchdog.cc
@@ -111,7 +111,7 @@ void Rdb_io_watchdog::io_check_callback(
sql_print_warning("Deleting the watchdog I/O timer failed with %d.", errno);
}
- m_io_check_watchdog_timer = nullptr;
+ m_io_check_watchdog_timer = NULL;
RDB_MUTEX_UNLOCK_CHECK(m_reset_mutex);
}

View File

@ -0,0 +1,37 @@
$NetBSD$
If timer_t is an integer type, setting it to nullptr fails.
XXX: Using NULL turns it into a warning.
--- storage/rocksdb/rdb_io_watchdog.h.orig 2020-01-26 20:43:56.000000000 +0000
+++ storage/rocksdb/rdb_io_watchdog.h
@@ -60,7 +60,7 @@ class Rdb_io_watchdog {
ret = timer_delete(m_io_check_watchdog_timer);
if (!ret) {
- m_io_check_watchdog_timer = nullptr;
+ m_io_check_watchdog_timer = NULL;
}
}
@@ -68,7 +68,7 @@ class Rdb_io_watchdog {
ret = timer_delete(m_io_check_timer);
if (!ret) {
- m_io_check_timer = nullptr;
+ m_io_check_timer = NULL;
}
}
@@ -93,8 +93,8 @@ class Rdb_io_watchdog {
public:
explicit Rdb_io_watchdog(std::vector<std::string> &&directories)
- : m_io_check_timer(nullptr),
- m_io_check_watchdog_timer(nullptr),
+ : m_io_check_timer(NULL),
+ m_io_check_watchdog_timer(NULL),
m_io_in_progress(false),
m_dirs_to_check(std::move(directories)),
m_buf(nullptr) {

View File

@ -0,0 +1,15 @@
$NetBSD$
Shell portability.
--- storage/rocksdb/rocksdb/Makefile.orig 2020-01-26 20:43:50.000000000 +0000
+++ storage/rocksdb/rocksdb/Makefile
@@ -1830,7 +1830,7 @@ rocksdbjavastatic: $(java_static_all_lib
-o ./java/target/$(ROCKSDBJNILIB) $(JNI_NATIVE_SOURCES) \
$(java_static_all_libobjects) $(COVERAGEFLAGS) \
$(JAVA_COMPRESSIONS) $(JAVA_STATIC_LDFLAGS)
- cd java/target;if [ "$(DEBUG_LEVEL)" == "0" ]; then \
+ cd java/target;if [ "$(DEBUG_LEVEL)" = "0" ]; then \
strip $(STRIPFLAGS) $(ROCKSDBJNILIB); \
fi
cd java;jar -cf target/$(ROCKSDB_JAR) HISTORY*.md

View File

@ -0,0 +1,16 @@
$NetBSD$
Add directio support on SunOS.
--- storage/tokudb/PerconaFT/portability/file.cc.orig 2015-02-25 15:40:56.000000000 +0000
+++ storage/tokudb/PerconaFT/portability/file.cc
@@ -373,6 +373,9 @@ toku_os_open_direct(const char *path, in
perror("setting F_NOCACHE");
}
}
+#elif defined(__sun)
+ rval = toku_os_open(path, oflag, mode);
+ directio(rval, DIRECTIO_ON);
#else
# error "No direct I/O implementation found."
#endif

View File

@ -0,0 +1,30 @@
$NetBSD$
Detect endianness on SunOS.
--- storage/tokudb/PerconaFT/portability/toku_htod.h.orig 2020-01-26 20:43:56.000000000 +0000
+++ storage/tokudb/PerconaFT/portability/toku_htod.h
@@ -59,11 +59,23 @@ Copyright (c) 2006, 2015, Percona and/or
#if defined(HAVE_ENDIAN_H)
# include <endian.h>
+#define __BYTE_ORDER BYTE_ORDER
+#define __LITTLE_ENDIAN LITTLE_ENDIAN
+#define __BIG_ENDIAN BIG_ENDIAN
#elif defined(HAVE_MACHINE_ENDIAN_H)
# include <machine/endian.h>
# define __BYTE_ORDER __DARWIN_BYTE_ORDER
# define __LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN
# define __BIG_ENDIAN __DARWIN_BIG_ENDIAN
+#elif defined(__sun)
+# include <sys/isa_defs.h>
+# define __BIG_ENDIAN 4321
+# define __LITTLE_ENDIAN 1234
+# if defined(_BIG_ENDIAN)
+# define __BYTE_ORDER __BIG_ENDIAN
+# else
+# define __BYTE_ORDER __LITTLE_ENDIAN
+# endif
#endif
#if !defined(__BYTE_ORDER) || \
!defined(__LITTLE_ENDIAN) || \

View File

@ -0,0 +1,24 @@
$NetBSD$
Use proper attribute syntax on SunOS.
--- storage/tokudb/PerconaFT/portability/toku_portability.h.orig 2015-02-25 15:40:56.000000000 +0000
+++ storage/tokudb/PerconaFT/portability/toku_portability.h
@@ -200,7 +200,7 @@ int _dup2(int fd, int fd2)
#undef strdup
# if defined(__FreeBSD__)
char* strdup(const char *) __malloc_like __attribute__((__deprecated__));
-# elif defined(__APPLE__)
+# elif defined(__APPLE__) || defined(__sun)
char* strdup(const char *) __attribute__((__deprecated__));
# else
char* strdup(const char *) __THROW __attribute_malloc__ __nonnull ((1)) __attribute__((__deprecated__));
@@ -216,7 +216,7 @@ ssize_t pwrite(int, const void *, size_
extern void *malloc(size_t) __malloc_like __attribute__((__deprecated__));
extern void free(void*) __attribute__((__deprecated__));
extern void *realloc(void*, size_t) __malloc_like __attribute__((__deprecated__));
-# elif defined(__APPLE__)
+# elif defined(__APPLE__) || defined(__sun)
extern void *malloc(size_t) __attribute__((__deprecated__));
extern void free(void*) __attribute__((__deprecated__));
extern void *realloc(void*, size_t) __attribute__((__deprecated__));

View File

@ -0,0 +1,16 @@
$NetBSD$
Portability.
--- storage/tokudb/PerconaFT/src/CMakeLists.txt.orig 2015-02-25 15:40:56.000000000 +0000
+++ storage/tokudb/PerconaFT/src/CMakeLists.txt
@@ -36,7 +36,9 @@ set_property(TARGET ${LIBTOKUDB} tokudb_
configure_file(export.map . COPYONLY)
if (NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
add_space_separated_property(TARGET ${LIBTOKUDB} COMPILE_FLAGS "-fvisibility=hidden -fvisibility-inlines-hidden")
+ if (NOT CMAKE_SYSTEM_NAME STREQUAL SunOS)
add_space_separated_property(TARGET ${LIBTOKUDB} LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/export.map")
+ endif ()
endif ()
# detect when we are being built as a subproject

View File

@ -0,0 +1,15 @@
$NetBSD$
Shell portability.
--- support-files/mysql.server.sh.orig 2020-01-26 20:43:57.000000000 +0000
+++ support-files/mysql.server.sh
@@ -436,7 +436,7 @@ case "$mode" in
exit $r
;;
'bootstrap')
- if test "$_use_systemctl" == 1 ; then
+ if test "$_use_systemctl" = 1 ; then
log_failure_msg "Please use galera_new_cluster to start the mariadb service with --wsrep-new-cluster"
exit 1
fi

View File

@ -0,0 +1,16 @@
# $NetBSD$
case ${STAGE} in
POST-DEINSTALL)
if [ -d @MYSQL_DATADIR@ ]; then
${CAT} << EOF
===========================================================================
If you won't be using ${PKGNAME} any longer, and you don't
wish to preserve your existing databases, then you may remove the
following directory:
@MYSQL_DATADIR@
===========================================================================
EOF
fi
esac

14
mariadb104-server/DESCR Normal file
View File

@ -0,0 +1,14 @@
MariaDB Server is one of the most popular open source relational databases.
It's made by the original developers of MySQL.
MariaDB turns data into structured information in a wide array of applications,
ranging from banking to websites. It is an enhanced, drop-in replacement
for MySQL. MariaDB is used because it is fast, scalable and robust, with a
rich ecosystem of storage engines, plugins and many other tools make it very
versatile for a wide variety of use cases.
MariaDB is developed as open source software and as a relational database
it provides an SQL interface for accessing data. The latest versions of
MariaDB also include GIS and JSON features.
This package contains the MariaDB server programs and libraries.

21
mariadb104-server/MESSAGE Normal file
View File

@ -0,0 +1,21 @@
===========================================================================
$NetBSD$
After the tables are set up and the MariaDB server is running,
please remember to set a password for the MariaDB root user!
This is done by running both:
${PREFIX}/bin/mysqladmin -u root -p password 'new-password'
${PREFIX}/bin/mysqladmin -h `hostname` -u root -p password 'new-password'
The "Enter password:" prompt is asking for the existing password.
As there is no existing password, just press the Return key.
There is a script distributed with MariaDB that can help you lock down
an installation. This script has been installed to
${PREFIX}/bin/mysql_secure_installation.
Please see the manual and the MariaDB web site for more instructions.
===========================================================================

View File

@ -0,0 +1,57 @@
# $NetBSD$
PKGNAME= ${DISTNAME:S/-/-server-/}
COMMENT= MariaDB 10.4, a free SQL database (server)
CONFLICTS= mysql-server-[0-9]*
.include "../../wip/mariadb104-client/Makefile.common"
# We only need readline to placate the configure script if we don't build
# the embedded server as it is the only binary linked against "readline".
BUILDLINK_DEPMETHOD.readline= build
CMAKE_ARGS+= -DPYTHON_SHEBANG=${PYTHONBIN}
PLIST_VARS+= embedded
.include "../../mk/bsd.fast.prefs.mk"
MYSQL_USER?= mysql
MYSQL_GROUP?= mysql
MYSQL_PIDFILE?= ${MYSQL_DATADIR}/${HOST}.pid
PKG_USERS_VARS+= MYSQL_USER
PKG_GROUPS_VARS+= MYSQL_GROUP
PKG_GROUPS= ${MYSQL_GROUP}
PKG_USERS= ${MYSQL_USER}:${MYSQL_GROUP}
PKG_GECOS.${MYSQL_USER}= MariaDB administrator
PKG_HOME.${MYSQL_USER}= ${MYSQL_DATADIR}
PKG_SHELL.${MYSQL_USER}= ${SH}
RCD_SCRIPTS= mariadb
SMF_NAME= mariadb
SMF_METHODS= ${RCD_SCRIPTS}
FILES_SUBST+= HOSTNAME_CMD=${HOSTNAME_CMD:Q}
FILES_SUBST+= MYSQL_DATADIR=${MYSQL_DATADIR}
FILES_SUBST+= MYSQL_USER=${MYSQL_USER} MYSQL_GROUP=${MYSQL_GROUP}
FILES_SUBST+= MYSQL_PIDFILE=${MYSQL_PIDFILE}
MESSAGE_SUBST+= MYSQL_DATADIR=${MYSQL_DATADIR}
MESSAGE_SUBST+= MYSQL_USER=${MYSQL_USER} MYSQL_GROUP=${MYSQL_GROUP}
BUILD_DEFS+= MYSQL_DATADIR
.include "../../archivers/lz4/buildlink3.mk"
.include "../../wip/mariadb104-client/buildlink3.mk"
.include "../../devel/boost-libs/buildlink3.mk"
.include "../../devel/libexecinfo/buildlink3.mk"
.include "../../devel/libjudy/buildlink3.mk"
.include "../../devel/msgpack/buildlink3.mk"
.include "../../devel/pcre/buildlink3.mk"
.include "../../devel/snappy/buildlink3.mk"
.include "../../lang/python/application.mk"
.include "../../security/tcp_wrappers/buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

16043
mariadb104-server/PLIST Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,15 @@
# $NetBSD$
BUILDLINK_TREE+= mariadb-server
.if !defined(MARIADB_SERVER_BUILDLINK3_MK)
MARIADB_SERVER_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.mariadb-server+= mariadb-server>=10.4.0
BUILDLINK_ABI_DEPENDS.mariadb-server+= mariadb-server>=10.4.0
BUILDLINK_PKGSRCDIR.mariadb-server?= ../../wip/mariadb104-server
BUILDLINK_LIBDIRS.mariadb-server+= lib
.endif # MARIADB_SERVER_BUILDLINK3_MK
BUILDLINK_TREE+= -mariadb-server

View File

@ -0,0 +1,106 @@
#!@RCD_SCRIPTS_SHELL@
#
# $NetBSD$
#
# PROVIDE: mariadb
# REQUIRE: DAEMON LOGIN mountall
# KEYWORD: shutdown
#
# You will need to set some variables in /etc/rc.conf to start MariaDB:
#
# mariadb=YES
#
# The following variables are optional:
#
# mysqld_user="mysql" # user to run mysqld as
# mysqld_datadir="/path/to/home" # path to MariaDB database directory
# mysqld_pidfile="/path/to/p.pid" # path to MariaDB PID file
if [ -f /etc/rc.subr ]; then
. /etc/rc.subr
fi
name="mysqld"
rcvar="mariadb"
command="@PREFIX@/bin/mysqld_safe"
procname="@PREFIX@/sbin/${name}"
: ${mysqld_user:=@MYSQL_USER@}
: ${mysqld_group:=@MYSQL_GROUP@}
: ${mysqld_datadir:=@MYSQL_DATADIR@}
: ${mysqld_pidfile:=@MYSQL_PIDFILE@}
extra_commands="initdb"
initdb_cmd="mysqld_initdb"
start_precmd="mysqld_precmd"
start_cmd="mysqld_start"
mysqld_precmd()
{
if [ ! -d ${mysqld_datadir}/mysql ]; then
${initdb_cmd}
fi
}
mysqld_initdb()
{
initdb="@PREFIX@/bin/mysql_install_db"
if [ ! -x ${initdb} ]; then
return 1
fi
if [ -f ${mysqld_datadir}/mysql/host.frm ]; then
@ECHO@ "The MariaDB database has already been initialized."
@ECHO@ "Skipping database initialization."
else
@ECHO@ "Initializing MariaDB database system tables."
${initdb} --force --user=${mysqld_user} \
--datadir=${mysqld_datadir} || return 1
if [ -d ${mysqld_datadir} ]; then
@CHOWN@ -R ${mysqld_user}:${mysqld_group} \
${mysqld_datadir}
fi
fi
}
mysqld_start()
{
for f in $required_files; do
if [ ! -r "$f" ]; then
@ECHO@ 1>&2 "$0: WARNING: $f is not readable"
if [ -z $rc_force ]; then
return 1
fi
fi
done
@ECHO@ "Starting ${name} (MariaDB)."
ulimit -n 4096
cd @PREFIX@
${command} --user=${mysqld_user} --datadir=${mysqld_datadir} \
--pid-file=${mysqld_pidfile} ${mysqld_flags} \
${thread_flags} &
}
if [ -f /etc/rc.subr -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then
load_rc_config $name
pidfile="${mysqld_pidfile}"
run_rc_command "$1"
else
if [ -f /etc/rc.conf ]; then
. /etc/rc.conf
fi
pidfile="${mysqld_pidfile}"
case "$1" in
initdb)
eval ${initdb_cmd}
;;
stop)
if [ -r "${pidfile}" ]; then
@ECHO@ "Stopping ${name} (MariaDB)."
kill `@CAT@ ${pidfile}`
fi
;;
*)
eval ${start_precmd}
eval ${start_cmd}
;;
esac
fi

View File

@ -0,0 +1,32 @@
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<service_bundle type='manifest' name='@SMF_NAME@'>
<service name='@SMF_PREFIX@/@SMF_NAME@' type='service' version='1'>
<create_default_instance enabled='false' />
<single_instance />
<dependency name='fs' grouping='require_all' restart_on='none' type='service'>
<service_fmri value='svc:/system/filesystem/local' />
</dependency>
<dependency name='net' grouping='require_all' restart_on='none' type='service'>
<service_fmri value='svc:/network/loopback' />
</dependency>
<method_context project='mysql' working_directory='@MYSQL_DATADIR@'>
<method_credential user='@MYSQL_USER@' group='@MYSQL_GROUP@' />
<method_environment>
<envvar name='LD_PRELOAD_32' value='/usr/lib/extendedFILE.so.1' />
</method_environment>
</method_context>
<exec_method name='start' type='method' exec='@PREFIX@/@SMF_METHOD_FILE.mariadb@ start' timeout_seconds='0' />
<exec_method name='stop' type='method' exec='@PREFIX@/@SMF_METHOD_FILE.mariadb@ stop' timeout_seconds='0' />
<stability value='Evolving' />
<template>
<common_name>
<loctext xml:lang='C'>MariaDB database</loctext>
</common_name>
<documentation>
<manpage title='MariaDB' section='1' />
<doc_link name='mariadb.org' uri='https://mariadb.org/docs/' />
</documentation>
</template>
</service>
</service_bundle>

View File

@ -0,0 +1,31 @@
#!@SMF_METHOD_SHELL@
#
# $NetBSD$
#
# Init script for mysqld.
#
. /lib/svc/share/smf_include.sh
PIDFILE="@MYSQL_DATADIR@/mysql.pid"
ulimit -n 10240
case "$1" in
start)
@LOCALBASE@/sbin/mysqld --user=mysql \
--basedir=@LOCALBASE@ \
--datadir=@MYSQL_DATADIR@ \
--pid-file=${PIDFILE} \
--log-error=@VARBASE@/log/mysql/error.log &
;;
stop)
[ -f ${PIDFILE} ] && kill `@HEAD@ -1 ${PIDFILE}`
;;
*)
echo "Usage: $0 {start|stop}" >&2
exit 1
;;
esac
exit $SMF_EXIT_OK