Changeset View
Changeset View
Standalone View
Standalone View
databases/mysqlwsrep56-server/Makefile
# Created by: Alex Dupre <ale@FreeBSD.org> | # Created by: Philip Stoev <philip.stoev@galeracluster.com> | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
PORTNAME?= mysql | PORTNAME= mysqlwsrep | ||||
PORTVERSION= 5.6.35 | PORTVERSION= 5.6.35 | ||||
PORTREVISION?= 3 | |||||
matthew: These patches still don't apply cleanly to an up-to-date tree. In particular PORTREVISION here… | |||||
CATEGORIES= databases ipv6 | CATEGORIES= databases ipv6 | ||||
MASTER_SITES= MYSQL/MySQL-5.6 | MASTER_SITES= http://releases.galeracluster.com/source/ | ||||
PKGNAMESUFFIX?= 56-server | PKGNAMESUFFIX= 56-server | ||||
DISTNAME= mysql-wsrep-5.6.35-25.19 | |||||
MAINTAINER= mokhi64@gmail.com | MAINTAINER= info@galeracluster.com | ||||
COMMENT?= Multithreaded SQL database (server) | COMMENT= MySQL database enhanced with Galera replication (server package) | ||||
LICENSE= GPLv2 | LICENSE= GPLv2 | ||||
SLAVEDIRS= databases/mysql56-client | BUILD_DEPENDS= bison:devel/bison | ||||
USES= bison:build cmake:outsource compiler:c11 compiler:c++11-lib \ | RUN_DEPENDS= socat:net/socat lsof:sysutils/lsof netcat:net/netcat rsync:net/rsync | ||||
cpe libedit localbase perl5 shebangfix ssl | |||||
USE_PERL5= run | DATADIR= ${PREFIX}/share/mysql | ||||
MY_DBDIR= /var/db/mysql | BROKEN_powerpc64= Does not build | ||||
MY_SECDIR= /var/db/mysql_secure | |||||
MY_TMPDIR= /var/db/mysql_tmpdir | |||||
LIB_DEPENDS+= libevent.so:devel/libevent2 \ | USES= cmake:outsource shebangfix perl5 | ||||
Not Done Inline ActionsI'd suggest cmake:outsource, though the cmake itself is fine too. mmokhi: I'd suggest `cmake:outsource`, though the `cmake` itself is fine too. | |||||
mmokhiUnsubmitted Not Done Inline ActionsAh, sorry. mmokhi: Ah, sorry.
I almost forgot to say,
`USES=libedit` is needed when we use `… | |||||
liblz4.so:archivers/liblz4 | USE_PERL5= run | ||||
USE_LDCONFIG= yes | |||||
CMAKE_BUILD_TYPE= Release | CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql" \ | ||||
CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD \ | |||||
-DINSTALL_LDCONFIGDIR="${LOCALBASE}/libdata/ldconfig" \ | |||||
-DINSTALL_PKGCONFIGDIR="${LOCALBASE}/libdata/pkgconfig" \ | |||||
-DINSTALL_DOCDIR="share/doc/mysql" \ | |||||
-DINSTALL_DOCREADMEDIR="share/doc/mysql" \ | -DINSTALL_DOCREADMEDIR="share/doc/mysql" \ | ||||
-DINSTALL_INCLUDEDIR="include/mysql" \ | -DINSTALL_INCLUDEDIR="include/mysql" \ | ||||
-DINSTALL_INFODIR="info" \ | -DINSTALL_INFODIR="info" \ | ||||
-DINSTALL_LIBDIR="lib/mysql" \ | -DINSTALL_LIBDIR="lib/mysql" \ | ||||
-DINSTALL_MANDIR="man" \ | -DINSTALL_MANDIR="man" \ | ||||
-DINSTALL_MYSQLDATADIR="${MY_DBDIR}" \ | -DINSTALL_MYSQLDATADIR="/var/db/mysql" \ | ||||
Not Done Inline ActionsAny reason to not use MY_DBDIR any more ? mat: Any reason to not use MY_DBDIR any more ? | |||||
-DINSTALL_MYSQLKEYRINGDIR="etc/mysql/keyring" \ | |||||
-DINSTALL_MYSQLSHAREDIR="share/mysql" \ | -DINSTALL_MYSQLSHAREDIR="share/mysql" \ | ||||
-DINSTALL_MYSQLTESTDIR="share/mysql/tests" \ | -DINSTALL_MYSQLTESTDIR="share/mysql/tests" \ | ||||
-DINSTALL_PLUGINDIR="lib/mysql/plugin" \ | -DINSTALL_PLUGINDIR="lib/mysql/plugin" \ | ||||
-DINSTALL_SBINDIR="libexec" \ | -DINSTALL_SBINDIR="libexec" \ | ||||
-DINSTALL_SCRIPTDIR="bin" \ | -DINSTALL_SCRIPTDIR="bin" \ | ||||
-DINSTALL_SECURE_FILE_PRIVDIR="${MY_SECDIR}" \ | |||||
-DINSTALL_SHAREDIR="share" \ | -DINSTALL_SHAREDIR="share" \ | ||||
-DINSTALL_SQLBENCHDIR="share/mysql" \ | -DINSTALL_SQLBENCHDIR="share/mysql" \ | ||||
-DINSTALL_SUPPORTFILESDIR="share/mysql" \ | -DINSTALL_SUPPORTFILESDIR="share/mysql" \ | ||||
-DMYSQL_KEYRINGDIR="${ETCDIR}/keyring" \ | |||||
-DWITH_BOOST="${WRKSRC}/boost" \ | |||||
-DWITH_EDITLINE=system \ | -DWITH_EDITLINE=system \ | ||||
-DWITH_LIBEVENT=system \ | -DWITH_LIBWRAP=1 \ | ||||
-DWITH_LZ4=system \ | -DWITH_WSREP=1 | ||||
-DWITH_ZLIB=system \ | |||||
-DWITH_SSL=${OPENSSLBASE} \ | |||||
-DCRYPTO_LIBRARY=${OPENSSLLIB}/libcrypto.so \ | |||||
-DOPENSSL_LIBRARY=${OPENSSLLIB}/libssl.so \ | |||||
-DINSTALL_MYSQLTESTDIR=0 | |||||
SHEBANG_FILES= scripts/*.pl* scripts/*.sh | SHEBANG_FILES= scripts/*.pl* scripts/*.sh scripts/wsrep_sst_* | ||||
.ifdef USE_MYSQL | .ifdef USE_MYSQL | ||||
.error You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. Please undefine and try again. | .error You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. Please undefine and try again. | ||||
.endif | .endif | ||||
SUB_LIST= MY_DBDIR=${MY_DBDIR} \ | CONFLICTS_INSTALL= mysql5[0-9]-server-* \ | ||||
MY_SECDIR=${MY_SECDIR} \ | mariadb*-server-* \ | ||||
MY_TMPDIR=${MY_TMPDIR} | percona*-server-* | ||||
PLIST_SUB= MY_DBDIR=${MY_DBDIR} \ | |||||
MY_SECDIR=${MY_SECDIR} \ | |||||
MY_TMPDIR=${MY_TMPDIR} | |||||
# MySQL-Server part | |||||
.if !defined(CLIENT_ONLY) | |||||
USES+= mysql:56 | |||||
CONFLICTS_INSTALL= mysql5[0-57-9]-server-* \ | |||||
mysql[0-46-9][0-9]-server-* \ | |||||
mariadb[0-9][0-9]-server-* \ | |||||
percona[0-9][0-9]-server-* | |||||
USE_RC_SUBR= mysql-server | USE_RC_SUBR= mysql-server | ||||
SUB_FILES= my.cnf.sample | |||||
USERS= mysql | USERS= mysql | ||||
GROUPS= mysql | GROUPS= mysql | ||||
USE_LDCONFIG+= ${PREFIX}/lib/mysql/plugin | |||||
MMAN1= my_print_defaults.1 myisam_ftdump.1 myisamchk.1 myisamlog.1 myisampack.1 \ | MMAN1= my_print_defaults.1 myisam_ftdump.1 myisamchk.1 myisamlog.1 myisampack.1 \ | ||||
mysql.server.1 mysql_convert_table_format.1 mysql_fix_extensions.1 \ | mysql.server.1 mysql_convert_table_format.1 mysql_fix_extensions.1 \ | ||||
mysql_install_db.1 mysql_plugin.1 mysql_secure_installation.1 mysql_setpermission.1 \ | mysql_install_db.1 mysql_plugin.1 mysql_secure_installation.1 mysql_setpermission.1 \ | ||||
mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql_zap.1 mysqlbug.1 \ | mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql_zap.1 mysqlbug.1 \ | ||||
mysqld_multi.1 mysqld_safe.1 mysqldumpslow.1 mysqlhotcopy.1 mysqlman.1 \ | mysqld_multi.1 mysqld_safe.1 mysqldumpslow.1 mysqlhotcopy.1 mysqlman.1 \ | ||||
mysqltest.1 perror.1 replace.1 resolve_stack_dump.1 resolveip.1 | mysqltest.1 perror.1 replace.1 resolve_stack_dump.1 resolveip.1 | ||||
CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON" | |||||
OPTIONS_GROUP= STORAGE | |||||
OPTIONS_GROUP_STORAGE= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA | |||||
OPTIONS_SUB= YES | |||||
STORAGE_DESC= Permissible "Storage Engines" (to compile statically into the server) | |||||
ARCHIVE_DESC= Compile "Archive Storage" statically in server | |||||
BLACKHOLE_DESC= Compile "Blackhole Storage" statically in server | |||||
EXAMPLE_DESC= Compile "Example Storage" statically in server | |||||
FEDERATED_DESC= Compile "Federated Storage" statically in server | |||||
INNOBASE_DESC= Compile "InnoDB Storage" statically in server | |||||
PARTITION_DESC= Compile "Partitioning support Storage" statically in server | |||||
PERFSCHEMA_DESC= Compile "Performance Schema Storage" statically in server | |||||
ARCHIVE_CMAKE_ON= -DWITH_ARCHIVE_STORAGE_ENGINE=1 | |||||
BLACKHOLE_CMAKE_ON= -DWITH_BLACKHOLE_STORAGE_ENGINE=1 | |||||
EXAMPLE_CMAKE_ON= -DWITH_EXAMPLE_STORAGE_ENGINE=1 | |||||
FEDERATED_CMAKE_ON= -DWITH_FEDERATED_STORAGE_ENGINE=1 | |||||
INNOBASE_CMAKE_ON= -DWITH_INNOBASE_STORAGE_ENGINE=1 | |||||
PARTITION_CMAKE_ON= -DWITH_PARTITION_STORAGE_ENGINE=1 | |||||
PERFSCHEMA_CMAKE_ON= -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 | |||||
OPTIONS_GROUP+= FEATURES | |||||
OPTIONS_GROUP_FEATURES= PERFSCHM | |||||
FEATURES_DESC= Default features knobs | |||||
PERFSCHM_DESC= Enable "Performance Schema" by default (High RAM usage) | |||||
OPTIONS_DEFAULT+= PERFSCHM | |||||
PERFSCHM_SUB_LIST+= PERFSCHEMRC="" | |||||
PERFSCHM_SUB_LIST_OFF+= PERFSCHEMRC="--skip-performance-schema" | |||||
.endif | |||||
.include <bsd.port.pre.mk> | |||||
post-patch: | post-patch: | ||||
Done Inline ActionsThis part is always-false, cause AFAIK this is a server-only port. mmokhi: This part is always-false, cause AFAIK this is a server-only port.
But keep it if galeracluster… | |||||
@${REINPLACE_CMD} 's/*.1/${MMAN1}/' ${WRKSRC}/man/CMakeLists.txt | @${REINPLACE_CMD} 's/*.1/${MMAN1}/' ${WRKSRC}/man/CMakeLists.txt | ||||
.if !defined(CLIENT_ONLY) | .include <bsd.port.pre.mk> | ||||
post-install: | |||||
${MKDIR} ${STAGEDIR}${ETCDIR} | |||||
${INSTALL_DATA} ${WRKDIR}/my.cnf.sample ${STAGEDIR}${ETCDIR}/my.cnf.sample | |||||
${MKDIR} ${STAGEDIR}${ETCDIR}/keyring | |||||
${MKDIR} ${STAGEDIR}${MY_SECDIR} | |||||
${MKDIR} ${STAGEDIR}${MY_TMPDIR} | |||||
.endif | |||||
.if ${ARCH} == "armv6" | .if ${ARCH} == "armv6" | ||||
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-config.h.cmake | EXTRA_PATCHES+= ${FILESDIR}/extra-patch-config.h.cmake | ||||
.endif | .endif | ||||
.include <bsd.port.post.mk> | .include <bsd.port.post.mk> |
These patches still don't apply cleanly to an up-to-date tree. In particular PORTREVISION here should be *4*