Compare commits
237 Commits
c5b73c7c19
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 6548ba09f6 | |||
| aa53729584 | |||
| c729bfcb24 | |||
| 34549e9737 | |||
| f7aa855c57 | |||
| 3df13746aa | |||
| 19e7e133d1 | |||
| 6c2e867ab0 | |||
| 3c7cd52344 | |||
| 8544126ef2 | |||
| 1d39ae8491 | |||
| 2592c32254 | |||
| 108cad4157 | |||
| 82fe3b5fcc | |||
| 0ea4fb2088 | |||
| d790b9ed33 | |||
| f8dbaa22a0 | |||
| fb9bdce10a | |||
| ba38a2457f | |||
| afc6047814 | |||
| 7acb408e7d | |||
| 52d3f86b37 | |||
| 45d4e085cc | |||
| 0cf431dc97 | |||
| 7bc33a4aa5 | |||
| bc51ad4da5 | |||
| f8c2133b44 | |||
| f014c8afd9 | |||
| 71e43c341a | |||
| 7cde189318 | |||
| d7e134245c | |||
| fbf86c8f34 | |||
| 93f2480ef0 | |||
| afb8ac49b7 | |||
| 8befa9b010 | |||
| cff784a9d4 | |||
| 73d6aff554 | |||
| f1eb64b7f5 | |||
| abd4351249 | |||
| ec7155349f | |||
| fd4655d957 | |||
| 6dab8b2f18 | |||
| ee90a418d6 | |||
| 66b22f147f | |||
| a181190b3f | |||
| a2e43778b8 | |||
| 88e7ad955a | |||
| e23dca4a8c | |||
| b76a177d9f | |||
| 6ee87e0e92 | |||
| 384e9cd3fc | |||
| f75d65c04c | |||
| f0d8f5a3f2 | |||
| d1739433ef | |||
| 3b54995a82 | |||
| a97e82ec24 | |||
| 7e00fb2426 | |||
| 722d8098dd | |||
| 8b359169a1 | |||
| 001885d256 | |||
| 4f4c03701f | |||
| 7c2a94c399 | |||
| aa92ca9f89 | |||
| 11ade4f850 | |||
| 412201b193 | |||
| 733f329e12 | |||
| 1a69951521 | |||
| 705b4240eb | |||
| c5b8b6ec7c | |||
| 8810970ff7 | |||
| 5b4804de0e | |||
| 51d45e9bae | |||
| 1aad1427a9 | |||
| 58e703a9d8 | |||
| 666b94afea | |||
| 466ed70f74 | |||
| 72a4e6ac76 | |||
| cf12c13935 | |||
| b2505c34e4 | |||
| c22f73c04d | |||
| f15e5e297f | |||
| eeb1275958 | |||
| 7fc6c41cc5 | |||
| 8eb6b8f05f | |||
| 446f718b13 | |||
| acbaa67d26 | |||
| 44b23bafc3 | |||
| 617ee90998 | |||
| db7dae0a62 | |||
| 0dd1bf2e9c | |||
| 8cc1cef1fd | |||
| e2e1446597 | |||
| ce038c3bd9 | |||
| 1b6da007e3 | |||
| 023a0772a8 | |||
| 0094500a45 | |||
| 223ecbfc0f | |||
| 773c992991 | |||
| 163ad31fce | |||
| 49540576e3 | |||
| f0bf0bf427 | |||
| 71c418eedf | |||
| 405e99c4cc | |||
| b037aa6f3c | |||
| 8d28b1406e | |||
| 1724567115 | |||
| c6964c5ed7 | |||
| 21bb9220c4 | |||
| e9868dc745 | |||
| 218354026d | |||
| a1d501ba35 | |||
| f6ff52230b | |||
| c9e958d235 | |||
| dc9b59ccc0 | |||
| 762783c50c | |||
| 98a97ad489 | |||
| 6b32dda5a7 | |||
| 31eeafb011 | |||
| 1214291293 | |||
| 26a1a2f707 | |||
| 2c9e0206a0 | |||
| a3ca7ddab7 | |||
| 337fe33f3a | |||
| bbae96f0cd | |||
| 3f8d05a7cb | |||
| 45b083b50f | |||
| cbfe736462 | |||
| f1d6d84c72 | |||
| ec7fea8ffb | |||
| 3010baafd3 | |||
| bd64ef4f7b | |||
| 17b695b587 | |||
| 2b0788e34d | |||
| 15130ca2a3 | |||
| dd20e2937d | |||
| f3b44ec049 | |||
| be79208c62 | |||
| d19048dda5 | |||
| 04351943b1 | |||
| da062311d4 | |||
| dfe76d00db | |||
| 33a9a96daa | |||
| ecbde3039c | |||
| b41c3ca75c | |||
| 3581eca1c8 | |||
| b8246220b5 | |||
| 4361803f50 | |||
| 66920fdd49 | |||
| 7aa22724d4 | |||
| 89aa74043f | |||
| c11cceda2f | |||
| 783e621f59 | |||
| 166635ae5c | |||
| 77fa23b088 | |||
| 051937ad75 | |||
| 2b5496a20f | |||
| acdcb76e31 | |||
| 2fcf94a249 | |||
| 6265e3ee84 | |||
| 7c770cfb90 | |||
| 06b929466d | |||
| 4447036632 | |||
| de01928a4e | |||
| ca11902c51 | |||
| 81b70f3a5e | |||
| 53b60cbc27 | |||
| cdfff2f06d | |||
| f6bac9b95f | |||
| 490ebed1a2 | |||
| e9dd66620e | |||
| 71cec86c27 | |||
| 5ecc266da9 | |||
| 2887b2bc41 | |||
| 7b4ab6f642 | |||
| 8d5a764658 | |||
| a77f5f743f | |||
| 403ae864c8 | |||
| b15b4cb00e | |||
| 611a04f2fb | |||
| 276c36772e | |||
| 09cce557a8 | |||
| 39b1225600 | |||
| 11d2141e99 | |||
| fe885d33af | |||
| a324b16114 | |||
| f9446ae2bc | |||
| 89ed0f4b86 | |||
| 3dbc00e6a9 | |||
| a640d13601 | |||
| 6a8811e740 | |||
| 690eb31c22 | |||
| 9accb199e5 | |||
| bf9444e0b1 | |||
| 6de0037431 | |||
| a9a64115e1 | |||
| 699f92e91a | |||
| 39454779ee | |||
| 17afda2eca | |||
| d6e4b56d95 | |||
| 41ef715b17 | |||
| e003ad43ec | |||
| d6eda6be3c | |||
| 365c48dfcf | |||
| 631009dff7 | |||
| cb90af48a0 | |||
| fbac8f4d26 | |||
| b446e5eae2 | |||
| 3ec7667371 | |||
| 016c14dd0a | |||
| b9a8122aad | |||
| 734ab5e5e9 | |||
| cdd5fb7b20 | |||
| 383e9d32ef | |||
| ac8574249e | |||
| 6348dc22a1 | |||
| c4ef579e6f | |||
| 13d592d371 | |||
| 884f8e1f33 | |||
| bc0c00e1be | |||
| c192ddb5c0 | |||
| 2f48f28d81 | |||
| b9efabee8a | |||
| 0a6f821569 | |||
| 311f8f2bd7 | |||
| aa68c42e99 | |||
| ea504107f9 | |||
| 056469cb33 | |||
| 4d8fda1abc | |||
| e2fb7adf65 | |||
| d34bff2120 | |||
| 79a5671483 | |||
| 90c933683d | |||
| c2ac356ba8 | |||
| ebc1fc94b8 | |||
| 6519deb349 | |||
| 6dbf246d78 | |||
| ce6c4ac196 |
@ -1,208 +0,0 @@
|
||||
# Created by: Mahdi Mokhtari <mokhi64@gmail.com>
|
||||
# $FreeBSD: head/databases/mysql80-server/Makefile 553940 2020-11-03 00:56:26Z jbeich $
|
||||
|
||||
PORTNAME?= mysqlwsrep
|
||||
PORTVERSION= 8.0.21
|
||||
DISTVERSIONPREFIX?= wsrep_
|
||||
DISTVERSIONSUFFIX?= -26.4
|
||||
PORTREVISION?= 1
|
||||
CATEGORIES= databases
|
||||
MASTER_SITES= https://releases.galeracluster.com/mysql-wsrep-8.0/source/
|
||||
PKGNAMESUFFIX?= 80-server
|
||||
DISTNAME= mysql-wsrep-${PORTVERSION}${DISTVERSIONSUFFIX}
|
||||
|
||||
MAINTAINER= joneum@FreeBSD.org
|
||||
COMMENT?= Multithreaded SQL database (server)
|
||||
|
||||
LICENSE= GPLv2
|
||||
|
||||
WRKSRC= ${WRKDIR}/mysql-wsrep-${PORTVERSION}${DISTVERSIONSUFFIX}
|
||||
|
||||
SLAVEDIRS= databases/mysql80-client
|
||||
USES= bison:build cmake:noninja compiler:c++14-lang cpe \
|
||||
groff:run libedit localbase ncurses perl5 pkgconfig shebangfix ssl
|
||||
|
||||
USE_CXXSTD= c++14
|
||||
USE_PERL5= run
|
||||
|
||||
MY_DBDIR= /var/db/mysql
|
||||
MY_SECDIR= /var/db/mysql_secure
|
||||
MY_TMPDIR= /var/db/mysql_tmpdir
|
||||
|
||||
LIB_DEPENDS+= libcurl.so:ftp/curl \
|
||||
libevent.so:devel/libevent \
|
||||
libicutu.so:devel/icu \
|
||||
liblz4.so:archivers/liblz4 \
|
||||
libzstd.so:archivers/zstd \
|
||||
libprotobuf.so:devel/protobuf \
|
||||
${LIB_DEPENDS_${ARCH}}
|
||||
LIB_DEPENDS_aarch64= libunwind.so:devel/libunwind
|
||||
LIB_DEPENDS_amd64= libunwind.so:devel/libunwind
|
||||
LIB_DEPENDS_i386= libunwind.so:devel/libunwind
|
||||
LIB_DEPENDS_powerpc64= libunwind.so:devel/libunwind
|
||||
LIB_DEPENDS_powerpc64le= libunwind.so:devel/libunwind
|
||||
|
||||
BUILD_DEPENDS= liblz4>0:archivers/liblz4 \
|
||||
${BUILD_DEPENDS_${ARCH}}
|
||||
BUILD_DEPENDS_aarch64= libunwind>0:devel/libunwind
|
||||
BUILD_DEPENDS_amd64= libunwind>0:devel/libunwind
|
||||
BUILD_DEPENDS_i386= libunwind>0:devel/libunwind
|
||||
BUILD_DEPENDS_powerpc64= libunwind>0:devel/libunwind
|
||||
BUILD_DEPENDS_powerpc64le= libunwind>0:devel/libunwind
|
||||
|
||||
CMAKE_BUILD_TYPE= Release
|
||||
CFLAGS+= -fPIC
|
||||
|
||||
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_INCLUDEDIR="include/mysql" \
|
||||
-DINSTALL_INFODIR="${INFO_PATH}" \
|
||||
-DINSTALL_LIBDIR="lib/mysql" \
|
||||
-DINSTALL_MANDIR="man" \
|
||||
-DINSTALL_MYSQLDATADIR="${MY_DBDIR}" \
|
||||
-DINSTALL_MYSQLKEYRINGDIR="etc/mysql/keyring" \
|
||||
-DINSTALL_MYSQLSHAREDIR="share/mysql" \
|
||||
-DINSTALL_MYSQLTESTDIR="" \
|
||||
-DINSTALL_PLUGINDIR="lib/mysql/plugin" \
|
||||
-DINSTALL_SBINDIR="libexec" \
|
||||
-DINSTALL_SCRIPTDIR="bin" \
|
||||
-DINSTALL_SECURE_FILE_PRIVDIR="${MY_SECDIR}" \
|
||||
-DINSTALL_SHAREDIR="share" \
|
||||
-DINSTALL_SUPPORTFILESDIR="share/mysql" \
|
||||
-DMYSQL_KEYRINGDIR="${ETCDIR}/keyring" \
|
||||
-DWITH_BOOST="${WRKSRC}/boost" \
|
||||
-DWITH_SYSTEM_LIBS=1 \
|
||||
-DWITH_EDITLINE=system \
|
||||
-DWITH_LIBEVENT=system \
|
||||
-DWITH_LZ4=system \
|
||||
-DWITH_ICU=system \
|
||||
-DWITH_CURL=system \
|
||||
-DWITH_ZLIB=system \
|
||||
-DWITH_ZSTD=system \
|
||||
-DWITH_PROTOBUF=system \
|
||||
-DWITH_SSL=${OPENSSLBASE} \
|
||||
-DBUILD_BUNDLED_ZLIB=0 \
|
||||
-DBUILD_BUNDLED_LZ4=0
|
||||
|
||||
# The Mroonga, RocksDB, and TokuDB storage engines are disabled.
|
||||
# Mroonga is only buildable on little endian archs.
|
||||
# RocksDB is only buildable on little endian archs and requires POSIX timers.
|
||||
# TokuDB is only buildable on 64-bit little endian archs.
|
||||
CMAKE_ARGS+= -DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
|
||||
-DWITHOUT_ROCKSDB_STORAGE_ENGINE=1 \
|
||||
-DWITHOUT_TOKUDB_STORAGE_ENGINE=1
|
||||
|
||||
SHEBANG_FILES= scripts/*.pl* scripts/*.sh
|
||||
|
||||
.ifdef USE_MYSQL
|
||||
IGNORE= You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. Please undefine and try again.
|
||||
.endif
|
||||
|
||||
SUB_LIST= MY_DBDIR=${MY_DBDIR} \
|
||||
MY_SECDIR=${MY_SECDIR} \
|
||||
MY_TMPDIR=${MY_TMPDIR}
|
||||
|
||||
PLIST_SUB= MY_DBDIR=${MY_DBDIR} \
|
||||
MY_SECDIR=${MY_SECDIR} \
|
||||
MY_TMPDIR=${MY_TMPDIR} \
|
||||
MYSQL80_LIBVER=${MYSQL80_LIBVER}
|
||||
|
||||
# MySQL-Server part
|
||||
.if !defined(CLIENT_ONLY)
|
||||
USES+= mysql:80
|
||||
|
||||
CONFLICTS_INSTALL= mysql8[1-9]-server-* \
|
||||
mysql[0-79][0-9]-server-* \
|
||||
mysqlwsrep* \
|
||||
mariadb[0-9][0-9]-server-* \
|
||||
percona[0-9][0-9]-server-*
|
||||
|
||||
USE_RC_SUBR= mysql-server
|
||||
|
||||
SUB_FILES= my.cnf.sample pkg-message
|
||||
|
||||
USERS= mysql
|
||||
GROUPS= mysql
|
||||
|
||||
USE_LDCONFIG+= ${PREFIX}/lib/mysql/plugin
|
||||
|
||||
MMAN1= ibd2sdi.1 innochecksum.1 my_print_defaults.1 myisam_ftdump.1 myisamchk.1 \
|
||||
myisamlog.1 myisampack.1 mysql_secure_installation.1 mysql_ssl_rsa_setup.1 \
|
||||
mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql.server.1 mysqldumpslow.1 mysqld_multi.1 \
|
||||
mysqld_safe.1 mysqlrouter_passwd.1 mysqlrouter_plugin_info.1 mysqlrouter.1
|
||||
MMAN8= mysqld.8
|
||||
|
||||
CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON"
|
||||
CMAKE_ARGS+= -DWITHOUT_CLIENTLIBS="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"
|
||||
FEDERATED_SUB_LIST+= FEDER="--federated"
|
||||
FEDERATED_SUB_LIST_OFF+= FEDER=""
|
||||
.endif
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
# Since 8.0.20 release innodb engine uses new memory alligned allocator
|
||||
# which is broken on i386 due to different size of types and caused a
|
||||
# 'static_assert(alignof(T) <= alignof(std::max_align_t))' error
|
||||
.if ${ARCH} == i386
|
||||
CMAKE_ARGS+= -DDISABLE_PSI_MEMORY=1
|
||||
.endif
|
||||
|
||||
.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200057
|
||||
SUB_LIST+= LEGACY_LIMITS="@comment " MODERN_LIMITS=""
|
||||
.else
|
||||
SUB_LIST+= LEGACY_LIMITS="" MODERN_LIMITS="@comment "
|
||||
.endif
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if ${CHOSEN_COMPILER_TYPE} == clang && ${OPSYS} == FreeBSD && ${OSVERSION} >= 1300109
|
||||
BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
|
||||
CC= ${LOCALBASE}/bin/clang${LLVM_DEFAULT}
|
||||
CXX= ${LOCALBASE}/bin/clang++${LLVM_DEFAULT}
|
||||
.endif
|
||||
|
||||
post-extract:
|
||||
@${RM} -rv ${WRKSRC}/sql/sql_hints.yy.cc ${WRKSRC}/sql/sql_hints.yy.h
|
||||
|
||||
.if !defined(CLIENT_ONLY)
|
||||
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
|
||||
|
||||
.include <bsd.port.post.mk>
|
||||
@ -1,3 +0,0 @@
|
||||
TIMESTAMP = 1608572785
|
||||
SHA256 (mysql-wsrep-8.0.21-26.4.tar.gz) = e367b0545dc30aa119a22628e0c3a3f7a469399148800621968dea066c1b33e2
|
||||
SIZE (mysql-wsrep-8.0.21-26.4.tar.gz) = 285710964
|
||||
@ -1,12 +0,0 @@
|
||||
--- config.h.cmake.orig 2014-12-05 16:24:02 UTC
|
||||
+++ config.h.cmake
|
||||
@@ -151,7 +151,8 @@
|
||||
#cmakedefine HAVE_FESETROUND 1
|
||||
#cmakedefine HAVE_FINITE 1
|
||||
#cmakedefine HAVE_FP_EXCEPT 1
|
||||
-#cmakedefine HAVE_FPSETMASK 1
|
||||
+#cmakedefine HAVE_FPSETMASK 0
|
||||
+#cmakedefine HAVE_FEDISABLEEXCEPT 1
|
||||
#cmakedefine HAVE_FSEEKO 1
|
||||
#cmakedefine HAVE_FSYNC 1
|
||||
#cmakedefine HAVE_FTIME 1
|
||||
@ -1,62 +0,0 @@
|
||||
# $FreeBSD: head/databases/mysql80-server/files/my.cnf.sample.in 469734 2018-05-12 15:35:25Z mmokhi $
|
||||
|
||||
[client]
|
||||
port = 3306
|
||||
socket = /tmp/mysql.sock
|
||||
|
||||
[mysql]
|
||||
prompt = \u@\h [\d]>\_
|
||||
no_auto_rehash
|
||||
|
||||
[mysqld]
|
||||
user = mysql
|
||||
port = 3306
|
||||
socket = /tmp/mysql.sock
|
||||
bind-address = 127.0.0.1
|
||||
basedir = %%PREFIX%%
|
||||
datadir = %%MY_DBDIR%%
|
||||
tmpdir = %%MY_TMPDIR%%
|
||||
slave-load-tmpdir = %%MY_TMPDIR%%
|
||||
secure-file-priv = %%MY_SECDIR%%
|
||||
log-bin = mysql-bin
|
||||
log-output = TABLE
|
||||
master-info-repository = TABLE
|
||||
relay-log-info-repository = TABLE
|
||||
relay-log-recovery = 1
|
||||
slow-query-log = 1
|
||||
server-id = 1
|
||||
sync_binlog = 1
|
||||
sync_relay_log = 1
|
||||
binlog_cache_size = 16M
|
||||
expire_logs_days = 30
|
||||
default_password_lifetime = 0
|
||||
enforce-gtid-consistency = 1
|
||||
gtid-mode = ON
|
||||
safe-user-create = 1
|
||||
lower_case_table_names = 1
|
||||
explicit-defaults-for-timestamp = 1
|
||||
myisam-recover-options = BACKUP,FORCE
|
||||
open_files_limit = 32768
|
||||
table_open_cache = 16384
|
||||
table_definition_cache = 8192
|
||||
net_retry_count = 16384
|
||||
key_buffer_size = 256M
|
||||
max_allowed_packet = 64M
|
||||
long_query_time = 0.5
|
||||
innodb_buffer_pool_size = 1G
|
||||
innodb_data_home_dir = %%MY_DBDIR%%
|
||||
innodb_log_group_home_dir = %%MY_DBDIR%%
|
||||
innodb_data_file_path = ibdata1:128M:autoextend
|
||||
innodb_temp_data_file_path = ibtmp1:128M:autoextend
|
||||
innodb_flush_method = O_DIRECT
|
||||
innodb_log_file_size = 256M
|
||||
innodb_log_buffer_size = 16M
|
||||
innodb_write_io_threads = 8
|
||||
innodb_read_io_threads = 8
|
||||
innodb_autoinc_lock_mode = 2
|
||||
skip-symbolic-links
|
||||
|
||||
[mysqldump]
|
||||
max_allowed_packet = 256M
|
||||
quote_names
|
||||
quick
|
||||
@ -1,91 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# $FreeBSD: head/databases/mysql80-server/files/mysql-server.in 466508 2018-04-04 21:01:28Z mmokhi $
|
||||
#
|
||||
|
||||
# PROVIDE: mysql
|
||||
# REQUIRE: LOGIN
|
||||
# KEYWORD: shutdown
|
||||
|
||||
#
|
||||
# Add the following line to /etc/rc.conf to enable mysql:
|
||||
# mysql_enable (bool): Set to "NO" by default.
|
||||
# Set it to "YES" to enable MySQL.
|
||||
%%LEGACY_LIMITS%%# mysql_limits (bool): Set to "NO" by default.
|
||||
%%LEGACY_LIMITS%%# Set it to yes to run `limits -e -U mysql`
|
||||
%%LEGACY_LIMITS%%# just before mysql starts.
|
||||
# mysql_dbdir (str): Default to "%%MY_DBDIR%%"
|
||||
# Base database directory.
|
||||
# mysql_confdir (str): Default to "%%ETCDIR%%"
|
||||
# Base configuration directory.
|
||||
# mysql_optfile (str): Server-specific option file.
|
||||
# Set it in the rc.conf or default behaviour of
|
||||
# `mysqld_safe` itself, will be picking
|
||||
# ${mysql_confdir}/my.cnf if it exists.
|
||||
# mysql_pidfile (str): Custum PID file path and name.
|
||||
# Default to "${mysql_dbdir}/${hostname}.pid".
|
||||
# mysql_args (str): Custom additional arguments to be passed
|
||||
# to mysqld_safe (default empty).
|
||||
#
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
name="mysql"
|
||||
rcvar=mysql_enable
|
||||
|
||||
load_rc_config $name
|
||||
|
||||
: ${mysql_enable="NO"}
|
||||
%%LEGACY_LIMITS%%: ${mysql_limits="NO"}
|
||||
: ${mysql_dbdir="%%MY_DBDIR%%"}
|
||||
: ${mysql_confdir="%%ETCDIR%%"}
|
||||
if [ -f "${mysql_confdir}/my.cnf" ]; then
|
||||
: ${mysql_optfile="${mysql_confdir}/my.cnf"}
|
||||
elif [ -f "${mysql_dbdir}/my.cnf" ]; then
|
||||
: ${mysql_optfile="${mysql_dbdir}/my.cnf"}
|
||||
fi
|
||||
if [ ! -z "${mysql_optfile}" ]; then
|
||||
mysql_extra="--defaults-extra-file=${mysql_optfile}"
|
||||
fi
|
||||
|
||||
mysql_user="mysql"
|
||||
%%LEGACY_LIMITS%%mysql_limits_args="-e -U ${mysql_user}"
|
||||
: ${hostname:=`/bin/hostname`}
|
||||
pidfile=${mysql_pidfile:-"${mysql_dbdir}/${hostname}.pid"}
|
||||
command="/usr/sbin/daemon"
|
||||
command_args="-c -f %%PREFIX%%/bin/mysqld_safe ${mysql_extra} --basedir=%%PREFIX%% --datadir=${mysql_dbdir} --pid-file=${pidfile} --user=${mysql_user} ${mysql_args} %%FEDER%% %%PERFSCHEMRC%%"
|
||||
procname="%%PREFIX%%/libexec/mysqld"
|
||||
start_precmd="${name}_prestart"
|
||||
start_postcmd="${name}_poststart"
|
||||
mysqld_init="${procname}"
|
||||
mysqld_init_args="${mysql_extra} --initialize-insecure --basedir=%%PREFIX%% --datadir=${mysql_dbdir} --user=${mysql_user}"
|
||||
|
||||
mysql_create_auth_tables()
|
||||
{
|
||||
eval $mysqld_init $mysqld_init_args >/dev/null 2>/dev/null
|
||||
}
|
||||
|
||||
mysql_prestart()
|
||||
{
|
||||
if [ ! -d "${mysql_dbdir}/mysql/." ]; then
|
||||
mysql_create_auth_tables || return 1
|
||||
fi
|
||||
%%LEGACY_LIMITS%% if checkyesno mysql_limits; then
|
||||
%%LEGACY_LIMITS%% eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null
|
||||
%%LEGACY_LIMITS%% else
|
||||
%%LEGACY_LIMITS%% return 0
|
||||
%%LEGACY_LIMITS%% fi
|
||||
%%MODERN_LIMITS%% return 0
|
||||
}
|
||||
|
||||
mysql_poststart()
|
||||
{
|
||||
local timeout=15
|
||||
while [ ! -f "${pidfile}" -a ${timeout} -gt 0 ]; do
|
||||
timeout=$(( timeout - 1 ))
|
||||
sleep 1
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
run_rc_command "$1"
|
||||
@ -1,76 +0,0 @@
|
||||
--- CMakeLists.txt.orig 2020-09-23 12:37:48 UTC
|
||||
+++ CMakeLists.txt
|
||||
@@ -1417,10 +1417,10 @@ IF(WITH_AUTHENTICATION_LDAP)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
-# Add system/bundled editline.
|
||||
-MYSQL_CHECK_EDITLINE()
|
||||
# Add libevent
|
||||
-MYSQL_CHECK_LIBEVENT()
|
||||
+IF(NOT WITHOUT_SERVER)
|
||||
+ MYSQL_CHECK_LIBEVENT()
|
||||
+ENDIF()
|
||||
# Add lz4 library
|
||||
MYSQL_CHECK_LZ4()
|
||||
# Add icu library
|
||||
@@ -1520,7 +1520,9 @@ IF(WITH_UNIT_TESTS)
|
||||
INCLUDE(googletest)
|
||||
ENDIF()
|
||||
|
||||
-ADD_SUBDIRECTORY(include)
|
||||
+IF(NOT WITHOUT_CLIENTLIBS)
|
||||
+ ADD_SUBDIRECTORY(include)
|
||||
+ENDIF(NOT WITHOUT_CLIENTLIBS)
|
||||
ADD_SUBDIRECTORY(strings)
|
||||
ADD_SUBDIRECTORY(vio)
|
||||
ADD_SUBDIRECTORY(mysys)
|
||||
@@ -1562,12 +1564,17 @@ IF(WITH_UNIT_TESTS)
|
||||
ADD_SUBDIRECTORY(unittest/mytap/t)
|
||||
ENDIF()
|
||||
|
||||
-ADD_SUBDIRECTORY(client)
|
||||
+IF(NOT WITHOUT_TOOLS)
|
||||
+ # Add system/bundled editline
|
||||
+ MYSQL_CHECK_EDITLINE()
|
||||
+ ADD_SUBDIRECTORY(client)
|
||||
+ENDIF(NOT WITHOUT_TOOLS)
|
||||
+
|
||||
ADD_SUBDIRECTORY(utilities)
|
||||
-ADD_SUBDIRECTORY(share)
|
||||
ADD_SUBDIRECTORY(libservices)
|
||||
|
||||
IF(NOT WITHOUT_SERVER)
|
||||
+ ADD_SUBDIRECTORY(share)
|
||||
ADD_SUBDIRECTORY(testclients)
|
||||
ADD_SUBDIRECTORY(sql)
|
||||
ENDIF()
|
||||
@@ -1590,11 +1597,11 @@ ENDIF()
|
||||
# scripts/mysql_config depends on client and server targets loaded above.
|
||||
# It is referenced by some of the directories below, so we insert it here.
|
||||
ADD_SUBDIRECTORY(scripts)
|
||||
+ADD_SUBDIRECTORY(support-files)
|
||||
|
||||
IF(NOT WITHOUT_SERVER)
|
||||
ADD_SUBDIRECTORY(mysql-test)
|
||||
ADD_SUBDIRECTORY(mysql-test/lib/My/SafeProcess)
|
||||
- ADD_SUBDIRECTORY(support-files)
|
||||
IF(WITH_INTERNAL)
|
||||
ADD_SUBDIRECTORY(internal)
|
||||
ENDIF()
|
||||
@@ -1703,6 +1710,7 @@ IF(PACK_SEPARATE_COMPONENTS)
|
||||
SET(CPACK_COMPONENTS_GROUPING IGNORE)
|
||||
ENDIF()
|
||||
|
||||
+IF(FALSE)
|
||||
IF(UNIX)
|
||||
INSTALL(FILES
|
||||
Docs/mysql.info
|
||||
@@ -1737,6 +1745,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
|
||||
PATTERN "sp-imp-spec.txt" EXCLUDE
|
||||
PATTERN "README.build" EXCLUDE
|
||||
)
|
||||
+ENDIF()
|
||||
ENDIF()
|
||||
|
||||
# Now that we're done with all ADD_SUBDIRECTORY and thus all feature tests,
|
||||
@ -1,76 +0,0 @@
|
||||
--- client/CMakeLists.txt.orig 2019-09-20 08:30:51 UTC
|
||||
+++ client/CMakeLists.txt
|
||||
@@ -23,8 +23,11 @@
|
||||
## Subdirectory with common client code.
|
||||
ADD_SUBDIRECTORY(base)
|
||||
## Subdirectory for mysqlpump code.
|
||||
+IF(WITHOUT_SERVER)
|
||||
ADD_SUBDIRECTORY(dump)
|
||||
+ENDIF()
|
||||
|
||||
+IF(NOT WITHOUT_CLIENTLIBS)
|
||||
MYSQL_ADD_EXECUTABLE(mysql
|
||||
${CMAKE_SOURCE_DIR}/sql-common/net_ns.cc
|
||||
completion_hash.cc
|
||||
@@ -33,6 +36,7 @@ MYSQL_ADD_EXECUTABLE(mysql
|
||||
readline.cc
|
||||
LINK_LIBRARIES mysqlclient client_base ${EDITLINE_LIBRARY}
|
||||
)
|
||||
+ENDIF()
|
||||
|
||||
IF(NOT WITHOUT_SERVER)
|
||||
MYSQL_ADD_EXECUTABLE(mysql_upgrade
|
||||
@@ -48,6 +52,7 @@ IF(SOLARIS_SPARC AND CMAKE_BUILD_TYPE_UPPER STREQUAL "
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
+IF(NOT WITHOUT_SERVER)
|
||||
MYSQL_ADD_EXECUTABLE(mysqltest
|
||||
mysqltest.cc
|
||||
mysqltest/error_names.cc
|
||||
@@ -63,6 +68,9 @@ MYSQL_ADD_EXECUTABLE(mysqltest
|
||||
ENABLE_EXPORTS
|
||||
LINK_LIBRARIES mysqlclient
|
||||
)
|
||||
+ENDIF()
|
||||
+
|
||||
+IF(WITHOUT_SERVER)
|
||||
MYSQL_ADD_EXECUTABLE(mysqlcheck
|
||||
check/mysqlcheck.cc
|
||||
check/mysqlcheck_core.cc
|
||||
@@ -80,6 +88,7 @@ MYSQL_ADD_EXECUTABLE(mysqlshow
|
||||
mysqlshow.cc
|
||||
LINK_LIBRARIES mysqlclient
|
||||
)
|
||||
+
|
||||
MYSQL_ADD_EXECUTABLE(mysqlbinlog
|
||||
mysqlbinlog.cc
|
||||
${CMAKE_SOURCE_DIR}/sql/json_binary.cc
|
||||
@@ -104,7 +113,9 @@ MYSQL_ADD_EXECUTABLE(mysqlbinlog
|
||||
|
||||
TARGET_COMPILE_DEFINITIONS(mysqlbinlog PRIVATE DISABLE_PSI_MUTEX)
|
||||
TARGET_INCLUDE_DIRECTORIES(mysqlbinlog PRIVATE ${CMAKE_SOURCE_DIR}/sql)
|
||||
+ENDIF()
|
||||
|
||||
+IF(WITHOUT_SERVER)
|
||||
MYSQL_ADD_EXECUTABLE(mysqladmin
|
||||
mysqladmin.cc
|
||||
LINK_LIBRARIES mysqlclient
|
||||
@@ -117,6 +128,9 @@ MYSQL_ADD_EXECUTABLE(mysql_config_editor
|
||||
mysql_config_editor.cc
|
||||
LINK_LIBRARIES mysqlclient
|
||||
)
|
||||
+ENDIF()
|
||||
+
|
||||
+IF(NOT WITHOUT_SERVER)
|
||||
MYSQL_ADD_EXECUTABLE(mysql_secure_installation
|
||||
mysql_secure_installation.cc
|
||||
LINK_LIBRARIES mysqlclient
|
||||
@@ -127,6 +141,7 @@ MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup
|
||||
path.cc
|
||||
LINK_LIBRARIES mysys
|
||||
)
|
||||
+ENDIF()
|
||||
|
||||
# "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/".
|
||||
IF(WIN32)
|
||||
@ -1,95 +0,0 @@
|
||||
--- cmake/install_layout.cmake.orig 2019-12-09 19:53:17 UTC
|
||||
+++ cmake/install_layout.cmake
|
||||
@@ -41,6 +41,10 @@
|
||||
# Build with prefix=/usr/local/mysql, create tarball with install prefix="."
|
||||
# and relative links.
|
||||
#
|
||||
+# FREEBSD
|
||||
+# Build with prefix=/usr/local, create tarball with install prefix="."
|
||||
+# and relative links.
|
||||
+#
|
||||
# To force a directory layout, use -DINSTALL_LAYOUT=<layout>.
|
||||
#
|
||||
# The default is STANDALONE.
|
||||
@@ -80,7 +84,7 @@ IF(NOT INSTALL_LAYOUT)
|
||||
ENDIF()
|
||||
|
||||
SET(INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT}"
|
||||
- CACHE STRING "Installation directory layout. Options are: TARGZ (as in tar.gz installer), STANDALONE, RPM, DEB, SVR4"
|
||||
+ CACHE STRING "Installation directory layout. Options are: TARGZ (as in tar.gz installer), STANDALONE, FREEBSD, RPM, DEB, SVR4"
|
||||
)
|
||||
|
||||
IF(UNIX)
|
||||
@@ -98,7 +102,7 @@ IF(UNIX)
|
||||
CACHE PATH "install prefix" FORCE)
|
||||
ENDIF()
|
||||
SET(VALID_INSTALL_LAYOUTS
|
||||
- "RPM" "DEB" "SVR4" "TARGZ" "STANDALONE")
|
||||
+ "RPM" "DEB" "SVR4" "TARGZ" "FREEBSD" "STANDALONE")
|
||||
LIST(FIND VALID_INSTALL_LAYOUTS "${INSTALL_LAYOUT}" ind)
|
||||
IF(ind EQUAL -1)
|
||||
MESSAGE(FATAL_ERROR "Invalid INSTALL_LAYOUT parameter:${INSTALL_LAYOUT}."
|
||||
@@ -167,6 +171,32 @@ SET(INSTALL_MYSQLKEYRINGDIR_STANDALONE "keyring")
|
||||
SET(INSTALL_SECURE_FILE_PRIVDIR_STANDALONE ${secure_file_priv_path})
|
||||
|
||||
#
|
||||
+# FREEBSD layout
|
||||
+#
|
||||
+SET(INSTALL_BINDIR_FREEBSD "bin")
|
||||
+SET(INSTALL_SBINDIR_FREEBSD "bin")
|
||||
+#
|
||||
+SET(INSTALL_LIBDIR_FREEBSD "lib")
|
||||
+SET(INSTALL_PRIV_LIBDIR_FREEBSD "lib/private")
|
||||
+SET(INSTALL_PLUGINDIR_FREEBSD "lib/plugin")
|
||||
+#
|
||||
+SET(INSTALL_INCLUDEDIR_FREEBSD "include")
|
||||
+#
|
||||
+SET(INSTALL_DOCDIR_FREEBSD "docs")
|
||||
+SET(INSTALL_DOCREADMEDIR_FREEBSD ".")
|
||||
+SET(INSTALL_MANDIR_FREEBSD "man")
|
||||
+SET(INSTALL_INFODIR_FREEBSD "docs")
|
||||
+#
|
||||
+SET(INSTALL_SHAREDIR_FREEBSD "share")
|
||||
+SET(INSTALL_MYSQLSHAREDIR_FREEBSD "share")
|
||||
+SET(INSTALL_MYSQLTESTDIR_FREEBSD "mysql-test")
|
||||
+SET(INSTALL_SUPPORTFILESDIR_FREEBSD "support-files")
|
||||
+#
|
||||
+SET(INSTALL_MYSQLDATADIR_FREEBSD "data")
|
||||
+SET(INSTALL_MYSQLKEYRINGDIR_FREEBSD "keyring")
|
||||
+SET(INSTALL_SECURE_FILE_PRIVDIR_FREEBSD ${secure_file_priv_path})
|
||||
+
|
||||
+#
|
||||
# TARGZ layout
|
||||
#
|
||||
SET(INSTALL_BINDIR_TARGZ "bin")
|
||||
@@ -361,7 +391,7 @@ ENDIF()
|
||||
SET(ROUTER_INSTALL_LAYOUT "${DEFAULT_ROUTER_INSTALL_LAYOUT}"
|
||||
CACHE
|
||||
STRING
|
||||
- "Installation directory layout. Options are: STANDALONE RPM DEB SVR4 TARGZ")
|
||||
+ "Installation directory layout. Options are: STANDALONE FREEBSD RPM DEB SVR4 TARGZ")
|
||||
|
||||
# If we are shared STANDALONE with the the server, we shouldn't write
|
||||
# into the server's data/ as that would create a "schemadir" in
|
||||
@@ -405,6 +435,21 @@ FOREACH(var
|
||||
)
|
||||
SET(ROUTER_INSTALL_${var}DIR_TARGZ ${ROUTER_INSTALL_${var}DIR_STANDALONE})
|
||||
ENDFOREACH()
|
||||
+
|
||||
+#
|
||||
+# FreeBSD layout
|
||||
+#
|
||||
+SET(ROUTER_INSTALL_CONFIGDIR_FREEBSD "/usr/local/etc/mysqlrouter")
|
||||
+SET(ROUTER_INSTALL_DATADIR_FREEBSD "/var/db/mysqlrouter")
|
||||
+SET(ROUTER_INSTALL_LOGDIR_FREEBSD "/var/log/mysqlrouter")
|
||||
+SET(ROUTER_INSTALL_RUNTIMEDIR_FREEBSD "/var/run/mysqlrouter")
|
||||
+
|
||||
+SET(ROUTER_INSTALL_BINDIR_FREEBSD "bin")
|
||||
+SET(ROUTER_INSTALL_LIBDIR_FREEBSD "lib/mysql")
|
||||
+SET(ROUTER_INSTALL_PLUGINDIR_FREEBSD "lib/mysql/mysqlrouter")
|
||||
+SET(ROUTER_INSTALL_LOGROTATEDIR_FREEBSD "etc/logrotate.d")
|
||||
+SET(ROUTER_INSTALL_LOGROTATEFILE_FREEBSD "mysqlrouter")
|
||||
+SET(ROUTER_INSTALL_DOCDIR_FREEBSD "share/mysqlrouter/docs")
|
||||
|
||||
FOREACH(var
|
||||
LOGROTATE
|
||||
@ -1,27 +0,0 @@
|
||||
--- cmake/os/DragonFly.cmake.orig 2016-04-14 10:16:17 UTC
|
||||
+++ cmake/os/DragonFly.cmake
|
||||
@@ -0,0 +1,24 @@
|
||||
+INCLUDE(CheckCSourceRuns)
|
||||
+
|
||||
+# We require at least GCC 4.4 or Clang 3.3.
|
||||
+IF(NOT FORCE_UNSUPPORTED_COMPILER)
|
||||
+ IF(CMAKE_COMPILER_IS_GNUCC)
|
||||
+ EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion
|
||||
+ OUTPUT_VARIABLE GCC_VERSION)
|
||||
+ IF(GCC_VERSION VERSION_LESS 4.4)
|
||||
+ MESSAGE(FATAL_ERROR "GCC 4.4 or newer is required!")
|
||||
+ ENDIF()
|
||||
+ ELSEIF(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||
+ CHECK_C_SOURCE_RUNS("
|
||||
+ int main()
|
||||
+ {
|
||||
+ return (__clang_major__ < 3) ||
|
||||
+ (__clang_major__ == 3 && __clang_minor__ < 3);
|
||||
+ }" HAVE_SUPPORTED_CLANG_VERSION)
|
||||
+ IF(NOT HAVE_SUPPORTED_CLANG_VERSION)
|
||||
+ MESSAGE(FATAL_ERROR "Clang 3.3 or newer is required!")
|
||||
+ ENDIF()
|
||||
+ ELSE()
|
||||
+ MESSAGE(FATAL_ERROR "Unsupported compiler!")
|
||||
+ ENDIF()
|
||||
+ENDIF()
|
||||
@ -1,25 +0,0 @@
|
||||
--- cmake/os/FreeBSD.cmake.orig 2019-09-20 08:30:51 UTC
|
||||
+++ cmake/os/FreeBSD.cmake
|
||||
@@ -45,8 +45,20 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER)
|
||||
MESSAGE(FATAL_ERROR
|
||||
"GCC 5.3 or newer is required (-dumpversion says ${GCC_VERSION})")
|
||||
ENDIF()
|
||||
- ELSE()
|
||||
- MESSAGE(FATAL_ERROR "Unsupported compiler!")
|
||||
+ CHECK_C_SOURCE_RUNS("
|
||||
+ int main()
|
||||
+ {
|
||||
+ return (__clang_major__ >= 4);
|
||||
+ }" I386_ATOMIC_BUILTINS)
|
||||
+ IF((CMAKE_SYSTEM_PROCESSOR MATCHES "i386") AND (NOT I386_ATOMIC_BUILTINS))
|
||||
+ SET(HAVE_GCC_ATOMIC_BUILTINS CACHE INTERNAL "")
|
||||
+ ENDIF()
|
||||
+ ELSEIF(CMAKE_COMPILER_IS_GNUCC)
|
||||
+ EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion
|
||||
+ OUTPUT_VARIABLE GCC_VERSION)
|
||||
+ IF(GCC_VERSION VERSION_LESS 4.4)
|
||||
+ MESSAGE(FATAL_ERROR "GCC 4.4 or newer is required!")
|
||||
+ ENDIF()
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
@ -1,27 +0,0 @@
|
||||
--- cmake/plugin.cmake.orig 2019-09-20 08:30:51 UTC
|
||||
+++ cmake/plugin.cmake
|
||||
@@ -230,15 +230,15 @@ MACRO(MYSQL_ADD_PLUGIN plugin_arg)
|
||||
|
||||
# For testing purposes, we need
|
||||
# <...>/lib/plugin/debug/authentication_ldap_sasl_client.so
|
||||
- IF(ARG_CLIENT_ONLY)
|
||||
- INSTALL_DEBUG_TARGET(${target}
|
||||
- DESTINATION ${INSTALL_PLUGINDIR}/debug
|
||||
- COMPONENT Test)
|
||||
- ELSE()
|
||||
- INSTALL_DEBUG_TARGET(${target}
|
||||
- DESTINATION ${INSTALL_PLUGINDIR}/debug
|
||||
- COMPONENT ${INSTALL_COMPONENT})
|
||||
- ENDIF()
|
||||
+# IF(ARG_CLIENT_ONLY)
|
||||
+# INSTALL_DEBUG_TARGET(${target}
|
||||
+# DESTINATION ${INSTALL_PLUGINDIR}/debug
|
||||
+# COMPONENT Test)
|
||||
+# ELSE()
|
||||
+# INSTALL_DEBUG_TARGET(${target}
|
||||
+# DESTINATION ${INSTALL_PLUGINDIR}/debug
|
||||
+# COMPONENT ${INSTALL_COMPONENT})
|
||||
+# ENDIF()
|
||||
ENDIF()
|
||||
ELSE()
|
||||
IF(WITHOUT_${plugin})
|
||||
@ -1,28 +0,0 @@
|
||||
--- cmake/ssl.cmake.orig 2019-09-20 08:30:51 UTC
|
||||
+++ cmake/ssl.cmake
|
||||
@@ -199,7 +199,7 @@ MACRO (MYSQL_CHECK_SSL)
|
||||
# Encoded as MNNFFPPS: major minor fix patch status
|
||||
FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
|
||||
OPENSSL_VERSION_NUMBER
|
||||
- REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
|
||||
+ REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
|
||||
)
|
||||
STRING(REGEX REPLACE
|
||||
"^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
|
||||
@@ -214,13 +214,14 @@ MACRO (MYSQL_CHECK_SSL)
|
||||
OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
|
||||
)
|
||||
ENDIF()
|
||||
- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
|
||||
+ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION)
|
||||
+ IF(HAVE_TLS1_3_VERSION)
|
||||
ADD_DEFINITIONS(-DHAVE_TLSv13)
|
||||
ENDIF()
|
||||
IF(OPENSSL_INCLUDE_DIR AND
|
||||
OPENSSL_LIBRARY AND
|
||||
CRYPTO_LIBRARY AND
|
||||
- OPENSSL_MAJOR_VERSION STREQUAL "1"
|
||||
+ OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1"
|
||||
)
|
||||
SET(OPENSSL_FOUND TRUE)
|
||||
FIND_PROGRAM(OPENSSL_EXECUTABLE openssl
|
||||
@ -1,17 +0,0 @@
|
||||
Regressed by https://github.com/unicode-org/icu/commit/c3fe7e09d844
|
||||
|
||||
sql/mysqld.cc:6915:30: error: use of undeclared identifier 'TRUE'
|
||||
my_getopt_skip_unknown = TRUE;
|
||||
^
|
||||
|
||||
--- sql/mysqld.cc.orig 2020-06-16 16:31:03 UTC
|
||||
+++ sql/mysqld.cc
|
||||
@@ -6910,7 +6912,7 @@ int mysqld_main(int argc, char **argv)
|
||||
if (opt_keyring_migration_source || opt_keyring_migration_destination ||
|
||||
migrate_connect_options) {
|
||||
Migrate_keyring mk;
|
||||
- my_getopt_skip_unknown = TRUE;
|
||||
+ my_getopt_skip_unknown = true;
|
||||
if (mk.init(remaining_argc, remaining_argv, opt_keyring_migration_source,
|
||||
opt_keyring_migration_destination, opt_keyring_migration_user,
|
||||
opt_keyring_migration_host, opt_keyring_migration_password,
|
||||
@ -1,176 +0,0 @@
|
||||
--- include/CMakeLists.txt.orig 2019-12-09 19:53:17 UTC
|
||||
+++ include/CMakeLists.txt
|
||||
@@ -37,10 +37,173 @@ SET(HEADERS
|
||||
${CMAKE_CURRENT_BINARY_DIR}/mysql_version.h
|
||||
${CMAKE_CURRENT_BINARY_DIR}/mysqld_error.h
|
||||
field_types.h
|
||||
+ base64.h
|
||||
+ big_endian.h
|
||||
+ c_string_less.h
|
||||
+ crypt_genhash_impl.h
|
||||
+ decimal.h
|
||||
+ depth_first_search.h
|
||||
+ dur_prop.h
|
||||
+ errmsg.h
|
||||
+ ft_global.h
|
||||
+ guard.h
|
||||
+ heap.h
|
||||
+ integer_digits.h
|
||||
+ keycache.h
|
||||
+ lex_string.h
|
||||
+ lf.h
|
||||
+ little_endian.h
|
||||
+ m_ctype.h
|
||||
+ m_string.h
|
||||
+ map_helpers.h
|
||||
+ mf_wcomp.h
|
||||
+ mutex_lock.h
|
||||
+ my_aes.h
|
||||
+ my_alloc.h
|
||||
+ my_atomic.h
|
||||
+ my_base.h
|
||||
+ my_bit.h
|
||||
+ my_bitmap.h
|
||||
+ my_byteorder.h
|
||||
+ my_check_opt.h
|
||||
+ my_command.h
|
||||
+ my_compare.h
|
||||
+ my_compiler.h
|
||||
+ my_dbug.h
|
||||
+ my_default.h
|
||||
+ my_dir.h
|
||||
+ my_double2ulonglong.h
|
||||
+ my_getopt.h
|
||||
+ my_hash_combine.h
|
||||
+ my_icp.h
|
||||
+ my_inttypes.h
|
||||
+ my_io.h
|
||||
+ my_list.h
|
||||
+ my_loglevel.h
|
||||
+ my_macros.h
|
||||
+ my_md5.h
|
||||
+ my_md5_size.h
|
||||
+ my_murmur3.h
|
||||
+ my_pointer_arithmetic.h
|
||||
+ my_psi_config.h
|
||||
+ my_rapidjson_size_t.h
|
||||
+ my_rdtsc.h
|
||||
+ my_rnd.h
|
||||
+ my_sharedlib.h
|
||||
+ my_shm_defaults.h
|
||||
+ my_sqlcommand.h
|
||||
+ my_stacktrace.h
|
||||
+ my_sys.h
|
||||
+ my_systime.h
|
||||
+ my_table_map.h
|
||||
+ my_thread.h
|
||||
+ my_thread_local.h
|
||||
+ my_thread_os_id.h
|
||||
+ my_time.h
|
||||
+ my_timer.h
|
||||
+ my_tree.h
|
||||
+ my_uctype.h
|
||||
+ my_user.h
|
||||
+ my_xml.h
|
||||
+ myisam.h
|
||||
+ myisammrg.h
|
||||
+ myisampack.h
|
||||
+ mysql.h
|
||||
+ mysql.h.pp
|
||||
+ mysql_com.h
|
||||
+ mysql_com_server.h
|
||||
+ mysql_time.h
|
||||
+ mysql_version.h.in
|
||||
+ mysys_err.h
|
||||
+ nullable.h
|
||||
+ password.h
|
||||
+ pfs_cond_provider.h
|
||||
+ pfs_error_provider.h
|
||||
+ pfs_file_provider.h
|
||||
+ pfs_idle_provider.h
|
||||
+ pfs_memory_provider.h
|
||||
+ pfs_metadata_provider.h
|
||||
+ pfs_mutex_provider.h
|
||||
+ pfs_rwlock_provider.h
|
||||
+ pfs_socket_provider.h
|
||||
+ pfs_stage_provider.h
|
||||
+ pfs_statement_provider.h
|
||||
+ pfs_table_provider.h
|
||||
+ pfs_thread_provider.h
|
||||
+ pfs_transaction_provider.h
|
||||
+ prealloced_array.h
|
||||
+ print_version.h
|
||||
+ priority_queue.h
|
||||
+ rwlock_scoped_lock.h
|
||||
+ scope_guard.h
|
||||
+ service_versions.h
|
||||
+ sha1.h
|
||||
+ sha2.h
|
||||
+ sql_chars.h
|
||||
+ sql_common.h
|
||||
+ sql_string.h
|
||||
+ sslopt-case.h
|
||||
+ sslopt-longopts.h
|
||||
+ sslopt-vars.h
|
||||
+ tables_contained_in.h
|
||||
+ template_utils.h
|
||||
+ thr_cond.h
|
||||
+ thr_lock.h
|
||||
+ thr_mutex.h
|
||||
+ thr_rwlock.h
|
||||
+ typelib.h
|
||||
+ varlen_sort.h
|
||||
+ violite.h
|
||||
+ welcome_copyright_notice.h
|
||||
)
|
||||
SET(HEADERS_MYSQL_DIR
|
||||
mysql/client_plugin.h
|
||||
mysql/plugin_auth_common.h
|
||||
+ mysql/udf_registration_types.h
|
||||
+ mysql/client_authentication.h
|
||||
+ mysql/client_plugin.h.pp
|
||||
+ mysql/com_data.h
|
||||
+ mysql/group_replication_priv.h
|
||||
+ mysql/innodb_priv.h
|
||||
+ mysql/mysql_lex_string.h
|
||||
+ mysql/plugin.h
|
||||
+ mysql/plugin_audit.h
|
||||
+ mysql/plugin_audit.h.pp
|
||||
+ mysql/plugin_auth.h
|
||||
+ mysql/plugin_auth.h.pp
|
||||
+ mysql/plugin_auth_common.h
|
||||
+ mysql/plugin_ftparser.h
|
||||
+ mysql/plugin_ftparser.h.pp
|
||||
+ mysql/plugin_group_replication.h
|
||||
+ mysql/plugin_keyring.h
|
||||
+ mysql/plugin_keyring.h.pp
|
||||
+ mysql/plugin_query_rewrite.h
|
||||
+ mysql/plugin_trace.h
|
||||
+ mysql/plugin_validate_password.h
|
||||
+ mysql/service_command.h
|
||||
+ mysql/service_locking.h
|
||||
+ mysql/service_my_plugin_log.h
|
||||
+ mysql/service_mysql_alloc.h
|
||||
+ mysql/service_mysql_keyring.h
|
||||
+ mysql/service_mysql_password_policy.h
|
||||
+ mysql/service_mysql_string.h
|
||||
+ mysql/service_parser.h
|
||||
+ mysql/service_plugin_registry.h
|
||||
+ mysql/service_rpl_transaction_ctx.h
|
||||
+ mysql/service_rpl_transaction_write_set.h
|
||||
+ mysql/service_rules_table.h
|
||||
+ mysql/service_security_context.h
|
||||
+ mysql/service_srv_session.h
|
||||
+ mysql/service_srv_session_info.h
|
||||
+ mysql/service_ssl_wrapper.h
|
||||
+ mysql/service_thd_alloc.h
|
||||
+ mysql/service_thd_engine_lock.h
|
||||
+ mysql/service_thd_wait.h
|
||||
+ mysql/service_thread_scheduler.h
|
||||
+ mysql/services.h
|
||||
+ mysql/services.h.pp
|
||||
+ mysql/thread_pool_priv.h
|
||||
+ mysql/thread_type.h
|
||||
mysql/udf_registration_types.h
|
||||
)
|
||||
|
||||
@ -1,11 +0,0 @@
|
||||
--- include/my_compare.h.orig 2019-09-20 08:30:51 UTC
|
||||
+++ include/my_compare.h
|
||||
@@ -49,7 +49,7 @@
|
||||
But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH.
|
||||
*/
|
||||
|
||||
-#define HA_MAX_KEY_LENGTH 1000 /* Max length in bytes */
|
||||
+#define HA_MAX_KEY_LENGTH 4000 /* Max length in bytes */
|
||||
#define HA_MAX_KEY_SEG 16 /* Max segments for key */
|
||||
|
||||
#define HA_MAX_POSSIBLE_KEY_BUFF (HA_MAX_KEY_LENGTH + 24 + 6 + 6)
|
||||
@ -1,11 +0,0 @@
|
||||
--- include/my_stacktrace.h.orig 2020-01-23 19:43:07.769584000 +0100
|
||||
+++ include/my_stacktrace.h 2020-01-23 19:43:48.684042000 +0100
|
||||
@@ -43,7 +43,7 @@
|
||||
HAVE_BACKTRACE - Linux, FreeBSD, OSX, Solaris
|
||||
_WIN32 - Windows
|
||||
*/
|
||||
-#if defined(HAVE_BACKTRACE) || defined(_WIN32)
|
||||
+#if (defined(HAVE_BACKTRACE) || defined(_WIN32)) && (defined(__aarch64__) || defined(__amd64__) || defined(__i386__))
|
||||
#define HAVE_STACKTRACE 1
|
||||
void my_init_stacktrace();
|
||||
void my_print_stacktrace(uchar *stack_bottom, ulong thread_stack);
|
||||
@ -1,15 +0,0 @@
|
||||
--- include/my_thread_os_id.h.orig 2019-09-20 08:30:51 UTC
|
||||
+++ include/my_thread_os_id.h
|
||||
@@ -84,8 +84,12 @@ static inline my_thread_os_id_t my_thread_os_id() {
|
||||
return pthread_getthreadid_np();
|
||||
#else
|
||||
#ifdef HAVE_INTEGER_PTHREAD_SELF
|
||||
+# ifdef __DragonFly__
|
||||
+ return syscall(SYS_lwp_gettid);
|
||||
+# else
|
||||
/* Unknown platform, fallback. */
|
||||
return pthread_self();
|
||||
+# endif
|
||||
#else
|
||||
/* Feature not available. */
|
||||
return 0;
|
||||
@ -1,11 +0,0 @@
|
||||
--- include/myisam.h.orig 2019-09-20 08:30:51 UTC
|
||||
+++ include/myisam.h
|
||||
@@ -59,7 +59,7 @@
|
||||
The following defines can be increased if necessary.
|
||||
But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and MI_MAX_KEY_LENGTH.
|
||||
*/
|
||||
-#define MI_MAX_KEY_LENGTH 1000 /* Max length in bytes */
|
||||
+#define MI_MAX_KEY_LENGTH 4000 /* Max length in bytes */
|
||||
#define MI_MAX_KEY_SEG 16 /* Max segments for key */
|
||||
|
||||
#define MI_MAX_KEY_BUFF (MI_MAX_KEY_LENGTH + MI_MAX_KEY_SEG * 6 + 8 + 8)
|
||||
@ -1,14 +0,0 @@
|
||||
--- include/violite.h.orig 2019-09-20 08:30:51 UTC
|
||||
+++ include/violite.h
|
||||
@@ -269,9 +269,11 @@ struct st_VioSSLFd *new_VioSSLConnectorFd(
|
||||
|
||||
long process_tls_version(const char *tls_version);
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
int set_fips_mode(const uint fips_mode, char *err_string);
|
||||
|
||||
uint get_fips_mode();
|
||||
+#endif
|
||||
|
||||
struct st_VioSSLFd *new_VioSSLAcceptorFd(
|
||||
const char *key_file, const char *cert_file, const char *ca_file,
|
||||
@ -1,69 +0,0 @@
|
||||
--- libmysql/CMakeLists.txt.orig 2019-09-20 08:30:51 UTC
|
||||
+++ libmysql/CMakeLists.txt
|
||||
@@ -192,6 +192,11 @@ IF (WIN32 AND OPENSSL_APPLINK_C)
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
+INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake)
|
||||
+IF (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
|
||||
+ ADD_COMPILE_FLAGS(${CLIENT_SOURCES} COMPILE_FLAGS "-fPIC")
|
||||
+ENDIF()
|
||||
+
|
||||
#
|
||||
# Include protocol tracing infrastructure and the test
|
||||
# trace plugin if enabled by build options.
|
||||
@@ -242,11 +247,18 @@ IF(WIN32)
|
||||
LIST(APPEND LIBS_TO_MERGE auth_win_client)
|
||||
ENDIF()
|
||||
|
||||
-# LDAP authentication SASL client plugin
|
||||
-ADD_SUBDIRECTORY(authentication_ldap)
|
||||
+IF(WITHOUT_CLIENTLIBS)
|
||||
+ # Merge several convenience libraries into one big mysqlclient
|
||||
+ MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} COMPONENT Development SKIP_INSTALL)
|
||||
+ELSE(WITHOUT_CLIENTLIBS)
|
||||
+ # LDAP authentication SASL client plugin
|
||||
+ MESSAGE(STATUS "Creating LDAP authentication SASL client library.")
|
||||
+ ADD_SUBDIRECTORY(authentication_ldap)
|
||||
|
||||
-# Merge several convenience libraries into one big mysqlclient
|
||||
-MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} COMPONENT Development)
|
||||
+ # Merge several convenience libraries into one big mysqlclient
|
||||
+ MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} COMPONENT Development)
|
||||
+ENDIF(WITHOUT_CLIENTLIBS)
|
||||
+
|
||||
TARGET_LINK_LIBRARIES(mysqlclient PRIVATE ${LIBS_TO_LINK})
|
||||
|
||||
# Visual Studio users need debug static library for debug projects
|
||||
@@ -281,12 +291,22 @@ ENDIF()
|
||||
|
||||
# Merge several convenience libraries into one big mysqlclient
|
||||
# and link them together into shared library.
|
||||
+IF(WITHOUT_CLIENTLIBS)
|
||||
MERGE_LIBRARIES_SHARED(libmysql ${LIBS_TO_MERGE}
|
||||
EXPORTS
|
||||
${CLIENT_API_FUNCTIONS}
|
||||
${CLIENT_API_FUNCTIONS_UNDOCUMENTED}
|
||||
${CLIENT_API_NONBLOCKING_FUNCTIONS}
|
||||
+ COMPONENT SharedLibraries
|
||||
+ SKIP_INSTALL )
|
||||
+ELSE(WITHOUT_CLIENTLIBS)
|
||||
+MERGE_LIBRARIES_SHARED(libmysql ${LIBS_TO_MERGE}
|
||||
+ EXPORTS
|
||||
+ ${CLIENT_API_FUNCTIONS}
|
||||
+ ${CLIENT_API_FUNCTIONS_UNDOCUMENTED}
|
||||
+ ${CLIENT_API_NONBLOCKING_FUNCTIONS}
|
||||
COMPONENT SharedLibraries)
|
||||
+ENDIF(WITHOUT_CLIENTLIBS)
|
||||
TARGET_LINK_LIBRARIES(libmysql PRIVATE ${LIBS_TO_LINK})
|
||||
|
||||
IF(WIN32)
|
||||
@@ -300,7 +320,7 @@ ENDIF()
|
||||
|
||||
IF(UNIX)
|
||||
# libtool compatability
|
||||
- IF(FREEBSD OR APPLE)
|
||||
+ IF(FREEBSD OR APPLE OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD|DragonFly")
|
||||
SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
|
||||
ELSE()
|
||||
SET(OS_SHARED_LIB_VERSION
|
||||
@ -1,12 +0,0 @@
|
||||
--- libservices/CMakeLists.txt.orig 2019-09-20 08:30:51 UTC
|
||||
+++ libservices/CMakeLists.txt
|
||||
@@ -45,7 +45,9 @@ SET(MYSQLSERVICES_SOURCES
|
||||
plugin_registry_service.c)
|
||||
|
||||
ADD_LIBRARY(mysqlservices STATIC ${MYSQLSERVICES_SOURCES})
|
||||
+IF(FALSE)
|
||||
IF(INSTALL_STATIC_LIBRARIES)
|
||||
INSTALL(TARGETS mysqlservices
|
||||
DESTINATION ${INSTALL_LIBDIR} COMPONENT Development)
|
||||
+ENDIF()
|
||||
ENDIF()
|
||||
@ -1,71 +0,0 @@
|
||||
--- man/CMakeLists.txt.orig 2020-10-20 11:47:42.675974000 +0200
|
||||
+++ man/CMakeLists.txt 2020-10-20 13:53:03.993879000 +0200
|
||||
@@ -23,21 +23,10 @@
|
||||
# Copy man pages
|
||||
SET(MAN1
|
||||
comp_err.1
|
||||
- ibd2sdi.1
|
||||
- innochecksum.1
|
||||
lz4_decompress.1
|
||||
- my_print_defaults.1
|
||||
- myisam_ftdump.1
|
||||
- myisamchk.1
|
||||
- myisamlog.1
|
||||
- myisampack.1
|
||||
mysql.1
|
||||
mysql_config.1
|
||||
mysql_config_editor.1
|
||||
- mysql_secure_installation.1
|
||||
- mysql_ssl_rsa_setup.1
|
||||
- mysql_tzinfo_to_sql.1
|
||||
- mysql_upgrade.1
|
||||
mysqladmin.1
|
||||
mysqlbinlog.1
|
||||
mysqlcheck.1
|
||||
@@ -52,13 +41,23 @@ SET(MAN1
|
||||
zlib_decompress.1
|
||||
)
|
||||
|
||||
-IF(NOT WITH_SYSTEMD)
|
||||
- LIST(APPEND MAN1
|
||||
- mysql.server.1
|
||||
- mysqld_multi.1
|
||||
- mysqld_safe.1
|
||||
+SET(MAN1_TOOLS
|
||||
+ ibd2sdi.1
|
||||
+ innochecksum.1
|
||||
+ my_print_defaults.1
|
||||
+ myisam_ftdump.1
|
||||
+ myisamchk.1
|
||||
+ myisamlog.1
|
||||
+ myisampack.1
|
||||
+ mysql.server.1
|
||||
+ mysql_secure_installation.1
|
||||
+ mysql_ssl_rsa_setup.1
|
||||
+ mysql_tzinfo_to_sql.1
|
||||
+ mysql_upgrade.1
|
||||
+ mysqldumpslow.1
|
||||
+ mysqld_multi.1
|
||||
+ mysqld_safe.1
|
||||
)
|
||||
-ENDIF()
|
||||
|
||||
SET(MAN1_NDB
|
||||
ndb-common-options.1
|
||||
@@ -105,8 +104,14 @@ SET(MAN8_NDB
|
||||
ndbmtd.8
|
||||
)
|
||||
|
||||
-INSTALL(FILES ${MAN1} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPages)
|
||||
-INSTALL(FILES ${MAN8} DESTINATION ${INSTALL_MANDIR}/man8 COMPONENT ManPages)
|
||||
+IF(NOT WITHOUT_CLIENTLIBS)
|
||||
+ INSTALL(FILES ${MAN1} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPages)
|
||||
+ENDIF()
|
||||
+
|
||||
+IF(NOT WITHOUT_SERVER)
|
||||
+ INSTALL(FILES ${MAN1_TOOLS} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPages)
|
||||
+ INSTALL(FILES ${MAN8} DESTINATION ${INSTALL_MANDIR}/man8 COMPONENT ManPages)
|
||||
+ENDIF()
|
||||
|
||||
IF(WITH_ROUTER)
|
||||
INSTALL(FILES ${MAN1_ROUTER}
|
||||
@ -1,62 +0,0 @@
|
||||
--- mysys/my_default.cc.orig 2019-09-20 08:30:51 UTC
|
||||
+++ mysys/my_default.cc
|
||||
@@ -203,7 +203,7 @@ bool no_defaults = false;
|
||||
|
||||
/* Which directories are searched for options (and in which order) */
|
||||
|
||||
-#define MAX_DEFAULT_DIRS 6
|
||||
+#define MAX_DEFAULT_DIRS 7
|
||||
#define DEFAULT_DIRS_SIZE (MAX_DEFAULT_DIRS + 1) /* Terminate with NULL */
|
||||
static const char **default_directories = NULL;
|
||||
|
||||
@@ -909,6 +909,14 @@ static int search_default_file_with_ext(Process_option
|
||||
return 1; /* Ignore wrong files */
|
||||
}
|
||||
|
||||
+ if (strstr(name, "/etc") == name)
|
||||
+ {
|
||||
+ fprintf(stderr,
|
||||
+ "error: Config file %s in invalid location, please move to or merge with /usr/local%s\n",
|
||||
+ name,name);
|
||||
+ goto err;
|
||||
+ }
|
||||
+
|
||||
while (mysql_file_getline(buff, sizeof(buff) - 1, fp, is_login_file)) {
|
||||
line++;
|
||||
/* Ignore comment and empty lines */
|
||||
@@ -1228,7 +1236,8 @@ void my_print_default_files(const char *conf_file) {
|
||||
end[(strlen(end) - 1)] = ' ';
|
||||
else
|
||||
strxmov(end, conf_file, *ext, " ", NullS);
|
||||
- fputs(name, stdout);
|
||||
+ if (strstr(name, "/etc") != name)
|
||||
+ fputs(name, stdout);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1565,14 +1574,9 @@ static const char **init_default_directories(MEM_ROOT
|
||||
|
||||
#else
|
||||
|
||||
- errors += add_directory(alloc, "/etc/", dirs);
|
||||
- errors += add_directory(alloc, "/etc/mysql/", dirs);
|
||||
+ errors += add_directory(alloc, "/usr/local/etc/", dirs);
|
||||
+ errors += add_directory(alloc, "/usr/local/etc/mysql/", dirs);
|
||||
|
||||
-#if defined(DEFAULT_SYSCONFDIR)
|
||||
- if (DEFAULT_SYSCONFDIR[0])
|
||||
- errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
|
||||
-#endif /* DEFAULT_SYSCONFDIR */
|
||||
-
|
||||
#endif
|
||||
|
||||
if ((env = getenv("MYSQL_HOME"))) errors += add_directory(alloc, env, dirs);
|
||||
@@ -1635,7 +1639,7 @@ int check_file_permissions(const char *file_name, bool
|
||||
#if !defined(_WIN32)
|
||||
MY_STAT stat_info;
|
||||
|
||||
- if (!my_stat(file_name, &stat_info, MYF(0))) return 1;
|
||||
+ if (!my_stat(file_name, &stat_info, MYF(0))) return 0;
|
||||
/*
|
||||
Ignore .mylogin.cnf file if not exclusively readable/writable
|
||||
by current user.
|
||||
@ -1,12 +0,0 @@
|
||||
--- mysys/my_md5.cc.orig 2019-09-20 08:30:51 UTC
|
||||
+++ mysys/my_md5.cc
|
||||
@@ -56,7 +56,9 @@ static void my_md5_hash(unsigned char *digest, unsigne
|
||||
int compute_md5_hash(char *digest, const char *buf, int len) {
|
||||
int retval = 0;
|
||||
int fips_mode = 0;
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
fips_mode = FIPS_mode();
|
||||
+#endif /* LIBRESSL_VERSION_NUMBER */
|
||||
/* If fips mode is ON/STRICT restricted method calls will result into abort,
|
||||
* skipping call. */
|
||||
if (fips_mode == 0) {
|
||||
@ -1,31 +0,0 @@
|
||||
--- plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc.orig 2019-09-20 08:30:51 UTC
|
||||
+++ plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc
|
||||
@@ -329,6 +329,7 @@ error:
|
||||
return 1;
|
||||
}
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
#define OPENSSL_ERROR_LENGTH 512
|
||||
static int configure_ssl_fips_mode(const uint fips_mode) {
|
||||
int rc = -1;
|
||||
@@ -352,6 +353,7 @@ static int configure_ssl_fips_mode(const uint fips_mod
|
||||
EXIT:
|
||||
return rc;
|
||||
}
|
||||
+#endif
|
||||
|
||||
static int configure_ssl_ca(SSL_CTX *ssl_ctx, const char *ca_file,
|
||||
const char *ca_path) {
|
||||
@@ -555,10 +557,12 @@ int xcom_init_ssl(const char *server_key_file, const c
|
||||
int verify_server = SSL_VERIFY_NONE;
|
||||
int verify_client = SSL_VERIFY_NONE;
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
if (configure_ssl_fips_mode(ssl_fips_mode) != 1) {
|
||||
G_ERROR("Error setting the ssl fips mode");
|
||||
goto error;
|
||||
}
|
||||
+#endif
|
||||
|
||||
SSL_library_init();
|
||||
SSL_load_error_strings();
|
||||
@ -1,11 +0,0 @@
|
||||
--- plugin/password_validation/validate_password.cc.orig 2019-09-20 08:30:51 UTC
|
||||
+++ plugin/password_validation/validate_password.cc
|
||||
@@ -25,6 +25,8 @@
|
||||
#include <mysql/plugin_validate_password.h>
|
||||
#include <mysql/service_my_plugin_log.h>
|
||||
#include <mysql/service_mysql_string.h>
|
||||
+/* solve clash between libc++ bitset::test() and test macro from my_global.h */
|
||||
+#undef test
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@ -1,11 +0,0 @@
|
||||
--- plugin/x/CMakeLists.txt.orig 2019-09-20 08:30:51 UTC
|
||||
+++ plugin/x/CMakeLists.txt
|
||||
@@ -77,6 +77,8 @@ INCLUDE_DIRECTORIES(
|
||||
${MYSQLX_GENERATE_DIR}
|
||||
${MYSQLX_PROTOCOL_INCLUDE_DIR}
|
||||
${MYSQLX_CLIENT_INCLUDE_DIR}
|
||||
+ ${OPENSSL_INCLUDE_DIR}
|
||||
+ ${BOOST_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
MY_INCLUDE_SYSTEM_DIRECTORIES(PROTOBUF)
|
||||
@ -1,11 +0,0 @@
|
||||
--- plugin/x/client/authentication/sha256_scramble_generator.cc.orig 2019-09-20 08:30:51 UTC
|
||||
+++ plugin/x/client/authentication/sha256_scramble_generator.cc
|
||||
@@ -97,7 +97,7 @@ bool SHA256_digest::retrieve_digest(unsigned char *dig
|
||||
return true;
|
||||
}
|
||||
m_ok = EVP_DigestFinal_ex(md_context, m_digest, nullptr);
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+#if defined(LIBRESSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
EVP_MD_CTX_cleanup(md_context);
|
||||
#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
||||
EVP_MD_CTX_reset(md_context);
|
||||
@ -1,33 +0,0 @@
|
||||
--- plugin/x/client/xconnection_impl.cc.orig 2019-09-20 08:30:51 UTC
|
||||
+++ plugin/x/client/xconnection_impl.cc
|
||||
@@ -520,6 +520,7 @@ XError Connection_impl::get_ssl_error(const int error_
|
||||
return XError(CR_SSL_CONNECTION_ERROR, buffer);
|
||||
}
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
/**
|
||||
Set fips mode in openssl library,
|
||||
When we set fips mode ON/STRICT, it will perform following operations:
|
||||
@@ -559,6 +560,7 @@ int set_fips_mode(const uint32_t fips_mode,
|
||||
EXIT:
|
||||
return rc;
|
||||
}
|
||||
+#endif
|
||||
|
||||
XError Connection_impl::activate_tls() {
|
||||
if (nullptr == m_vio) return get_socket_error(SOCKET_ECONNRESET);
|
||||
@@ -569,12 +571,14 @@ XError Connection_impl::activate_tls() {
|
||||
if (!m_context->m_ssl_config.is_configured())
|
||||
return XError{CR_SSL_CONNECTION_ERROR, ER_TEXT_TLS_NOT_CONFIGURATED, true};
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
char err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
||||
if (set_fips_mode(
|
||||
static_cast<uint32_t>(m_context->m_ssl_config.m_ssl_fips_mode),
|
||||
err_string) != 1) {
|
||||
return XError{CR_SSL_CONNECTION_ERROR, err_string, true};
|
||||
}
|
||||
+#endif
|
||||
auto ssl_ctx_flags = process_tls_version(
|
||||
details::null_when_empty(m_context->m_ssl_config.m_tls_version));
|
||||
|
||||
@ -1,15 +0,0 @@
|
||||
--- plugin/x/configure.cmake.orig 2019-09-20 08:30:51 UTC
|
||||
+++ plugin/x/configure.cmake
|
||||
@@ -45,6 +45,7 @@ CONFIGURE_FILE(${MYSQLX_PROJECT_DIR}/src/config/mysqlx
|
||||
CONFIGURE_FILE(${MYSQLX_PROJECT_DIR}/src/config/mysqlx_version.h.in
|
||||
${MYSQLX_GENERATE_DIR}/mysqlx_version.h )
|
||||
|
||||
+IF(FALSE)
|
||||
INSTALL(FILES ${MYSQLX_GENERATE_DIR}/mysqlx_error.h
|
||||
DESTINATION ${INSTALL_INCLUDEDIR}
|
||||
COMPONENT Development)
|
||||
@@ -56,3 +57,4 @@ INSTALL(FILES ${MYSQLX_GENERATE_DIR}/mysqlx_ername.h
|
||||
INSTALL(FILES ${MYSQLX_GENERATE_DIR}/mysqlx_version.h
|
||||
DESTINATION ${INSTALL_INCLUDEDIR}
|
||||
COMPONENT Development)
|
||||
+ENDIF()
|
||||
@ -1,10 +0,0 @@
|
||||
--- router/src/harness/include/mysql/harness/net_ts/internet.h.orig 2020-11-09 00:30:01 UTC
|
||||
+++ router/src/harness/include/mysql/harness/net_ts/internet.h
|
||||
@@ -43,6 +43,7 @@
|
||||
#include <arpa/inet.h> // inet_ntop
|
||||
#include <netdb.h> // getaddrinfo
|
||||
#include <netinet/in.h> // in_addr_t
|
||||
+#include <sys/types.h> // u_int32_t
|
||||
#include <netinet/ip6.h> // in6_addr_t
|
||||
#include <netinet/tcp.h> // TCP_NODELAY
|
||||
#include <sys/ioctl.h> // ioctl
|
||||
@ -1,13 +0,0 @@
|
||||
--- router/src/harness/include/mysql/harness/net_ts/impl/kqueue_io_service.h.orig 2020-09-23 12:37:48 UTC
|
||||
+++ router/src/harness/include/mysql/harness/net_ts/impl/kqueue_io_service.h
|
||||
@@ -190,8 +190,8 @@
|
||||
auto secs = std::chrono::duration_cast<std::chrono::seconds>(timeout);
|
||||
timeout -= secs;
|
||||
|
||||
- ts = {secs.count(),
|
||||
- std::chrono::duration_cast<std::chrono::nanoseconds>(timeout)
|
||||
+ ts = {(time_t)secs.count(),
|
||||
+ (time_t)std::chrono::duration_cast<std::chrono::nanoseconds>(timeout)
|
||||
.count()};
|
||||
|
||||
p_ts = &ts;
|
||||
@ -1,16 +0,0 @@
|
||||
--- router/src/harness/src/CMakeLists.txt.orig 2019-12-09 19:53:17 UTC
|
||||
+++ router/src/harness/src/CMakeLists.txt
|
||||
@@ -205,7 +205,6 @@ IF(NOT WIN32)
|
||||
INSTALL(TARGETS harness-library
|
||||
LIBRARY
|
||||
DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router
|
||||
- NAMELINK_SKIP
|
||||
)
|
||||
ELSE()
|
||||
INSTALL(TARGETS harness-library
|
||||
@@ -240,5 +239,4 @@ INSTALL(TARGETS harness_stdx
|
||||
RUNTIME DESTINATION ${ROUTER_INSTALL_BINDIR} COMPONENT Router
|
||||
ARCHIVE DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router
|
||||
LIBRARY DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router
|
||||
- NAMELINK_SKIP
|
||||
)
|
||||
@ -1,26 +0,0 @@
|
||||
--- router/src/http/src/CMakeLists.txt.orig 2019-12-09 19:53:17 UTC
|
||||
+++ router/src/http/src/CMakeLists.txt
|
||||
@@ -62,7 +62,6 @@ INSTALL(TARGETS http_common
|
||||
RUNTIME DESTINATION ${ROUTER_INSTALL_BINDIR} COMPONENT Router
|
||||
ARCHIVE DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router
|
||||
LIBRARY DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router
|
||||
- NAMELINK_SKIP
|
||||
)
|
||||
|
||||
## split library code from the plugin to use them _passwd and tests
|
||||
@@ -88,7 +87,6 @@ INSTALL(TARGETS http_auth_backend_lib
|
||||
RUNTIME DESTINATION ${ROUTER_INSTALL_BINDIR} COMPONENT Router
|
||||
ARCHIVE DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router
|
||||
LIBRARY DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router
|
||||
- NAMELINK_SKIP
|
||||
)
|
||||
TARGET_INCLUDE_DIRECTORIES(http_auth_backend_lib PUBLIC
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
@@ -141,7 +139,6 @@ INSTALL(TARGETS http_auth_realm_lib
|
||||
RUNTIME DESTINATION ${ROUTER_INSTALL_BINDIR} COMPONENT Router
|
||||
ARCHIVE DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router
|
||||
LIBRARY DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router
|
||||
- NAMELINK_SKIP
|
||||
)
|
||||
## the rpath for the bundled openssl
|
||||
ADD_INSTALL_RPATH_FOR_OPENSSL(http_auth_realm_lib)
|
||||
@ -1,11 +0,0 @@
|
||||
--- router/src/http/src/tls_client_context.cc.orig 2019-09-20 08:30:51 UTC
|
||||
+++ router/src/http/src/tls_client_context.cc
|
||||
@@ -54,7 +54,7 @@ void TlsClientContext::verify(TlsVerify verify) {
|
||||
|
||||
void TlsClientContext::cipher_suites(const std::string &ciphers) {
|
||||
// TLSv1.3 ciphers are controlled via SSL_CTX_set_ciphersuites()
|
||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1)
|
||||
+#ifdef TLS1_3_VERSION
|
||||
if (1 != SSL_CTX_set_ciphersuites(ssl_ctx_.get(), ciphers.c_str())) {
|
||||
throw TlsError("set-cipher-suites");
|
||||
}
|
||||
@ -1,44 +0,0 @@
|
||||
--- router/src/http/src/tls_context.cc.orig 2019-09-20 08:30:51 UTC
|
||||
+++ router/src/http/src/tls_context.cc
|
||||
@@ -91,7 +91,7 @@ static constexpr int o11x_version(TlsVersion version)
|
||||
return TLS1_1_VERSION;
|
||||
case TlsVersion::TLS_1_2:
|
||||
return TLS1_2_VERSION;
|
||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1)
|
||||
+#ifdef TLS1_3_VERSION
|
||||
case TlsVersion::TLS_1_3:
|
||||
return TLS1_3_VERSION;
|
||||
#endif
|
||||
@@ -121,9 +121,11 @@ void TlsContext::version_range(TlsVersion min_version,
|
||||
default:
|
||||
// unknown, leave all disabled
|
||||
// fallthrough
|
||||
+#ifdef TLS1_3_VERSION
|
||||
case TlsVersion::TLS_1_3:
|
||||
opts |= SSL_OP_NO_TLSv1_2;
|
||||
// fallthrough
|
||||
+#endif
|
||||
case TlsVersion::TLS_1_2:
|
||||
opts |= SSL_OP_NO_TLSv1_1;
|
||||
// fallthrough
|
||||
@@ -170,8 +172,10 @@ TlsVersion TlsContext::min_version() const {
|
||||
return TlsVersion::TLS_1_1;
|
||||
case TLS1_2_VERSION:
|
||||
return TlsVersion::TLS_1_2;
|
||||
+#ifdef TLS1_3_VERSION
|
||||
case TLS1_3_VERSION:
|
||||
return TlsVersion::TLS_1_3;
|
||||
+#endif
|
||||
case 0:
|
||||
return TlsVersion::AUTO;
|
||||
default:
|
||||
@@ -230,7 +234,8 @@ TlsContext::InfoCallback TlsContext::info_callback() c
|
||||
}
|
||||
|
||||
int TlsContext::security_level() const {
|
||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0)
|
||||
+#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \
|
||||
+ !defined(LIBRESSL_VERSION_NUMBER)
|
||||
return SSL_CTX_get_security_level(ssl_ctx_.get());
|
||||
#else
|
||||
return 0;
|
||||
@ -1,12 +0,0 @@
|
||||
--- router/src/http/src/tls_server_context.cc.orig 2019-09-20 08:30:51 UTC
|
||||
+++ router/src/http/src/tls_server_context.cc
|
||||
@@ -166,7 +166,8 @@ void TlsServerContext::init_tmp_dh(const std::string &
|
||||
}
|
||||
|
||||
} else {
|
||||
-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0)
|
||||
+#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \
|
||||
+ !defined(LIBRESSL_VERSION_NUMBER)
|
||||
dh2048.reset(DH_get_2048_256());
|
||||
#else
|
||||
/*
|
||||
@ -1,10 +0,0 @@
|
||||
--- router/src/io/src/CMakeLists.txt.orig 2020-09-23 12:37:48 UTC
|
||||
+++ router/src/io/src/CMakeLists.txt
|
||||
@@ -47,7 +47,6 @@ INSTALL(TARGETS io_component
|
||||
RUNTIME DESTINATION ${ROUTER_INSTALL_BINDIR} COMPONENT Router
|
||||
ARCHIVE DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router
|
||||
LIBRARY DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router
|
||||
- NAMELINK_SKIP
|
||||
)
|
||||
|
||||
GENERATE_EXPORT_HEADER(io_component
|
||||
@ -1,10 +0,0 @@
|
||||
--- router/src/router/src/CMakeLists.txt.orig 2019-12-09 19:53:17 UTC
|
||||
+++ router/src/router/src/CMakeLists.txt
|
||||
@@ -119,7 +119,6 @@ INSTALL(TARGETS router_lib
|
||||
RUNTIME DESTINATION ${ROUTER_INSTALL_BINDIR} COMPONENT Router
|
||||
ARCHIVE DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router
|
||||
LIBRARY DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router
|
||||
- NAMELINK_SKIP
|
||||
)
|
||||
|
||||
MYSQL_ADD_EXECUTABLE(mysqlrouter_keyring
|
||||
@ -1,61 +0,0 @@
|
||||
--- scripts/CMakeLists.txt.orig 2019-09-20 08:30:51 UTC
|
||||
+++ scripts/CMakeLists.txt
|
||||
@@ -330,7 +330,7 @@ MACRO(EXTRACT_LINK_LIBRARIES target var)
|
||||
LIST(REMOVE_DUPLICATES ${target}_LIB_DEPENDS)
|
||||
FOREACH(lib ${${target}_LIB_DEPENDS})
|
||||
# Filter out "general", it is not a library, just CMake hint
|
||||
- IF(NOT lib STREQUAL "general" AND NOT ${var} MATCHES "-l${lib} ")
|
||||
+ IF(NOT lib STREQUAL "general" AND NOT ${var} MATCHES "-l${lib} " AND NOT lib STREQUAL "imported_openssl" AND NOT lib STREQUAL "imported_crypto")
|
||||
IF (lib MATCHES "^\\-l")
|
||||
SET(${var} "${${var}} ${lib} ")
|
||||
ELSEIF (lib MATCHES "^\\-L")
|
||||
@@ -340,6 +340,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var)
|
||||
GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE)
|
||||
STRING(REGEX REPLACE "^lib" "" lib "${lib}")
|
||||
SET(${var} "${${var}}-l${lib} " )
|
||||
+ ELSEIF(lib STREQUAL "-pthread")
|
||||
+ SET(${var} "${${var}}-pthread " )
|
||||
ELSE()
|
||||
SET(${var} "${${var}}-l${lib} " )
|
||||
ENDIF()
|
||||
@@ -414,7 +416,7 @@ ELSE()
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PKGCONFIG_FILE}
|
||||
ESCAPE_QUOTES @ONLY)
|
||||
|
||||
- IF(INSTALL_PKGCONFIGDIR)
|
||||
+ IF(INSTALL_PKGCONFIGDIR AND NOT WITHOUT_CLIENTLIBS)
|
||||
MESSAGE(STATUS "INSTALL ${PKGCONFIG_FILE} ${INSTALL_PKGCONFIGDIR}")
|
||||
INSTALL(FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PKGCONFIG_FILE}
|
||||
@@ -427,23 +429,28 @@ ELSE()
|
||||
# mysqld_safe used in mtr even for systemd platforms
|
||||
IF(WITH_SYSTEMD)
|
||||
SET(BIN_SCRIPTS
|
||||
- mysql_config
|
||||
mysqldumpslow
|
||||
mysqld_safe
|
||||
)
|
||||
ELSE()
|
||||
SET(BIN_SCRIPTS
|
||||
- mysql_config
|
||||
mysqldumpslow
|
||||
mysqld_multi
|
||||
mysqld_safe
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
+ IF(NOT WITHOUT_CLIENTLIBS)
|
||||
+ SET(BIN_SCRIPTS
|
||||
+ ${BIN_SCRIPTS}
|
||||
+ mysql_config
|
||||
+ )
|
||||
+ ENDIF(NOT WITHOUT_CLIENTLIBS)
|
||||
+
|
||||
FOREACH(file ${BIN_SCRIPTS})
|
||||
IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh)
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/${file} @ONLY
|
||||
)
|
||||
ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.pl.in)
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.pl.in
|
||||
@ -1,18 +0,0 @@
|
||||
--- sql-common/client.cc.orig 2020-03-26 13:31:45 UTC
|
||||
+++ sql-common/client.cc
|
||||
@@ -7752,6 +7752,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_opt
|
||||
return 1;
|
||||
break;
|
||||
case MYSQL_OPT_SSL_FIPS_MODE: {
|
||||
+#if !defined(LIBRESSL_VERSION_NUMBER)
|
||||
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
||||
ENSURE_EXTENSIONS_PRESENT(&mysql->options);
|
||||
mysql->options.extension->ssl_fips_mode = *static_cast<const uint *>(arg);
|
||||
@@ -7763,6 +7764,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_opt
|
||||
"Set Fips mode ON/STRICT failed, detail: '%s'.", ssl_err_string);
|
||||
return 1;
|
||||
}
|
||||
+#endif
|
||||
} break;
|
||||
case MYSQL_OPT_SSL_MODE:
|
||||
ENSURE_EXTENSIONS_PRESENT(&mysql->options);
|
||||
@ -1,11 +0,0 @@
|
||||
--- sql/auth/sha2_password_common.cc.orig 2019-09-20 08:30:51 UTC
|
||||
+++ sql/auth/sha2_password_common.cc
|
||||
@@ -101,7 +101,7 @@ bool SHA256_digest::retrieve_digest(unsigned char *dig
|
||||
return true;
|
||||
}
|
||||
m_ok = EVP_DigestFinal_ex(md_context, m_digest, nullptr);
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+#if defined(LIBRESSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
EVP_MD_CTX_cleanup(md_context);
|
||||
#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
||||
EVP_MD_CTX_reset(md_context);
|
||||
@ -1,32 +0,0 @@
|
||||
--- sql/conn_handler/socket_connection.cc.orig 2019-09-20 08:30:51 UTC
|
||||
+++ sql/conn_handler/socket_connection.cc
|
||||
@@ -950,9 +950,11 @@ bool check_connection_refused_by_tcp_wrapper(MYSQL_SOC
|
||||
signal(SIGCHLD, SIG_DFL);
|
||||
request_init(&req, RQ_DAEMON, libwrap_name, RQ_FILE,
|
||||
mysql_socket_getfd(connect_sock), NULL);
|
||||
- fromhost(&req);
|
||||
+ void (*my_fromhost) (void *) = (void (*)(void *)) fromhost;
|
||||
+ my_fromhost(&req);
|
||||
|
||||
- if (!hosts_access(&req)) {
|
||||
+ int (*my_hosts_access) (void *) = (int (*) (void *)) hosts_access;
|
||||
+ if (!my_hosts_access(&req)) {
|
||||
/*
|
||||
This may be stupid but refuse() includes an exit(0)
|
||||
which we surely don't want...
|
||||
@@ -964,12 +966,13 @@ bool check_connection_refused_by_tcp_wrapper(MYSQL_SOC
|
||||
This is unproblematic as TCP-wrapper is unix specific,
|
||||
anyway.
|
||||
*/
|
||||
+ char *(*my_eval_client) (void *) = (char *(*) (void *)) eval_client;
|
||||
syslog(LOG_AUTH | LOG_WARNING, "refused connect from %s",
|
||||
- eval_client(&req));
|
||||
+ my_eval_client(&req));
|
||||
|
||||
#ifdef HAVE_LIBWRAP_PROTOTYPES
|
||||
// Some distros have patched tcpd.h to have proper prototypes
|
||||
- if (req.sink) (req.sink)(req.fd);
|
||||
+ if (req.sink) ((void (*)(int)) (req.sink))(req.fd);
|
||||
#else
|
||||
// Some distros have not patched tcpd.h
|
||||
if (req.sink) ((void (*)(int))req.sink)(req.fd);
|
||||
@ -1,26 +0,0 @@
|
||||
--- sql/mysqld.cc.orig 2019-09-20 08:30:51 UTC
|
||||
+++ sql/mysqld.cc
|
||||
@@ -5109,7 +5109,7 @@ static int init_thread_environment() {
|
||||
|
||||
static PSI_memory_key key_memory_openssl = PSI_NOT_INSTRUMENTED;
|
||||
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||
#define FILE_LINE_ARGS
|
||||
#else
|
||||
#define FILE_LINE_ARGS , const char *, int
|
||||
@@ -5143,12 +5143,14 @@ static void init_ssl() {
|
||||
}
|
||||
|
||||
static int init_ssl_communication() {
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
||||
int ret_fips_mode = set_fips_mode(opt_ssl_fips_mode, ssl_err_string);
|
||||
if (ret_fips_mode != 1) {
|
||||
LogErr(ERROR_LEVEL, ER_SSL_FIPS_MODE_ERROR, ssl_err_string);
|
||||
return 1;
|
||||
}
|
||||
+#endif /* LIBRESSL_VERSION_NUMBER */
|
||||
if (TLS_channel::singleton_init(&mysql_main, mysql_main_channel, opt_use_ssl,
|
||||
&server_main_callback, opt_initialize))
|
||||
return 1;
|
||||
@ -1,70 +0,0 @@
|
||||
--- sql/sys_vars.cc.orig 2019-09-20 08:30:51 UTC
|
||||
+++ sql/sys_vars.cc
|
||||
@@ -1875,7 +1875,7 @@ static Sys_var_ulong Sys_connect_timeout(
|
||||
"The number of seconds the mysqld server is waiting for a connect "
|
||||
"packet before responding with 'Bad handshake'",
|
||||
GLOBAL_VAR(connect_timeout), CMD_LINE(REQUIRED_ARG),
|
||||
- VALID_RANGE(2, LONG_TIMEOUT), DEFAULT(CONNECT_TIMEOUT), BLOCK_SIZE(1));
|
||||
+ VALID_RANGE(2, INT_MAX32 / 1000), DEFAULT(CONNECT_TIMEOUT), BLOCK_SIZE(1));
|
||||
|
||||
static Sys_var_ulong Sys_information_schema_stats_expiry(
|
||||
"information_schema_stats_expiry",
|
||||
@@ -2929,7 +2929,7 @@ static Sys_var_ulong Sys_net_read_timeout(
|
||||
"Number of seconds to wait for more data from a connection before "
|
||||
"aborting the read",
|
||||
SESSION_VAR(net_read_timeout), CMD_LINE(REQUIRED_ARG),
|
||||
- VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
|
||||
+ VALID_RANGE(1, INT_MAX32 / 1000), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
|
||||
NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(nullptr),
|
||||
ON_UPDATE(fix_net_read_timeout));
|
||||
|
||||
@@ -2950,7 +2950,7 @@ static Sys_var_ulong Sys_net_write_timeout(
|
||||
"Number of seconds to wait for a block to be written to a connection "
|
||||
"before aborting the write",
|
||||
SESSION_VAR(net_write_timeout), CMD_LINE(REQUIRED_ARG),
|
||||
- VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
|
||||
+ VALID_RANGE(1, INT_MAX32 / 1000), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
|
||||
NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(nullptr),
|
||||
ON_UPDATE(fix_net_write_timeout));
|
||||
|
||||
@@ -4459,6 +4459,7 @@ static Sys_var_ulong Sys_max_execution_time(
|
||||
HINT_UPDATEABLE SESSION_VAR(max_execution_time), CMD_LINE(REQUIRED_ARG),
|
||||
VALID_RANGE(0, ULONG_MAX), DEFAULT(0), BLOCK_SIZE(1));
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
|
||||
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
|
||||
if (set_fips_mode(opt_ssl_fips_mode, ssl_err_string) != 1) {
|
||||
@@ -4470,14 +4471,30 @@ static bool update_fips_mode(sys_var *, THD *, enum_va
|
||||
}
|
||||
}
|
||||
|
||||
+#endif
|
||||
+
|
||||
+#if defined(LIBRESSL_VERSION_NUMBER)
|
||||
+static const char *ssl_fips_mode_names[] = {"OFF", 0};
|
||||
+#else
|
||||
static const char *ssl_fips_mode_names[] = {"OFF", "ON", "STRICT", nullptr};
|
||||
+#endif
|
||||
static Sys_var_enum Sys_ssl_fips_mode(
|
||||
"ssl_fips_mode",
|
||||
"SSL FIPS mode (applies only for OpenSSL); "
|
||||
- "permitted values are: OFF, ON, STRICT",
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
+ "permitted values are: OFF, ON, STRICT",
|
||||
+#else
|
||||
+ "permitted values are: OFF",
|
||||
+#endif
|
||||
GLOBAL_VAR(opt_ssl_fips_mode), CMD_LINE(REQUIRED_ARG, OPT_SSL_FIPS_MODE),
|
||||
ssl_fips_mode_names, DEFAULT(0), NO_MUTEX_GUARD, NOT_IN_BINLOG,
|
||||
- ON_CHECK(nullptr), ON_UPDATE(update_fips_mode), nullptr);
|
||||
+ ON_CHECK(NULL),
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
+ ON_UPDATE(update_fips_mode),
|
||||
+#else
|
||||
+ ON_UPDATE(NULL),
|
||||
+#endif
|
||||
+ NULL);
|
||||
|
||||
static Sys_var_bool Sys_auto_generate_certs(
|
||||
"auto_generate_certs",
|
||||
@ -1,13 +0,0 @@
|
||||
--- storage/innobase/include/srv0mon.h.orig 2019-09-20 08:30:51 UTC
|
||||
+++ storage/innobase/include/srv0mon.h
|
||||
@@ -40,6 +40,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
|
||||
/* Required for FreeBSD so that INT64_MAX is defined. */
|
||||
#define __STDC_LIMIT_MACROS
|
||||
#endif /* __STDC_LIMIT_MACROS */
|
||||
+#ifdef __DragonFly__
|
||||
+/* The hack above doen't work for dragonfly, stdint.h already imported */
|
||||
+#include <machine/int_limits.h>
|
||||
+#endif
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
@ -1,22 +0,0 @@
|
||||
--- storage/myisam/mi_dynrec.cc.orig 2019-09-20 08:30:51 UTC
|
||||
+++ storage/myisam/mi_dynrec.cc
|
||||
@@ -85,17 +85,12 @@ bool mi_dynmap_file(MI_INFO *info, my_off_t size) {
|
||||
return true;
|
||||
}
|
||||
/*
|
||||
- I wonder if it is good to use MAP_NORESERVE. From the Linux man page:
|
||||
- MAP_NORESERVE
|
||||
- Do not reserve swap space for this mapping. When swap space is
|
||||
- reserved, one has the guarantee that it is possible to modify the
|
||||
- mapping. When swap space is not reserved one might get SIGSEGV
|
||||
- upon a write if no physical memory is available.
|
||||
+ MAP_NORESERVE is unimplemented in FreeBSD
|
||||
*/
|
||||
info->s->file_map = (uchar *)my_mmap(
|
||||
nullptr, (size_t)size,
|
||||
info->s->mode == O_RDONLY ? PROT_READ : PROT_READ | PROT_WRITE,
|
||||
- MAP_SHARED | MAP_NORESERVE, info->dfile, 0L);
|
||||
+ MAP_SHARED, info->dfile, 0L);
|
||||
if (info->s->file_map == (uchar *)MAP_FAILED) {
|
||||
info->s->file_map = nullptr;
|
||||
return true;
|
||||
@ -1,17 +0,0 @@
|
||||
--- storage/temptable/include/temptable/lock_free_type.h.orig 2020-06-16 16:31:03 UTC
|
||||
+++ storage/temptable/include/temptable/lock_free_type.h
|
||||
@@ -31,6 +31,14 @@ Lock-free type (selection) implementation. */
|
||||
|
||||
#include "storage/temptable/include/temptable/constants.h"
|
||||
|
||||
+#if defined(__i386__) //&& defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8)
|
||||
+/* Fix for clang setting __GCC_ATOMIC_LLONG_LOCK_FREE incorrectly for x86
|
||||
+ * https://llvm.org/bugs/show_bug.cgi?id=19355
|
||||
+ */
|
||||
+#undef ATOMIC_LLONG_LOCK_FREE
|
||||
+#define ATOMIC_LLONG_LOCK_FREE 2
|
||||
+#endif
|
||||
+
|
||||
namespace temptable {
|
||||
|
||||
/** Enum class describing alignment-requirements. */
|
||||
@ -1,39 +0,0 @@
|
||||
--- support-files/CMakeLists.txt.orig 2020-09-23 12:37:48 UTC
|
||||
+++ support-files/CMakeLists.txt
|
||||
@@ -24,8 +24,9 @@ IF(NOT UNIX)
|
||||
RETURN()
|
||||
ENDIF()
|
||||
|
||||
-INSTALL(FILES mysql.m4
|
||||
- DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
|
||||
+IF(NOT WITHOUT_CLIENTLIBS)
|
||||
+ INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
|
||||
+ENDIF(NOT WITHOUT_CLIENTLIBS)
|
||||
|
||||
SET(localstatedir "${MYSQL_DATADIR}")
|
||||
|
||||
@@ -43,7 +44,7 @@ ENDIF()
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql-log-rotate.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/mysql-log-rotate @ONLY)
|
||||
|
||||
-IF(NOT WITH_SYSTEMD)
|
||||
+IF(NOT WITHOUT_SERVER)
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql.server.sh
|
||||
${CMAKE_CURRENT_BINARY_DIR}/mysql.server @ONLY
|
||||
)
|
||||
@@ -59,6 +60,7 @@ IF(NOT WITH_SYSTEMD)
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
+IF(NOT WITHOUT_SERVER)
|
||||
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mysql-log-rotate
|
||||
COMPONENT Server_Scripts
|
||||
DESTINATION ${INSTALL_SUPPORTFILESDIR}
|
||||
@@ -66,6 +68,7 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mysql-log-ro
|
||||
OWNER_READ OWNER_WRITE
|
||||
GROUP_READ WORLD_READ
|
||||
)
|
||||
+ENDIF()
|
||||
|
||||
IF(WITH_ROUTER)
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysqlrouter-log-rotate.in
|
||||
@ -1,79 +0,0 @@
|
||||
--- utilities/CMakeLists.txt.orig 2020-09-23 12:37:48 UTC
|
||||
+++ utilities/CMakeLists.txt
|
||||
@@ -23,13 +23,19 @@
|
||||
ADD_WSHADOW_WARNING()
|
||||
DISABLE_MISSING_PROFILE_WARNING()
|
||||
|
||||
-IF(NOT CMAKE_CROSSCOMPILING)
|
||||
+IF(WITHOUT_CLIENTLIBS)
|
||||
MYSQL_ADD_EXECUTABLE(comp_err
|
||||
comp_err.cc
|
||||
COMPONENT Test
|
||||
LINK_LIBRARIES mysys
|
||||
+ SKIP_INSTALL)
|
||||
+ELSE(WITHOUT_CLIENTLIBS)
|
||||
+ MYSQL_ADD_EXECUTABLE(comp_err
|
||||
+ comp_err.cc
|
||||
+ COMPONENT Test
|
||||
+ LINK_LIBRARIES mysys
|
||||
)
|
||||
-ENDIF()
|
||||
+ENDIF(WITHOUT_CLIENTLIBS)
|
||||
|
||||
MYSQL_ADD_EXECUTABLE(comp_client_err
|
||||
comp_client_err.cc
|
||||
@@ -112,10 +118,30 @@ MYSQL_ADD_EXECUTABLE(static_thread_local_test
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
|
||||
+IF(WITHOUT_CLIENTLIBS)
|
||||
MYSQL_ADD_EXECUTABLE(my_print_defaults
|
||||
my_print_defaults.cc
|
||||
COMPONENT Server
|
||||
LINK_LIBRARIES mysys
|
||||
+ SKIP_INSTALL )
|
||||
+MYSQL_ADD_EXECUTABLE(perror
|
||||
+ perror.cc
|
||||
+ COMPONENT Server
|
||||
+ DEPENDENCIES GenError
|
||||
+ LINK_LIBRARIES mysys
|
||||
+ SKIP_INSTALL )
|
||||
+IF(BUILD_BUNDLED_LZ4)
|
||||
+ MYSQL_ADD_EXECUTABLE(lz4_decompress
|
||||
+ lz4_decompress.cc
|
||||
+ COMPONENT Server
|
||||
+ LINK_LIBRARIES ${LZ4_LIBRARY} mysys
|
||||
+ SKIP_INSTALL )
|
||||
+ENDIF()
|
||||
+ELSE(WITHOUT_CLIENTLIBS)
|
||||
+MYSQL_ADD_EXECUTABLE(my_print_defaults
|
||||
+ my_print_defaults.cc
|
||||
+ COMPONENT Server
|
||||
+ LINK_LIBRARIES mysys
|
||||
)
|
||||
MYSQL_ADD_EXECUTABLE(perror
|
||||
perror.cc
|
||||
@@ -130,12 +156,23 @@ IF(BUILD_BUNDLED_LZ4)
|
||||
LINK_LIBRARIES ${LZ4_LIBRARY} mysys
|
||||
)
|
||||
ENDIF()
|
||||
+ENDIF(WITHOUT_CLIENTLIBS)
|
||||
|
||||
+IF(WITHOUT_CLIENTLIBS)
|
||||
MYSQL_ADD_EXECUTABLE(zlib_decompress
|
||||
zlib_decompress.cc
|
||||
COMPONENT Server
|
||||
LINK_LIBRARIES ${ZLIB_LIBRARY} mysys
|
||||
+ SKIP_INSTALL )
|
||||
+ELSE(WITHOUT_CLIENTLIBS)
|
||||
+IF(BUILD_BUNDLED_ZLIB OR NOT OPENSSL_EXECUTABLE_HAS_ZLIB)
|
||||
+ MYSQL_ADD_EXECUTABLE(zlib_decompress
|
||||
+ zlib_decompress.cc
|
||||
+ COMPONENT Server
|
||||
+ LINK_LIBRARIES ${ZLIB_LIBRARY} mysys
|
||||
)
|
||||
+ENDIF()
|
||||
+ENDIF(WITHOUT_CLIENTLIBS)
|
||||
|
||||
# All targets below belong to COMPONENT Server and depend on InnoDB.
|
||||
IF(WITHOUT_SERVER)
|
||||
@ -1,30 +0,0 @@
|
||||
--- vio/viossl.cc.orig 2019-09-20 08:30:51 UTC
|
||||
+++ vio/viossl.cc
|
||||
@@ -45,7 +45,8 @@
|
||||
BIO_set_callback_ex was added in openSSL 1.1.1
|
||||
For older openSSL, use the deprecated BIO_set_callback.
|
||||
*/
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x10101000L
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10101000L && \
|
||||
+ !defined(LIBRESSL_VERSION_NUMBER)
|
||||
#define HAVE_BIO_SET_CALLBACK_EX
|
||||
#endif
|
||||
|
||||
@@ -635,7 +636,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, l
|
||||
#if !defined(DBUG_OFF)
|
||||
{
|
||||
STACK_OF(SSL_COMP) *ssl_comp_methods = nullptr;
|
||||
- ssl_comp_methods = SSL_COMP_get_compression_methods();
|
||||
+ ssl_comp_methods = (STACK_OF(SSL_COMP) *)SSL_COMP_get_compression_methods();
|
||||
n = sk_SSL_COMP_num(ssl_comp_methods);
|
||||
DBUG_PRINT("info", ("Available compression methods:\n"));
|
||||
if (n == 0)
|
||||
@@ -643,7 +644,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, l
|
||||
else
|
||||
for (j = 0; j < n; j++) {
|
||||
SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j);
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||
DBUG_PRINT("info", (" %d: %s\n", c->id, c->name));
|
||||
#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
||||
DBUG_PRINT("info",
|
||||
@ -1,26 +0,0 @@
|
||||
--- vio/viosslfactories.cc.orig 2019-09-20 08:30:51 UTC
|
||||
+++ vio/viosslfactories.cc
|
||||
@@ -38,6 +38,7 @@
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
#include <openssl/dh.h>
|
||||
+#include <openssl/crypto.h>
|
||||
|
||||
#define TLS_VERSION_OPTION_SIZE 256
|
||||
#define SSL_CIPHER_LIST_SIZE 4096
|
||||
@@ -420,6 +421,7 @@ void ssl_start() {
|
||||
}
|
||||
}
|
||||
|
||||
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||
/**
|
||||
Set fips mode in openssl library,
|
||||
When we set fips mode ON/STRICT, it will perform following operations:
|
||||
@@ -473,6 +475,7 @@ EXIT:
|
||||
@returns openssl current fips mode
|
||||
*/
|
||||
uint get_fips_mode() { return FIPS_mode(); }
|
||||
+#endif
|
||||
|
||||
long process_tls_version(const char *tls_version) {
|
||||
const char *separator = ",";
|
||||
@ -1,21 +0,0 @@
|
||||
[
|
||||
{ type: install
|
||||
message: <<EOM
|
||||
There is no initial password for first time use of MySQL.
|
||||
Keep in mind to reset it to a secure password.
|
||||
|
||||
MySQL80 has a default %%ETCDIR%%/my.cnf,
|
||||
remember to replace it with your own
|
||||
or set `mysql_optfile="$YOUR_CNF_FILE` in rc.conf.
|
||||
EOM
|
||||
}
|
||||
{ type: upgrade
|
||||
message: <<EOM
|
||||
As of MySQL 8.0.16, the MySQL server performs the upgrade tasks previously
|
||||
handled by mysql_upgrade. Consequently, mysql_upgrade is unneeded and is
|
||||
deprecated as of that version, and will be removed in a future MySQL version.
|
||||
Because mysql_upgrade no longer performs upgrade tasks,
|
||||
it exits with status 0 unconditionally.
|
||||
EOM
|
||||
}
|
||||
]
|
||||
@ -1,15 +0,0 @@
|
||||
MySQL is a very fast, multi-threaded, multi-user and robust SQL
|
||||
(Structured Query Language) database server.
|
||||
The new features in MySQL 8.0. In addition to Data Dictionnary and CTEs are:
|
||||
Move to utf8(mb4) as MySQL's default character set
|
||||
Language specific case insensitive collation for 21 languages (utf8)
|
||||
Invisible index
|
||||
Descending indexes
|
||||
Improve usability of UUID and IPV6 manipulations
|
||||
SQL roles - SET PERSIST for global variable values
|
||||
Performance Schema, instrumenting data locks
|
||||
Performance Schema, instrumenting error messages
|
||||
Improved cost model with histograms
|
||||
|
||||
|
||||
WWW: https://www.mysql.com/
|
||||
@ -1,238 +0,0 @@
|
||||
LICENSE.router
|
||||
README.router
|
||||
bin/ibd2sdi
|
||||
bin/innochecksum
|
||||
bin/myisam_ftdump
|
||||
bin/myisamchk
|
||||
bin/myisamlog
|
||||
bin/myisampack
|
||||
bin/mysqldumpslow
|
||||
bin/mysql_client_test
|
||||
bin/mysql_secure_installation
|
||||
bin/mysql_ssl_rsa_setup
|
||||
bin/mysql_tzinfo_to_sql
|
||||
bin/mysql_upgrade
|
||||
bin/mysqld_multi
|
||||
bin/mysqld_safe
|
||||
bin/mysqlrouter
|
||||
bin/mysqlrouter_keyring
|
||||
bin/mysqlrouter_passwd
|
||||
bin/mysqlrouter_plugin_info
|
||||
bin/mysqltest
|
||||
bin/mysqltest_safe_process
|
||||
bin/mysqlxtest
|
||||
etc/logrotate.d/mysqlrouter
|
||||
lib/mysql/libmysqlharness.so
|
||||
lib/mysql/libmysqlharness.so.1
|
||||
lib/mysql/libmysqlharness_stdx.so
|
||||
lib/mysql/libmysqlharness_stdx.so.1
|
||||
lib/mysql/libmysqlrouter.so
|
||||
lib/mysql/libmysqlrouter.so.1
|
||||
lib/mysql/libmysqlrouter_http.so
|
||||
lib/mysql/libmysqlrouter_http.so.1
|
||||
lib/mysql/libmysqlrouter_http_auth_backend.so
|
||||
lib/mysql/libmysqlrouter_http_auth_backend.so.1
|
||||
lib/mysql/libmysqlrouter_http_auth_realm.so
|
||||
lib/mysql/libmysqlrouter_http_auth_realm.so.1
|
||||
lib/mysql/libmysqlrouter_io_component.so
|
||||
lib/mysql/libmysqlrouter_io_component.so.1
|
||||
lib/mysql/mysqlrouter/http_auth_backend.so
|
||||
lib/mysql/mysqlrouter/http_auth_realm.so
|
||||
lib/mysql/mysqlrouter/http_server.so
|
||||
lib/mysql/mysqlrouter/io.so
|
||||
lib/mysql/mysqlrouter/keepalive.so
|
||||
lib/mysql/mysqlrouter/metadata_cache.so
|
||||
lib/mysql/mysqlrouter/mysql_protocol.so
|
||||
lib/mysql/mysqlrouter/rest_api.so
|
||||
lib/mysql/mysqlrouter/rest_metadata_cache.so
|
||||
lib/mysql/mysqlrouter/rest_router.so
|
||||
lib/mysql/mysqlrouter/rest_routing.so
|
||||
lib/mysql/mysqlrouter/router_protobuf.so
|
||||
lib/mysql/mysqlrouter/routing.so
|
||||
lib/mysql/plugin/adt_null.so
|
||||
lib/mysql/plugin/auth.so
|
||||
lib/mysql/plugin/auth_test_plugin.so
|
||||
lib/mysql/plugin/component_audit_api_message_emit.so
|
||||
lib/mysql/plugin/component_example_component1.so
|
||||
lib/mysql/plugin/component_example_component2.so
|
||||
lib/mysql/plugin/component_example_component3.so
|
||||
lib/mysql/plugin/component_log_filter_dragnet.so
|
||||
lib/mysql/plugin/component_log_sink_json.so
|
||||
lib/mysql/plugin/component_log_sink_syseventlog.so
|
||||
lib/mysql/plugin/component_log_sink_test.so
|
||||
lib/mysql/plugin/component_mysqlbackup.so
|
||||
lib/mysql/plugin/component_mysqlx_global_reset.so
|
||||
lib/mysql/plugin/component_pfs_example.so
|
||||
lib/mysql/plugin/component_pfs_example_component_population.so
|
||||
lib/mysql/plugin/component_test_audit_api_message.so
|
||||
lib/mysql/plugin/component_test_backup_lock_service.so
|
||||
lib/mysql/plugin/component_test_component_deinit.so
|
||||
lib/mysql/plugin/component_test_host_application_signal.so
|
||||
lib/mysql/plugin/component_test_mysql_current_thread_reader.so
|
||||
lib/mysql/plugin/component_test_mysql_runtime_error.so
|
||||
lib/mysql/plugin/component_test_pfs_notification.so
|
||||
lib/mysql/plugin/component_test_pfs_resource_group.so
|
||||
lib/mysql/plugin/component_test_status_var_service.so
|
||||
lib/mysql/plugin/component_test_status_var_service_int.so
|
||||
lib/mysql/plugin/component_test_status_var_service_reg_only.so
|
||||
lib/mysql/plugin/component_test_status_var_service_str.so
|
||||
lib/mysql/plugin/component_test_status_var_service_unreg_only.so
|
||||
lib/mysql/plugin/component_test_string_service.so
|
||||
lib/mysql/plugin/component_test_string_service_charset.so
|
||||
lib/mysql/plugin/component_test_string_service_long.so
|
||||
lib/mysql/plugin/component_test_sys_var_service.so
|
||||
lib/mysql/plugin/component_test_sys_var_service_int.so
|
||||
lib/mysql/plugin/component_test_sys_var_service_same.so
|
||||
lib/mysql/plugin/component_test_sys_var_service_str.so
|
||||
lib/mysql/plugin/component_test_system_variable_source.so
|
||||
lib/mysql/plugin/component_test_udf_registration.so
|
||||
@comment lib/mysql/plugin/component_test_udf_services.so
|
||||
lib/mysql/plugin/component_udf_reg_3_func.so
|
||||
lib/mysql/plugin/component_udf_reg_avg_func.so
|
||||
lib/mysql/plugin/component_udf_reg_int_func.so
|
||||
lib/mysql/plugin/component_udf_reg_int_same_func.so
|
||||
lib/mysql/plugin/component_udf_reg_only_3_func.so
|
||||
lib/mysql/plugin/component_udf_reg_real_func.so
|
||||
lib/mysql/plugin/component_udf_unreg_3_func.so
|
||||
lib/mysql/plugin/component_udf_unreg_int_func.so
|
||||
lib/mysql/plugin/component_udf_unreg_real_func.so
|
||||
lib/mysql/plugin/component_validate_password.so
|
||||
lib/mysql/plugin/connection_control.so
|
||||
lib/mysql/plugin/daemon_example.ini
|
||||
lib/mysql/plugin/ddl_rewriter.so
|
||||
lib/mysql/plugin/group_replication.so
|
||||
%%NO_EXAMPLE%%lib/mysql/plugin/ha_example.so
|
||||
lib/mysql/plugin/ha_mock.so
|
||||
lib/mysql/plugin/component_test_udf_services.so
|
||||
lib/mysql/plugin/keyring_file.so
|
||||
lib/mysql/plugin/libdaemon_example.so
|
||||
lib/mysql/plugin/libtest_framework.so
|
||||
lib/mysql/plugin/libtest_services.so
|
||||
lib/mysql/plugin/libtest_services_threaded.so
|
||||
lib/mysql/plugin/libtest_session_attach.so
|
||||
lib/mysql/plugin/libtest_session_detach.so
|
||||
lib/mysql/plugin/libtest_session_in_thd.so
|
||||
lib/mysql/plugin/libtest_session_info.so
|
||||
lib/mysql/plugin/libtest_sql_2_sessions.so
|
||||
lib/mysql/plugin/libtest_sql_all_col_types.so
|
||||
lib/mysql/plugin/libtest_sql_cmds_1.so
|
||||
lib/mysql/plugin/libtest_sql_commit.so
|
||||
lib/mysql/plugin/libtest_sql_complex.so
|
||||
lib/mysql/plugin/libtest_sql_errors.so
|
||||
lib/mysql/plugin/libtest_sql_lock.so
|
||||
lib/mysql/plugin/libtest_sql_processlist.so
|
||||
lib/mysql/plugin/libtest_sql_replication.so
|
||||
lib/mysql/plugin/libtest_sql_reset_connection.so
|
||||
lib/mysql/plugin/libtest_sql_shutdown.so
|
||||
lib/mysql/plugin/libtest_sql_sqlmode.so
|
||||
lib/mysql/plugin/libtest_sql_stmt.so
|
||||
lib/mysql/plugin/libtest_sql_stored_procedures_functions.so
|
||||
lib/mysql/plugin/libtest_sql_views_triggers.so
|
||||
lib/mysql/plugin/libtest_x_sessions_deinit.so
|
||||
lib/mysql/plugin/libtest_x_sessions_init.so
|
||||
lib/mysql/plugin/locking_service.so
|
||||
lib/mysql/plugin/mypluglib.so
|
||||
lib/mysql/plugin/mysql_clone.so
|
||||
lib/mysql/plugin/mysql_no_login.so
|
||||
lib/mysql/plugin/pfs_example_plugin_employee.so
|
||||
lib/mysql/plugin/qa_auth_client.so
|
||||
lib/mysql/plugin/qa_auth_interface.so
|
||||
lib/mysql/plugin/qa_auth_server.so
|
||||
lib/mysql/plugin/replication_observers_example_plugin.so
|
||||
lib/mysql/plugin/rewrite_example.so
|
||||
lib/mysql/plugin/rewriter.so
|
||||
lib/mysql/plugin/semisync_master.so
|
||||
lib/mysql/plugin/semisync_slave.so
|
||||
lib/mysql/plugin/test_security_context.so
|
||||
lib/mysql/plugin/test_services_host_application_signal.so
|
||||
lib/mysql/plugin/test_services_plugin_registry.so
|
||||
lib/mysql/plugin/udf_example.so
|
||||
lib/mysql/plugin/keyring_udf.so
|
||||
lib/mysql/plugin/test_udf_services.so
|
||||
lib/mysql/plugin/validate_password.so
|
||||
lib/mysql/plugin/version_token.so
|
||||
libexec/mysqld
|
||||
man/man1/ibd2sdi.1.gz
|
||||
man/man1/innochecksum.1.gz
|
||||
man/man1/my_print_defaults.1.gz
|
||||
man/man1/myisam_ftdump.1.gz
|
||||
man/man1/myisamchk.1.gz
|
||||
man/man1/myisamlog.1.gz
|
||||
man/man1/myisampack.1.gz
|
||||
man/man1/mysql_secure_installation.1.gz
|
||||
man/man1/mysql_ssl_rsa_setup.1.gz
|
||||
man/man1/mysql_tzinfo_to_sql.1.gz
|
||||
man/man1/mysql_upgrade.1.gz
|
||||
man/man1/mysql.server.1.gz
|
||||
man/man1/mysqld_multi.1.gz
|
||||
man/man1/mysqld_safe.1.gz
|
||||
man/man1/mysqldumpslow.1.gz
|
||||
man/man1/mysqlrouter_passwd.1.gz
|
||||
man/man1/mysqlrouter_plugin_info.1.gz
|
||||
man/man1/mysqlrouter.1.gz
|
||||
man/man8/mysqld.8.gz
|
||||
%%DATADIR%%/bulgarian/errmsg.sys
|
||||
%%DATADIR%%/charsets/Index.xml
|
||||
%%DATADIR%%/charsets/README
|
||||
%%DATADIR%%/charsets/armscii8.xml
|
||||
%%DATADIR%%/charsets/ascii.xml
|
||||
%%DATADIR%%/charsets/cp1250.xml
|
||||
%%DATADIR%%/charsets/cp1251.xml
|
||||
%%DATADIR%%/charsets/cp1256.xml
|
||||
%%DATADIR%%/charsets/cp1257.xml
|
||||
%%DATADIR%%/charsets/cp850.xml
|
||||
%%DATADIR%%/charsets/cp852.xml
|
||||
%%DATADIR%%/charsets/cp866.xml
|
||||
%%DATADIR%%/charsets/dec8.xml
|
||||
%%DATADIR%%/charsets/geostd8.xml
|
||||
%%DATADIR%%/charsets/greek.xml
|
||||
%%DATADIR%%/charsets/hebrew.xml
|
||||
%%DATADIR%%/charsets/hp8.xml
|
||||
%%DATADIR%%/charsets/keybcs2.xml
|
||||
%%DATADIR%%/charsets/koi8r.xml
|
||||
%%DATADIR%%/charsets/koi8u.xml
|
||||
%%DATADIR%%/charsets/latin1.xml
|
||||
%%DATADIR%%/charsets/latin2.xml
|
||||
%%DATADIR%%/charsets/latin5.xml
|
||||
%%DATADIR%%/charsets/latin7.xml
|
||||
%%DATADIR%%/charsets/macce.xml
|
||||
%%DATADIR%%/charsets/macroman.xml
|
||||
%%DATADIR%%/charsets/swe7.xml
|
||||
%%DATADIR%%/czech/errmsg.sys
|
||||
%%DATADIR%%/danish/errmsg.sys
|
||||
%%DATADIR%%/dictionary.txt
|
||||
%%DATADIR%%/dutch/errmsg.sys
|
||||
%%DATADIR%%/english/errmsg.sys
|
||||
%%DATADIR%%/estonian/errmsg.sys
|
||||
%%DATADIR%%/french/errmsg.sys
|
||||
%%DATADIR%%/german/errmsg.sys
|
||||
%%DATADIR%%/greek/errmsg.sys
|
||||
%%DATADIR%%/hungarian/errmsg.sys
|
||||
%%DATADIR%%/install_rewriter.sql
|
||||
%%DATADIR%%/italian/errmsg.sys
|
||||
%%DATADIR%%/japanese/errmsg.sys
|
||||
%%DATADIR%%/korean/errmsg.sys
|
||||
%%DATADIR%%/messages_to_clients.txt
|
||||
%%DATADIR%%/messages_to_error_log.txt
|
||||
%%DATADIR%%/mysql-log-rotate
|
||||
%%DATADIR%%/mysql.server
|
||||
%%DATADIR%%/mysqld_multi.server
|
||||
%%DATADIR%%/norwegian-ny/errmsg.sys
|
||||
%%DATADIR%%/norwegian/errmsg.sys
|
||||
%%DATADIR%%/polish/errmsg.sys
|
||||
%%DATADIR%%/portuguese/errmsg.sys
|
||||
%%DATADIR%%/romanian/errmsg.sys
|
||||
%%DATADIR%%/russian/errmsg.sys
|
||||
%%DATADIR%%/serbian/errmsg.sys
|
||||
%%DATADIR%%/slovak/errmsg.sys
|
||||
%%DATADIR%%/spanish/errmsg.sys
|
||||
%%DATADIR%%/swedish/errmsg.sys
|
||||
%%DATADIR%%/ukrainian/errmsg.sys
|
||||
%%DATADIR%%/uninstall_rewriter.sql
|
||||
%%DATADIR%%router/docs/sample_mysqlrouter.conf
|
||||
@dir lib/mysql/plugin/debug
|
||||
@dir %%DATADIR%%router/docs
|
||||
@sample(root,wheel,0644) %%ETCDIR%%/my.cnf.sample
|
||||
@dir(mysql,mysql,0750) %%ETCDIR%%/keyring
|
||||
@dir(mysql,mysql,0750) %%MY_SECDIR%%
|
||||
@dir(mysql,mysql,0750) %%MY_TMPDIR%%
|
||||
29
devel/gmake3/Makefile
Normal file
29
devel/gmake3/Makefile
Normal file
@ -0,0 +1,29 @@
|
||||
PORTNAME= make
|
||||
DISTVERSION= 3.81
|
||||
CATEGORIES= devel
|
||||
MASTER_SITES= GNU
|
||||
PKGNAMEPREFIX= g
|
||||
PKGNAMESUFFIX= 3
|
||||
|
||||
# note: before committing to this port, contact portmgr to arrange for an
|
||||
# experimental ports run. Untested commits may be backed out at portmgr's
|
||||
# discretion.
|
||||
MAINTAINER= allanjude@FreeBSD.org
|
||||
COMMENT= Last GPLv2 version of GNU 'make' utility
|
||||
WWW= https://www.gnu.org/software/make/
|
||||
|
||||
LICENSE= GPLv2
|
||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
|
||||
USES= cpe tar:bz2
|
||||
CPE_VENDOR= gnu
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
|
||||
CONFIGURE_ARGS= --program-prefix=g \
|
||||
--program-suffix=3 \
|
||||
--disable-nls \
|
||||
--disable-info \
|
||||
--without-guile
|
||||
|
||||
.include <bsd.port.mk>
|
||||
3
devel/gmake3/distinfo
Normal file
3
devel/gmake3/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1747413857
|
||||
SHA256 (make-3.81.tar.bz2) = f3e69023771e23908f5d5592954d8271d3d6af09693cecfd29cee6fde8550dc8
|
||||
SIZE (make-3.81.tar.bz2) = 1151445
|
||||
4
devel/gmake3/pkg-descr
Normal file
4
devel/gmake3/pkg-descr
Normal file
@ -0,0 +1,4 @@
|
||||
This is the last GPLv2 licensed version of GNU make.
|
||||
GNU make is a tool that controls the generation of executables and other
|
||||
non-source files from source files. Its purpose is the same as that
|
||||
of the utility make(1).
|
||||
2
devel/gmake3/pkg-plist
Normal file
2
devel/gmake3/pkg-plist
Normal file
@ -0,0 +1,2 @@
|
||||
bin/gmake3
|
||||
share/man/man1/gmake3.1.gz
|
||||
38
devel/kati/Makefile
Normal file
38
devel/kati/Makefile
Normal file
@ -0,0 +1,38 @@
|
||||
PORTNAME= kati
|
||||
MASTER_SITES= http://yhm1.klara.systems/kati/
|
||||
PORTVERSION= 0.1
|
||||
CATEGORIES= devel
|
||||
|
||||
MAINTAINER= allanjude@FreeBSD.org
|
||||
COMMENT= Apache licensed replacement for GNU make
|
||||
WWW= https://github.com/google/kati
|
||||
|
||||
LICENSE= APACHE20
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
#Kati is pretending to be gmake, so we can't USES gmake here
|
||||
##USES= gmake
|
||||
|
||||
BUILD_DEPENDS+= gmake>=4.4.1:devel/gmake
|
||||
CONFIGURE_ENV+= MAKE=gmake
|
||||
MAKE_CMD= gmake
|
||||
|
||||
CONFLICTS_INSTALL= gmake
|
||||
|
||||
# PROJECT TOKEN:
|
||||
# Name: kati-port-ci
|
||||
# Token: glpat-m9-NUmzPFAWfDFhur99s
|
||||
# Scopes: read_repository
|
||||
#USE_GITLAB= yes
|
||||
#GL_SITE= https://gitlab.klara.systems
|
||||
#GL_SITE= https://xavier.beaudouin\@klarasystems.com:xMwy3nX7PTwUudg@gitlab.klara.systems
|
||||
#GL_ACCOUNT= prettybsd
|
||||
#GL_PROJECT= kati
|
||||
#GL_TAGNAME= 1dc6868c0a4a6d17bf5527e06a5cb23cac5a6043
|
||||
|
||||
NO_CHECKSUM= yes
|
||||
|
||||
do-install:
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/ckati ${STAGEDIR}${PREFIX}/bin/gmake
|
||||
|
||||
.include <bsd.port.mk>
|
||||
1
devel/kati/pkg-descr
Normal file
1
devel/kati/pkg-descr
Normal file
@ -0,0 +1 @@
|
||||
Kati is an apache licensed replacement for GNU make
|
||||
1
devel/kati/pkg-plist
Normal file
1
devel/kati/pkg-plist
Normal file
@ -0,0 +1 @@
|
||||
bin/gmake
|
||||
6
mail/exim-ldap2/Makefile
Normal file
6
mail/exim-ldap2/Makefile
Normal file
@ -0,0 +1,6 @@
|
||||
PKGNAMESUFFIX= -ldap2
|
||||
MASTERDIR= ${.CURDIR}/../exim
|
||||
|
||||
OPTIONS_SLAVE= OPENLDAP
|
||||
|
||||
.include "${MASTERDIR}/Makefile"
|
||||
15
mail/exim-monitor/Makefile
Normal file
15
mail/exim-monitor/Makefile
Normal file
@ -0,0 +1,15 @@
|
||||
PKGNAMESUFFIX= -monitor
|
||||
|
||||
COMMENT= The Exim monitor for the Exim MTA
|
||||
|
||||
MASTERDIR= ${.CURDIR}/../exim
|
||||
|
||||
EXIMON_ONLY= yes
|
||||
OPTIONS_SLAVE= EXIMON
|
||||
|
||||
# This dependency is disabled, because it prevents package users from
|
||||
# using the exim-monitor package with any of the exim slave packages.
|
||||
#
|
||||
#RUN_DEPENDS= ${LOCALBASE}/sbin/exim:mail/exim
|
||||
|
||||
.include "${MASTERDIR}/Makefile"
|
||||
12
mail/exim-monitor/files/patch-OS__Makefile-Base
Normal file
12
mail/exim-monitor/files/patch-OS__Makefile-Base
Normal file
@ -0,0 +1,12 @@
|
||||
--- OS/Makefile-Base.orig Wed Aug 15 13:09:05 2001
|
||||
+++ OS/Makefile-Base Mon Aug 27 14:59:04 2001
|
||||
@@ -19,7 +19,8 @@
|
||||
# up-to-date. Then the os-specific source files and the C configuration file
|
||||
# are set up, and finally it goes to the main Exim target.
|
||||
|
||||
-all: $(EDITME) checklocalmake Makefile os.h os.c config.h allexim
|
||||
+all: $(EDITME) checklocalmake Makefile os.h os.c config.h buildpcre \
|
||||
+ eximon.bin
|
||||
|
||||
checklocalmake:
|
||||
@if $(SHELL) $(SCRIPTS)/newer $(EDITME)-$(OSTYPE) $(EDITME) || \
|
||||
10
mail/exim-monitor/files/patch-OS__Makefile-FreeBSD
Normal file
10
mail/exim-monitor/files/patch-OS__Makefile-FreeBSD
Normal file
@ -0,0 +1,10 @@
|
||||
--- OS/Makefile-FreeBSD.orig Mon Jun 11 12:04:05 2001
|
||||
+++ OS/Makefile-FreeBSD Mon Jun 11 12:04:33 2001
|
||||
@@ -5,6 +5,7 @@
|
||||
PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout
|
||||
|
||||
CHOWN_COMMAND=/usr/sbin/chown
|
||||
+STRIP_COMMAND=/usr/bin/strip
|
||||
|
||||
HAVE_SA_LEN=YES
|
||||
|
||||
55
mail/exim-monitor/files/patch-src__EDITME
Normal file
55
mail/exim-monitor/files/patch-src__EDITME
Normal file
@ -0,0 +1,55 @@
|
||||
--- src/EDITME.orig Mon Aug 27 14:35:47 2001
|
||||
+++ src/EDITME Mon Aug 27 14:37:31 2001
|
||||
@@ -98,7 +98,7 @@
|
||||
# /usr/local/sbin. The installation script will try to create this directory,
|
||||
# and any superior directories, if they do not exist.
|
||||
|
||||
-BIN_DIRECTORY=/usr/exim/bin
|
||||
+BIN_DIRECTORY=XX_PREFIX_XX/sbin
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@@ -113,7 +113,7 @@
|
||||
# directories if they don't exist. It will also install a default run time
|
||||
# configuration if this file does not exist.
|
||||
|
||||
-CONFIGURE_FILE=/usr/exim/configure
|
||||
+CONFIGURE_FILE=XX_PREFIX_XX/etc/exim/configure
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@@ -126,14 +126,14 @@
|
||||
# owner of a local mailbox.) Specifying these values as root is very strongly
|
||||
# discouraged. These values are compiled into the binary.
|
||||
|
||||
-EXIM_USER=
|
||||
+EXIM_USER=mailnull
|
||||
|
||||
# If the setting of EXIM_USER is numeric (e.g. EXIM_USER=42), there must
|
||||
# also be a setting of EXIM_GROUP. If, on the other hand, you use a name
|
||||
# for EXIM_USER (e.g. EXIM_USER=exim), you don't need to set EXIM_GROUP unless
|
||||
# you want to use a group other than the default group for the given user.
|
||||
|
||||
-# EXIM_GROUP=
|
||||
+EXIM_GROUP=mail
|
||||
|
||||
# Many sites define a user called "exim", with an appropriate default group,
|
||||
# and use
|
||||
@@ -371,7 +373,7 @@
|
||||
# %s. This will be replaced by one of the strings "main", "panic", or "reject"
|
||||
# to form the final file names. Some installations may want something like this:
|
||||
|
||||
-# LOG_FILE_PATH=/var/log/exim_%slog
|
||||
+LOG_FILE_PATH=/var/log/exim/%slog
|
||||
|
||||
# which results in files with names /var/log/exim_mainlog, etc. The directory
|
||||
# in which the log files are placed must exist; Exim does not try to create
|
||||
@@ -695,7 +705,7 @@
|
||||
# (process id) to a file so that it can easily be identified. The path of the
|
||||
# file can be specified here. Some installations may want something like this:
|
||||
|
||||
-# PID_FILE_PATH=/var/lock/exim.pid
|
||||
+PID_FILE_PATH=/var/run/exim.pid
|
||||
|
||||
# If PID_FILE_PATH is not defined, Exim writes a file in its spool directory
|
||||
# using the name "exim-daemon.pid".
|
||||
7
mail/exim-monitor/pkg-descr
Normal file
7
mail/exim-monitor/pkg-descr
Normal file
@ -0,0 +1,7 @@
|
||||
The Exim monitor (eximon) is a graphical user interface for the Exim
|
||||
mail transfer agent for Unix systems. Eximon is distributed as part
|
||||
of the standard Exim distribution, but its dependency on XFree86
|
||||
annoys many administrators.
|
||||
|
||||
For this reason, it is available as its own package to allow
|
||||
administrators to easily install Exim without installing XFree86.
|
||||
14
mail/exim-monitor/pkg-message
Normal file
14
mail/exim-monitor/pkg-message
Normal file
@ -0,0 +1,14 @@
|
||||
[
|
||||
{ type: install
|
||||
message: <<EOM
|
||||
Although the Exim monitor has been correctly installed, please note
|
||||
that it is useless without the Exim MTA. Install one of the Exim
|
||||
packages available, which include documentation for the Exim monitor:
|
||||
|
||||
exim
|
||||
exim-ldap2
|
||||
exim-mysql
|
||||
exim-postgresql
|
||||
EOM
|
||||
}
|
||||
]
|
||||
6
mail/exim-mysql/Makefile
Normal file
6
mail/exim-mysql/Makefile
Normal file
@ -0,0 +1,6 @@
|
||||
PKGNAMESUFFIX= -mysql
|
||||
MASTERDIR= ${.CURDIR}/../exim
|
||||
|
||||
OPTIONS_SLAVE= MYSQL
|
||||
|
||||
.include "${MASTERDIR}/Makefile"
|
||||
7
mail/exim-postgresql/Makefile
Normal file
7
mail/exim-postgresql/Makefile
Normal file
@ -0,0 +1,7 @@
|
||||
PORTREVISION= 1
|
||||
PKGNAMESUFFIX= -postgresql
|
||||
MASTERDIR= ${.CURDIR}/../exim
|
||||
|
||||
OPTIONS_SLAVE= PGSQL
|
||||
|
||||
.include "${MASTERDIR}/Makefile"
|
||||
7
mail/exim-sqlite/Makefile
Normal file
7
mail/exim-sqlite/Makefile
Normal file
@ -0,0 +1,7 @@
|
||||
PORTREVISION= 1
|
||||
PKGNAMESUFFIX= -sqlite
|
||||
MASTERDIR= ${.CURDIR}/../exim
|
||||
|
||||
OPTIONS_SLAVE= SQLITE
|
||||
|
||||
.include "${MASTERDIR}/Makefile"
|
||||
648
mail/exim/Makefile
Normal file
648
mail/exim/Makefile
Normal file
@ -0,0 +1,648 @@
|
||||
PORTNAME= exim
|
||||
PORTVERSION?= ${EXIM_VERSION}
|
||||
PORTREVISION?= 0
|
||||
CATEGORIES= mail
|
||||
MASTER_SITES= EXIM:exim
|
||||
MASTER_SITE_SUBDIR= /exim4/:exim \
|
||||
/exim4/fixes/:exim \
|
||||
/exim4/old/:exim
|
||||
DISTNAME= ${PORTNAME}-${EXIM_VERSION}
|
||||
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:exim
|
||||
DIST_SUBDIR= exim
|
||||
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
|
||||
|
||||
MAINTAINER= fluffy@FreeBSD.org
|
||||
COMMENT?= High performance MTA for Unix systems on the Internet
|
||||
WWW= https://www.exim.org/
|
||||
|
||||
LICENSE= GPLv2
|
||||
|
||||
BUILD_DEPENDS= p5-File-FcntlLock>0:devel/p5-File-FcntlLock
|
||||
RUN_DEPENDS= p5-File-FcntlLock>0:devel/p5-File-FcntlLock
|
||||
|
||||
USES= compiler cpe tar:bzip2 perl5
|
||||
USE_CSTD= c99
|
||||
|
||||
# Exim build system is job unsafe atm
|
||||
MAKE_JOBS_UNSAFE= yes
|
||||
# One can tune the following "hidden" knobs:
|
||||
# - EXIM_USER: user exim is running as;
|
||||
# - EXIM_GROUP: ditto for the group;
|
||||
# - LOGDIR: where Exim logs will be put;
|
||||
# - LOG_FILE_PATH: path where '%s' will be substituted with
|
||||
# the target name (main, reject, etc);
|
||||
# - CONFIG_FILE_PATH: path to the default configuration file;
|
||||
# - ALT_CONFIG_PREFIX: path to the default prefix for all
|
||||
# configuration files, excluding the main one;
|
||||
# will be effective only when WITH_ALT_CONFIG_PREFIX
|
||||
# will be set via OPTIONS.
|
||||
|
||||
.if make(makesum) && !defined(FETCH_ALL)
|
||||
.error "You forgot to define FETCH_ALL to create the sane distinfo"
|
||||
.endif
|
||||
|
||||
.include "options"
|
||||
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
AUTH_SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2
|
||||
BDB_USES= bdb
|
||||
DMARC_LIB_DEPENDS= libopendmarc.so:mail/opendmarc
|
||||
EXIMON_USES= xorg
|
||||
EXIMON_USE= xorg=x11,xaw,xext,xmu,xt
|
||||
GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls
|
||||
ICONV_USES= iconv:lib,build
|
||||
INTERNATIONAL_LIB_DEPENDS= libidn.so:dns/libidn libidn2.so:dns/libidn2
|
||||
LMDB_LIB_DEPENDS= liblmdb.so:databases/lmdb
|
||||
MYSQL_USES= mysql
|
||||
OPENLDAP_USES= ldap
|
||||
PGSQL_LIB_DEPENDS= libicudata.so:devel/icu
|
||||
PGSQL_USES= pgsql pkgconfig
|
||||
REDIS_LIB_DEPENDS= libhiredis.so:databases/hiredis
|
||||
SASLAUTHD_RUN_DEPENDS= ${LOCALBASE}/sbin/saslauthd:security/cyrus-sasl2-saslauthd
|
||||
SA_EXIM_RUN_DEPENDS= ${LOCALBASE}/bin/spamc:mail/spamassassin
|
||||
SPF_LIB_DEPENDS= libspf2.so:mail/libspf2
|
||||
SQLITE_LIB_DEPENDS= libicudata.so:devel/icu
|
||||
SQLITE_USES= pkgconfig sqlite
|
||||
|
||||
#DEBIAN_PATCHES_PREFIX= ${FILESDIR}/debian/75
|
||||
#EXTRA_PATCHES= \
|
||||
# ${DEBIAN_PATCHES_PREFIX}_01-Fix-exit-on-attempt-to-rewrite-a-malformed-address.-.patch:-p1 \
|
||||
# ${DEBIAN_PATCHES_PREFIX}_05-SPF-fix-memory-accounting-for-error-case.patch:-p1
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
# OCSP is supported for openssl only
|
||||
.if ${PORT_OPTIONS:MOCSP}
|
||||
.if ! ${PORT_OPTIONS:MTLS}
|
||||
IGNORE= you cannot enable OCSP stapling without TLS support
|
||||
.elif ${PORT_OPTIONS:MGNUTLS}
|
||||
IGNORE= you cannot enable OCSP stapling with gnutls
|
||||
.endif
|
||||
.endif
|
||||
|
||||
# DMARC implies SPF and DKIM
|
||||
.if ${PORT_OPTIONS:MDMARC}
|
||||
.if ! ${PORT_OPTIONS:MSPF} || ! ${PORT_OPTIONS:MDKIM}
|
||||
IGNORE= you cannot enable DMARC without SPF and DKIM support
|
||||
.endif
|
||||
.endif
|
||||
|
||||
# ARC implies SPF and DKIM
|
||||
.if ${PORT_OPTIONS:MARC}
|
||||
.if ! ${PORT_OPTIONS:MSPF} || ! ${PORT_OPTIONS:MDKIM}
|
||||
IGNORE= you cannot enable ARC without SPF and DKIM support
|
||||
.endif
|
||||
.endif
|
||||
# DANE implies DNSSEC
|
||||
.if ${PORT_OPTIONS:MDANE}
|
||||
.if ! ${PORT_OPTIONS:MDNSSEC} || ! ${PORT_OPTIONS:MTLS}
|
||||
IGNORE= you cannot enable DANE without DNSSEC support or without TLS support
|
||||
.endif
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MSA_EXIM} || defined(FETCH_ALL)
|
||||
BROKEN= Unmaintained extension
|
||||
MASTER_SITES+= http://marc.merlins.org/linux/exim/files/:sa_exim \
|
||||
SF/sa-exim/sa-exim/${SA_EXIM_VERSION}:sa_exim
|
||||
DISTFILES+= sa-exim-${SA_EXIM_VERSION}.tar.gz:sa_exim
|
||||
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-Local-sa-exim.c
|
||||
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-Local-sa-exim.conf
|
||||
.endif
|
||||
|
||||
EXIM_VERSION= 4.99.1
|
||||
SA_EXIM_VERSION=4.2.1
|
||||
EXIM_INSTALL_ARG+= "-no_chown" "-no_symlink"
|
||||
EXTRA_PATCHES+= `${FIND} ${PATCHDIR} -name '74_*.patch'|${SORT} -h`
|
||||
|
||||
.if !defined(EXIMON_ONLY)
|
||||
PLIST_SUB+= EXIM=""
|
||||
.if defined(PKGNAMESUFFIX)
|
||||
CONFLICTS+= ${PKGNAMEPREFIX}${PORTNAME}-4.*
|
||||
.endif
|
||||
.for suffix in -ldap2 -mysql -postgresql -sa-exim -sqlite
|
||||
.if !defined(PKGNAMESUFFIX) || ${PKGNAMESUFFIX} != ${suffix}
|
||||
CONFLICTS+= ${PKGNAMEPREFIX}${PORTNAME}${suffix}-4.*
|
||||
.endif
|
||||
.endfor
|
||||
.if ${PORT_OPTIONS:MEXIMON}
|
||||
CONFLICTS+= ${PKGNAMEPREFIX}${PORTNAME}-monitor-4.*
|
||||
.endif
|
||||
PKGMESSAGE= ${WRKDIR}/POST-INSTALL-NOTES
|
||||
.else # !EXIMON_ONLY
|
||||
PLIST_SUB+= EXIM="@comment "
|
||||
PORT_OPTIONS+= EXIMON
|
||||
PKGMESSAGE= ${WRKDIR}/pkg-message
|
||||
EXIM_INSTALL_ARG+= "eximon" "eximon.bin"
|
||||
.endif # !EXIMON_ONLY
|
||||
|
||||
PORTDOC_BASE= ACKNOWLEDGMENTS NOTICE README.UPDATING
|
||||
PORTDOC_FILES= ChangeLog NewStuff DANE-draft-notes \
|
||||
OptionLists.txt README README.SIEVE dbm.discuss.txt \
|
||||
experimental-spec.txt filter.txt spec.txt
|
||||
|
||||
PORT_EXAMPLES= transport-filter.pl
|
||||
|
||||
DAILY_SCRIPTS= 150.exim-tidydb 460.exim-mail-rejects
|
||||
|
||||
MAKE_ENV+= OSTYPE="${OPSYS}" ARCHTYPE="${ARCH}" DUMMY_LDFLAGS="${DUMMY_LDFLAGS}" STRIP_COMMAND="${STRIP_CMD}"
|
||||
|
||||
EXIM_USER?= mailnull
|
||||
EXIM_GROUP?= mail
|
||||
|
||||
# Default user/group are system ones, so we don't want to check them
|
||||
.if ${EXIM_USER} != "mailnull"
|
||||
USERS= ${EXIM_USER}
|
||||
.endif
|
||||
.if ${EXIM_GROUP} != "mail"
|
||||
GROUPS= ${EXIM_GROUP}
|
||||
.endif
|
||||
|
||||
LOGDIR?= /var/log/exim
|
||||
LOG_FILE_PATH?= ${LOGDIR}/%slog
|
||||
CONFIG_FILE_PATH?= ${PREFIX}/etc/exim/configure
|
||||
ALT_CONFIG_PREFIX?= ${PREFIX}/etc/exim/
|
||||
|
||||
EXIM_DYNAMIC_LDFLAGS= -fPIC -rdynamic -Wl,--export-dynamic
|
||||
|
||||
SED_SCRIPT= -e 's,%%PREFIX%%,${PREFIX},g' \
|
||||
-e 's,%%DOCSDIR%%,${DOCSDIR},g' \
|
||||
-e 's,%%EXAMPLESDIR%%,${EXAMPLESDIR},g' \
|
||||
-e 's,%%EXIM_USER%%,${EXIM_USER},g' \
|
||||
-e 's,%%EXIM_GROUP%%,${EXIM_GROUP},g' \
|
||||
-e 's,%%LOGDIR%%,${LOGDIR},g'
|
||||
|
||||
SEDLIST+= -e 's,XX_CFLAGS_XX,${CFLAGS:S/,/\\,/g},' \
|
||||
-e 's,XX_PREFIX_XX,${PREFIX:S/,/\\,/g},' \
|
||||
-e 's,XX_LOCALBASE_XX,${LOCALBASE:S/,/\\,/g},' \
|
||||
-e 's,XX_LOG_FILE_PATH_XX,${LOG_FILE_PATH:S/,/\\,/g},' \
|
||||
-e 's,XX_CONFIG_FILE_PATH_XX,${CONFIG_FILE_PATH:S/,/\\,/g},' \
|
||||
-e 's,XX_ALT_CONFIG_PREFIX_XX,${ALT_CONFIG_PREFIX:S/,/\\,/g},' \
|
||||
-e 's,XX_EXIM_USER_XX,${EXIM_USER:S/,/\\,/g},' \
|
||||
-e 's,XX_EXIM_GROUP_XX,${EXIM_GROUP:S/,/\\,/g},' \
|
||||
-e 's,XX_DEFAULT_CHARSET_XX,${WITH_DEFAULT_CHARSET:S/,/\\,/g},' \
|
||||
-e 's,XX_DYNAMIC_LDFLAGS_XX,${EXIM_DYNAMIC_LDFLAGS:S/,/\\,/g},'
|
||||
|
||||
PLIST_SUB+= EXIM_VERSION="${EXIM_VERSION}-${PORTREVISION}" \
|
||||
EXIM_USER=${EXIM_USER} \
|
||||
EXIM_GROUP=${EXIM_GROUP} \
|
||||
LOGDIR="${LOGDIR:S/^\///}"
|
||||
|
||||
# Exim refuses to run local deliveries as root by default. You can
|
||||
# add other users to this colon-separated list that cannot be
|
||||
# overridden at runtime below, but are advised not to remove "root".
|
||||
#WITH_FIXED_NEVER_USERS= root:daemon:bin
|
||||
|
||||
# When Exim is decoding MIME "words" in header lines it converts any foreign
|
||||
# character sets to the one that is set in the headers_charset option.
|
||||
# The default setting is defined by this setting:
|
||||
WITH_DEFAULT_CHARSET?= ISO-8859-1
|
||||
|
||||
# You should not need to fiddle with anything below this point.
|
||||
|
||||
LIB_DEPENDS+= libpcre2-posix.so:devel/pcre2
|
||||
|
||||
.if ! ${PORT_OPTIONS:MDKIM}
|
||||
SEDLIST+= -e 's,^\# (DISABLE_DKIM=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MLISTMATCH_RHS}
|
||||
SEDLIST+= -e 's,^\# (EXPAND_LISTMATCH_RHS=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MDCC}
|
||||
SEDLIST+= -e 's,^\# (EXPERIMENTAL_DCC=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MPROXY}
|
||||
SEDLIST+= -e 's,^\# (SUPPORT_PROXY=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MCERTNAMES}
|
||||
SEDLIST+= -e 's,^\# (EXPERIMENTAL_CERTNAMES=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MDSN}
|
||||
SEDLIST+= -e 's,^\# (EXPERIMENTAL_DSN=),\1,'
|
||||
.endif
|
||||
|
||||
.if !${PORT_OPTIONS:MDANE}
|
||||
SEDLIST+= -e 's,^(SUPPORT_DANE=),\#\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MARC}
|
||||
SEDLIST+= -e 's,^\# (EXPERIMENTAL_ARC=),\1,'
|
||||
.endif
|
||||
|
||||
.if !${PORT_OPTIONS:MEVENT}
|
||||
SEDLIST+= -e 's,^\# (DISABLE_EVENT=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MINTERNATIONAL}
|
||||
SEDLIST+= -e 's,^\# (SUPPORT_I18N=),\1,' \
|
||||
-e 's,^\# (SUPPORT_I18N_2008=),\1,' \
|
||||
-e 's,XX_IDN_LIBS_XX,-L${LOCALBASE}/lib -lidn -lidn2,'
|
||||
.else
|
||||
SEDLIST+= -e 's,XX_IDN_LIBS_XX,,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MSOCKS}
|
||||
SEDLIST+= -e 's,^\# (SUPPORT_SOCKS=),\1,'
|
||||
.endif
|
||||
|
||||
.if !${PORT_OPTIONS:MPRDR}
|
||||
SEDLIST+= -e 's,^\# (DISABLE_PRDR=),\1,'
|
||||
.endif
|
||||
|
||||
.if !${PORT_OPTIONS:MOCSP}
|
||||
SEDLIST+= -e 's,^\# (DISABLE_OCSP=),\1,'
|
||||
.endif
|
||||
|
||||
.if !${PORT_OPTIONS:MDNSSEC}
|
||||
SEDLIST+= -e 's,^\# (DISABLE_DNSSEC=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MDMARC}
|
||||
SEDLIST+= -e 's,XX_DMARC_LIBS_XX,-L${LOCALBASE}/lib -lopendmarc,' \
|
||||
-e 's,^\# (SUPPORT_DMARC=),\1,'
|
||||
.else
|
||||
SEDLIST+= -e 's,XX_DMARC_LIBS_XX,,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MWISHLIST}
|
||||
EXTRA_PATCHES+= `${FIND} ${PATCHDIR} -name 'wishlist-*.patch'`
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MFIXED_NEVER_USERS}
|
||||
SEDLIST+= -e 's,^(FIXED_NEVER_USERS=).*,\1${WITH_FIXED_NEVER_USERS:S/,/\\,/g},'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MEXIMON}
|
||||
SEDLIST+= -e 's,^\# (EXIM_MONITOR=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MTLS}
|
||||
.if ! ${PORT_OPTIONS:MGNUTLS}
|
||||
USES+= ssl
|
||||
SEDLIST+= -e 's,^\# (USE_OPENSSL=),\1,'
|
||||
SEDLIST+= -e 's,^\# (TLS_LIBS=.*-lssl[[:space:]]),\1,'
|
||||
BROKEN_SSL= openssl31
|
||||
BROKEN_SSL_REASON= error: token is not a valid binary operator in a preprocessor subexpression
|
||||
.else
|
||||
SEDLIST+= -e 's,^\# (USE_GNUTLS=),\1,'
|
||||
SEDLIST+= -e 's,^\# (TLS_LIBS=.*-lgnutls[[:space:]]),\1,'
|
||||
.endif
|
||||
.else # TLS support
|
||||
SEDLIST+= -e 's,^\# (DISABLE_TLS=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MEMBEDDED_PERL}
|
||||
SEDLIST+= -e 's,^\# (EXIM_PERL=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MICONV}
|
||||
SEDLIST+= -e 's,XX_ICONV_LIBS_XX,-L${LOCALBASE:S/,/\\,/g}/lib ${ICONV_LIB},' \
|
||||
-e 's,^\# (HAVE_ICONV=),\1,'
|
||||
.else
|
||||
SEDLIST+= -e 's,XX_ICONV_LIBS_XX,,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MOPENLDAP}
|
||||
LDAP_LIB_TYPE= OPENLDAP2
|
||||
SEDLIST+= -e 's,XX_LDAP_LIBS_XX,-L${LOCALBASE:S/,/\\,/g}/lib -llber -lldap,' \
|
||||
-e 's,XX_LDAP_INCLUDE_XX,-I${LOCALBASE:S/,/\\,/g}/include,' \
|
||||
-e 's,XX_LDAP_TYPE_XX,${LDAP_LIB_TYPE:S/,/\\,/g},' \
|
||||
-e 's,^\# (LOOKUP_LDAP=),\1,'
|
||||
.else
|
||||
SEDLIST+= -e 's,XX_LDAP_[^ ]*_XX,,' \
|
||||
-e 's,^(LDAP_LIB_TYPE=),\# \1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MBDB}
|
||||
INVALID_BDB_VER= 2 3 6 18
|
||||
DB_LIBS= -L${BDB_LIB_DIR} -l${BDB_LIB_NAME}
|
||||
DB_INCLUDES= -I${BDB_INCLUDE_DIR}
|
||||
.else
|
||||
DB_LIBS=
|
||||
DB_INCLUDES=
|
||||
SEDLIST+= -e 's,^(DBMLIB=),\# \1,'
|
||||
.endif
|
||||
SEDLIST+= -e 's,XX_DB_LIBS_XX,${DB_LIBS:S/,/\\,/g},' \
|
||||
-e 's,XX_DB_INCLUDES_XX,${DB_INCLUDES:S/,/\\,/g},'
|
||||
|
||||
.if ${PORT_OPTIONS:MLMDB}
|
||||
_LMDB_LIBS= -L${LOCALBASE}/lib -llmdb
|
||||
_LMDB_INCLUDES= -I${LOCALBASE}/include
|
||||
SEDLIST+= -e 's,^\# (EXPERIMENTAL_LMDB=),\1,'
|
||||
.else
|
||||
_LMDB_LIBS=
|
||||
_LMDB_INCLUDES=
|
||||
.endif
|
||||
SEDLIST+= -e 's,XX_LMDB_LIBS_XX,${_LMDB_LIBS:S/,/\\,/g},' \
|
||||
-e 's,XX_LMDB_INCLUDES_XX,${_LMDB_INCLUDES:S/,/\\,/g},'
|
||||
|
||||
.if ${PORT_OPTIONS:MMYSQL}
|
||||
SEDLIST+= -e 's,XX_MYSQL_LIBS_XX,-L${LOCALBASE:S/,/\\,/g}/lib/mysql -l${_MYSQL_SHLIB:S/lib//},' \
|
||||
-e 's,XX_MYSQL_INCLUDE_XX,-I${LOCALBASE:S/,/\\,/g}/include/mysql,' \
|
||||
-e 's,^\# (LOOKUP_MYSQL=),\1,'
|
||||
.else
|
||||
SEDLIST+= -e 's,XX_MYSQL_[^ ]*_XX,,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MSASLAUTHD}
|
||||
SASLAUTHD_SOCKET?= /var/run/saslauthd/mux
|
||||
SEDLIST+= -e 's,^\# (CYRUS_SASLAUTHD_SOCKET=).*,\1${SASLAUTHD_SOCKET:S/,/\\,/g},'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MPAM}
|
||||
SEDLIST+= -e 's,XX_PAM_LIBS_XX,-lpam,' \
|
||||
-e 's,^\# (SUPPORT_PAM=),\1,'
|
||||
.else
|
||||
SEDLIST+= -e 's,XX_PAM_LIBS_XX,,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MAUTH_CRAM_MD5}
|
||||
SEDLIST+= -e 's,^\# (AUTH_CRAM_MD5=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MAUTH_PLAINTEXT}
|
||||
SEDLIST+= -e 's,^\# (AUTH_PLAINTEXT=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MAUTH_DOVECOT}
|
||||
SEDLIST+= -e 's,^\# (AUTH_DOVECOT=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MAUTH_SPA}
|
||||
SEDLIST+= -e 's,^\# (AUTH_SPA=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MAUTH_SASL}
|
||||
SEDLIST+= -e 's,^\# (AUTH_CYRUS_SASL=),\1,' \
|
||||
-e 's,^\# (AUTH_LIBS=.*-lsasl2),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MAUTH_TLS}
|
||||
SEDLIST+= -e 's,^\# (AUTH_TLS=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MAUTH_RADIUS}
|
||||
WITH_RADIUS_TYPE?= RADLIB
|
||||
.if ${WITH_RADIUS_TYPE:tl} == radlib
|
||||
SEDLIST+= -e 's,XX_RADIUS_LIBS_XX,-lradius,' \
|
||||
-e 's,^\# (RADIUS_CONFIG_FILE=).*,\1/etc/radius.conf,' \
|
||||
-e 's,^\# (RADIUS_LIB_TYPE=).*,\1RADLIB,'
|
||||
.elif ${WITH_RADIUS_TYPE:tl} == radiusclient
|
||||
LIB_DEPENDS+= libfreeradius-client.so:net/freeradius-client
|
||||
SEDLIST+= -e 's,XX_RADIUS_LIBS_XX,-L${LOCALBASE:S/,/\\,/g}/lib -lfreeradius-client,' \
|
||||
-e 's,^\# (RADIUS_CONFIG_FILE=).*,\1${LOCALBASE:S/,/\\,/g}/etc/radiusclient/radiusclient.conf,' \
|
||||
-e 's,^\# (RADIUS_LIB_TYPE=).*,\1RADIUSCLIENTNEW,'
|
||||
.else
|
||||
IGNORE= the variable WITH_RADIUS_TYPE must be either RADLIB or RADIUSCLIENT
|
||||
.endif
|
||||
.else
|
||||
SEDLIST+= -e 's,XX_RADIUS_LIBS_XX,,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MPGSQL}
|
||||
SEDLIST+= -e 's,XX_PGSQL_LIBS_XX,-L${LOCALBASE:S/,/\\,/g}/lib -lpq,' \
|
||||
-e 's,XX_PGSQL_INCLUDE_XX,-I${LOCALBASE:S/,/\\,/g}/include/pgsql,' \
|
||||
-e 's,^\# (LOOKUP_PGSQL=),\1,'
|
||||
.else
|
||||
SEDLIST+= -e 's,XX_PGSQL_[^ ]*_XX,,'
|
||||
.endif
|
||||
|
||||
.if ! ${PORT_OPTIONS:MPGSQL} && ! ${PORT_OPTIONS:MMYSQL} && !defined(LDAP_LIB_TYPE) && \
|
||||
! ${PORT_OPTIONS:MBDB} && ! ${PORT_OPTIONS:MLMDB}
|
||||
SEDLIST+= -e 's,^(LOOKUP_LIBS=),\# \1,' \
|
||||
-e 's,^(LOOKUP_INCLUDE=),\# \1,'
|
||||
.endif
|
||||
|
||||
.if ! ${PORT_OPTIONS:MDNSDB}
|
||||
SEDLIST+= -e 's,^(LOOKUP_DNSDB=),\# \1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MMAILDIR}
|
||||
SEDLIST+= -e 's,^\# (SUPPORT_MAILDIR=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MMAILSTORE}
|
||||
SEDLIST+= -e 's,^\# (SUPPORT_MAILSTORE=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MMBX}
|
||||
SEDLIST+= -e 's,^\# (SUPPORT_MBX=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MCDB}
|
||||
SEDLIST+= -e 's,^\# (LOOKUP_CDB=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MDSEARCH}
|
||||
SEDLIST+= -e 's,^\# (LOOKUP_DSEARCH=),\1,'
|
||||
.endif
|
||||
|
||||
.if ! ${PORT_OPTIONS:MLSEARCH}
|
||||
SEDLIST+= -e 's,^(LOOKUP_LSEARCH=),\# \1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MNIS}
|
||||
SEDLIST+= -e 's,^\# (LOOKUP_NIS=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MPASSWD}
|
||||
SEDLIST+= -e 's,^\# (LOOKUP_PASSWD=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MSQLITE}
|
||||
SEDLIST+= -e 's,XX_SQLITE_LIBS_XX,`pkg-config --static --libs sqlite3`,' \
|
||||
-e 's,XX_SQLITE_FLAGS_XX,`pkg-config --cflags sqlite3`,' \
|
||||
-e 's,^\# (LOOKUP_SQLITE=),\1,'
|
||||
.else
|
||||
SEDLIST+= -e 's,XX_SQLITE_LIBS_XX,,' \
|
||||
-e 's,XX_SQLITE_FLAGS_XX,,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MREDIS}
|
||||
SEDLIST+= -e 's,XX_REDIS_LIBS_XX,-L${LOCALBASE}/lib -lhiredis,' \
|
||||
-e 's,^\# (LOOKUP_REDIS=),\1,' \
|
||||
-e 's,^\# (REDIS=),\1,'
|
||||
.else
|
||||
SEDLIST+= -e 's,XX_REDIS_LIBS_XX,,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MLMTP}
|
||||
SEDLIST+= -e 's,^\# (TRANSPORT_LMTP=),\1,'
|
||||
.endif
|
||||
|
||||
.if ! ${PORT_OPTIONS:MALT_CONFIG_PREFIX}
|
||||
SEDLIST+= -e 's,^(ALT_CONFIG_PREFIX=),\# \1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MSPF}
|
||||
SEDLIST+= -e 's,XX_SPF_FLAGS_XX,-DSPF,' \
|
||||
-e 's,XX_SPF_LIBS_XX,-L${LOCALBASE}/lib -lspf2 -lpthread,' \
|
||||
-e 's,^\# (SUPPORT_SPF=),\1,'
|
||||
.else
|
||||
SEDLIST+= -e 's,XX_SPF_FLAGS_XX,,' \
|
||||
-e 's,XX_SPF_LIBS_XX,,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MSRS}
|
||||
SEDLIST+= -e 's,XX_SRS_FLAGS_XX,-DSUPPORT_SRS,' \
|
||||
-e 's,XX_SRS_LIBS_XX,,'
|
||||
.elif ${PORT_OPTIONS:MOLD_SRS}
|
||||
LIB_DEPENDS+= libsrs_alt.so:mail/libsrs_alt
|
||||
SEDLIST+= -e 's,XX_SRS_FLAGS_XX,-DEXPERIMENTAL_SRS_ALT,' \
|
||||
-e 's,XX_SRS_LIBS_XX,-L${LOCALBASE}/lib -lsrs_alt,'
|
||||
.else
|
||||
SEDLIST+= -e 's,XX_SRS_FLAGS_XX,,' \
|
||||
-e 's,XX_SRS_LIBS_XX,,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MREADLINE}
|
||||
SEDLIST+= -e 's,^\# (USE_READLINE=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MCONTENT_SCAN}
|
||||
SEDLIST+= -e 's,^\# (WITH_CONTENT_SCAN=),\1,'
|
||||
.endif
|
||||
|
||||
.if !defined(EXIMON_ONLY) && ${PORT_OPTIONS:MDAEMON}
|
||||
USE_RC_SUBR= exim
|
||||
PLIST_SUB+= EXIMDAEMON=""
|
||||
SUB_LIST+= LOGDIR="${LOGDIR}"
|
||||
.else
|
||||
PLIST_SUB+= EXIMDAEMON="@comment "
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MIPV6}
|
||||
SEDLIST+= -e 's,^\# (HAVE_IPV6=),\1,'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MDISABLE_D_OPT}
|
||||
SEDLIST+= -e 's,^\# (DISABLE_D_OPTION=),\1,'
|
||||
.else
|
||||
.if defined(WHITELIST_D_MACROS)
|
||||
SEDLIST+= -e 's,^\# (WHITELIST_D_MACROS=).*$$,\1${WHITELIST_D_MACROS:S/,/\\,/g},'
|
||||
.endif
|
||||
.endif
|
||||
|
||||
.if defined(TRUSTED_CONFIG_LIST)
|
||||
SEDLIST+= -e 's,^\# (TRUSTED_CONFIG_LIST=).*$$,\1${TRUSTED_CONFIG_LIST:S/,/\\,/g},'
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MQUEUEFILE}
|
||||
SEDLIST+= -e 's,^\# (EXPERIMENTAL_QUEUEFILE=),\1,'
|
||||
.endif
|
||||
|
||||
MAKE_ENV+= INSTALL_ARG="${EXIM_INSTALL_ARG}"
|
||||
DUMMY_LDFLAGS!= ${ECHO_CMD} ${LDFLAGS} | ${SED} -e 's|-Wl,-rpath|-Wl,-DUMMYrpath|g; s|-rpath|-Wl,-rpath|g; s|-DUMMYrpath|-rpath|g'
|
||||
|
||||
pre-everything::
|
||||
@${ECHO} 'Exim now drops privileges when alternate configuration'
|
||||
@${ECHO} 'files are used. You can set make variable TRUSTED_CONFIG_LIST'
|
||||
@${ECHO} 'to specify the list of configuration files for which'
|
||||
@${ECHO} 'root privileges will be retained.'
|
||||
@${ECHO} ''
|
||||
@${ECHO} 'You can whitelist some macros using the make variable'
|
||||
@${ECHO} 'WHITELIST_D_MACROS. This is useful if you are running'
|
||||
@${ECHO} 'with DISABLE_D_OPT set, but macros whitelisting will be'
|
||||
@${ECHO} 'removed in some future Exim release, so it is better'
|
||||
@${ECHO} 'to use TRUSTED_CONFIG_LIST to set the list of trusted'
|
||||
@${ECHO} 'configuration files.'
|
||||
.if empty(.MAKEFLAGS:M-s) && ${PORT_OPTIONS:MWISHLIST}
|
||||
@${ECHO} ''
|
||||
@${ECHO} 'Included extra patches:'
|
||||
@${FIND} ${PATCHDIR} -name 'wishlist-*.patch' \
|
||||
-exec ${SED} -ne 's,^# , ,p' {} \;
|
||||
@${ECHO} ''
|
||||
.endif
|
||||
|
||||
post-extract:
|
||||
.if ${PORT_OPTIONS:MSA_EXIM}
|
||||
@cd ${WRKDIR} && ${TAR} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/sa-exim-${SA_EXIM_VERSION}.tar.gz ${EXTRACT_AFTER_ARGS}
|
||||
@@${CP} ${WRKDIR}/sa-exim-${SA_EXIM_VERSION}/sa-exim.c ${WRKSRC}/Local
|
||||
@@${CP} ${WRKDIR}/sa-exim-${SA_EXIM_VERSION}/sa-exim.conf ${WRKSRC}/Local
|
||||
.endif
|
||||
|
||||
do-configure:
|
||||
@${MKDIR} ${WRKSRC}/Local
|
||||
@${SED} -E ${SEDLIST} ${WRKSRC}/src/EDITME > ${WRKSRC}/Local/Makefile
|
||||
.if ${PORT_OPTIONS:MEXIMON}
|
||||
@${CP} ${WRKSRC}/exim_monitor/EDITME ${WRKSRC}/Local/eximon.conf
|
||||
.endif
|
||||
@${REINPLACE_CMD} -E ${SEDLIST} ${WRKSRC}/src/configure.default
|
||||
@${REINPLACE_CMD} -e 's!$$(LDFLAGS)!$$(DUMMY_LDFLAGS) -L$${LOCALBASE}/lib!' ${WRKSRC}/OS/Makefile-Base
|
||||
@${REINPLACE_CMD} -e 's/"(Exim $$version_number)\\n\\t"/"(Exim $$version_number (${OPSYS}))\\n\\t"/' \
|
||||
${WRKSRC}/src/globals.c
|
||||
@${REINPLACE_CMD} -e 's/Exim version %s \(#%s \)\{0,1\}/&(${OPSYS} ${OSREL}) /' ${WRKSRC}/src/exim.c
|
||||
@${REINPLACE_CMD} -e 's/^#include "cnumber\.h"$$/${PORTREVISION}/' ${WRKSRC}/src/version.c
|
||||
@${REINPLACE_CMD} -E -e 's/^(PERL_COMMAND=).*/\1${PERL:S,/,\/,g}/' \
|
||||
-e 's/^(CC=).*/\1${CC:S,/,\/,g}/' ${WRKSRC}/OS/Makefile-Default
|
||||
.if ${PORT_OPTIONS:MSA_EXIM}
|
||||
@${REINPLACE_CMD} -E -e 's/^\# (HAVE_LOCAL_SCAN=).*/\1yes/' \
|
||||
${WRKSRC}/OS/Makefile-Default
|
||||
@${REINPLACE_CMD} -E -e 's/^(LOCAL_SCAN_SOURCE=).*/\1Local\/sa-exim.c/' \
|
||||
${WRKSRC}/OS/Makefile-Default
|
||||
@{ \
|
||||
${ECHO_CMD} "char *version=\"${SA_EXIM_VERSION}\";"; \
|
||||
${ECHO_CMD} "#define SPAMC_LOCATION \"${LOCALBASE}/bin/spamc\""; \
|
||||
${ECHO_CMD} "#define SPAMASSASSIN_CONF \"${PREFIX}/etc/exim/sa-exim.conf\""; \
|
||||
} > ${WRKSRC}/Local/sa-exim.h
|
||||
@${REINPLACE_CMD} -e 's,/usr/bin/spamc,${LOCALBASE}/bin/spamc,' \
|
||||
${WRKSRC}/Local/sa-exim.conf
|
||||
.endif
|
||||
@(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} configure)
|
||||
|
||||
post-build:
|
||||
.for script in ${DAILY_SCRIPTS}
|
||||
@${SED} ${SED_SCRIPT} ${FILESDIR}/${script}.sh > ${WRKDIR}/${script}.sh
|
||||
.endfor
|
||||
@${SED} ${SED_SCRIPT} ${FILESDIR}/POST-INSTALL-NOTES > \
|
||||
${WRKDIR}/POST-INSTALL-NOTES
|
||||
@${SED} ${SED_SCRIPT} ${FILESDIR}/POST-INSTALL-NOTES.clamd > ${WRKDIR}/POST-INSTALL-NOTES.clamd
|
||||
@${SED} ${SED_SCRIPT} ${FILESDIR}/POST-INSTALL-NOTES > ${WRKDIR}/POST-INSTALL-NOTES
|
||||
@[ ! -f ${PKGDIR}/pkg-message ] || ${SED} ${SED_SCRIPT} ${PKGDIR}/pkg-message > ${WRKDIR}/pkg-message
|
||||
|
||||
.if !defined(EXIMON_ONLY)
|
||||
post-install:
|
||||
.if ${PORT_OPTIONS:MDAEMON}
|
||||
${MKDIR} ${STAGEDIR}${PREFIX}/etc/periodic/daily
|
||||
.for script in ${DAILY_SCRIPTS}
|
||||
${INSTALL_SCRIPT} ${WRKDIR}/${script}.sh ${STAGEDIR}${PREFIX}/etc/periodic/daily/${script}
|
||||
.endfor
|
||||
.endif
|
||||
@${MKDIR} -m 750 ${STAGEDIR}${LOGDIR}
|
||||
${INSTALL_MAN} ${WRKSRC}/doc/exim.8 ${STAGEDIR}${PREFIX}/share/man/man8
|
||||
.if ${PORT_OPTIONS:MDOCS}
|
||||
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||
${INSTALL_DATA} ${WRKDIR}/POST-INSTALL-NOTES ${STAGEDIR}${DOCSDIR}
|
||||
${INSTALL_DATA} ${WRKDIR}/POST-INSTALL-NOTES.clamd ${STAGEDIR}${DOCSDIR}
|
||||
.for docfile in ${PORTDOC_BASE}
|
||||
${INSTALL_DATA} ${WRKSRC}/${docfile} ${STAGEDIR}${DOCSDIR}
|
||||
.endfor
|
||||
.for docfile in ${PORTDOC_FILES}
|
||||
${INSTALL_DATA} ${WRKSRC}/doc/${docfile} ${STAGEDIR}${DOCSDIR}
|
||||
.endfor
|
||||
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
|
||||
.for example in ${PORT_EXAMPLES}
|
||||
${INSTALL_SCRIPT} ${WRKSRC}/build-${OPSYS}-${ARCH}/${example} ${STAGEDIR}${EXAMPLESDIR}
|
||||
.endfor
|
||||
.endif
|
||||
.if ${PORT_OPTIONS:MSA_EXIM}
|
||||
${INSTALL_DATA} ${WRKSRC}/Local/sa-exim.conf \
|
||||
${STAGEDIR}${PREFIX}/etc/exim/sa-exim.conf.sample
|
||||
.endif
|
||||
|
||||
.endif # ! defined(EXIMON_ONLY)
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
# If using clang, avoid too many warnings due to Exim code style
|
||||
.if ${CHOSEN_COMPILER_TYPE} == "clang"
|
||||
EXIM_WARN_FLAGS?= -Wno-logical-op-parentheses -Wno-macro-redefined -Wno-parentheses -Wno-dangling-else
|
||||
.endif
|
||||
CFLAGS+= ${EXIM_WARN_FLAGS}
|
||||
|
||||
.include <bsd.port.post.mk>
|
||||
5
mail/exim/distinfo
Normal file
5
mail/exim/distinfo
Normal file
@ -0,0 +1,5 @@
|
||||
TIMESTAMP = 1765991031
|
||||
SHA256 (exim/exim-4.99.1.tar.bz2) = 9152a6e8a76103b33ea3fef255d8b296f368c9b0f710cd4ef4fd54fca6a742ae
|
||||
SIZE (exim/exim-4.99.1.tar.bz2) = 2135201
|
||||
SHA256 (exim/sa-exim-4.2.1.tar.gz) = 24d4bf7b0fdddaea11f132981cebb6a86a4ab20ef54111a8ebd481b421c6e2c1
|
||||
SIZE (exim/sa-exim-4.2.1.tar.gz) = 68933
|
||||
49
mail/exim/files/150.exim-tidydb.sh
Normal file
49
mail/exim/files/150.exim-tidydb.sh
Normal file
@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Exim hints database maintenance
|
||||
#
|
||||
# contributed by: Oliver Eikemeier <eikemeier@fillmore-labs.com>
|
||||
#
|
||||
|
||||
# If there is a global system configuration file, suck it in.
|
||||
#
|
||||
if [ -r /etc/defaults/periodic.conf ]; then
|
||||
. /etc/defaults/periodic.conf
|
||||
source_periodic_confs
|
||||
fi
|
||||
|
||||
: ${exim_tidydb_enable="YES"}
|
||||
: ${exim_tidydb="%%PREFIX%%/sbin/exim_tidydb"}
|
||||
# Set this to arbitrary shell command to filter
|
||||
# the output from this periodic script, for example,
|
||||
# exim_tidydb_filter="| tail -100".
|
||||
: ${exim_tidydb_filter=""}
|
||||
: ${exim_dbdir="/var/spool/exim"}
|
||||
|
||||
tidy () {
|
||||
for db in "$exim_dbdir"/db/*.lockfile; do
|
||||
[ "$db" = "$exim_dbdir/db/*.lockfile" ] && continue
|
||||
echo
|
||||
db_name=`basename "$db" .lockfile`
|
||||
if [ -e "${exim_dbdir}/db/${db_name}.db" ]; then
|
||||
"$exim_tidydb" "$exim_dbdir" "$db_name"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
case "$exim_tidydb_enable" in
|
||||
[Yy][Ee][Ss])
|
||||
echo ""
|
||||
echo "Tidying Exim hints databases:"
|
||||
eval tidy "$exim_tidydb_filter"
|
||||
if [ $? = 0 ]; then
|
||||
rc=0
|
||||
else
|
||||
rc=1
|
||||
fi
|
||||
;;
|
||||
|
||||
*) rc=0;;
|
||||
esac
|
||||
|
||||
exit $rc
|
||||
66
mail/exim/files/460.exim-mail-rejects.sh
Normal file
66
mail/exim/files/460.exim-mail-rejects.sh
Normal file
@ -0,0 +1,66 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Check for rejected mail
|
||||
# Log lines that end with ' : IGNORE' will not be reported
|
||||
#
|
||||
# contributed by: Oliver Eikemeier <eikemeier@fillmore-labs.com>
|
||||
#
|
||||
|
||||
# If there is a global system configuration file, suck it in.
|
||||
#
|
||||
if [ -r /etc/defaults/periodic.conf ]
|
||||
then
|
||||
. /etc/defaults/periodic.conf
|
||||
source_periodic_confs
|
||||
fi
|
||||
|
||||
: ${exim_status_mail_rejects_enable="YES"}
|
||||
: ${exim_status_mail_rejects_logs=2}
|
||||
: ${exim_rejectlog="%%LOGDIR%%/rejectlog"}
|
||||
|
||||
case "$exim_status_mail_rejects_enable" in
|
||||
[Yy][Ee][Ss])
|
||||
if [ ! -d `dirname "$exim_rejectlog"` ]
|
||||
then
|
||||
echo '$exim_status_mail_rejects_enable is set but' \
|
||||
"`dirname "$exim_rejectlog"` doesn't exist"
|
||||
rc=2
|
||||
elif [ "$exim_status_mail_rejects_logs" -le 0 ]
|
||||
then
|
||||
echo '$exim_status_mail_rejects_enable is set but' \
|
||||
'$exim_status_mail_rejects_logs is not greater than zero'
|
||||
rc=2
|
||||
else
|
||||
echo
|
||||
echo "Checking for rejected mail:"
|
||||
|
||||
start=`date -v-1d '+%Y-%m-%d'`
|
||||
n=$(($exim_status_mail_rejects_logs - 2))
|
||||
rc=$({
|
||||
while [ $n -ge 0 ]
|
||||
do
|
||||
if [ -f "$exim_rejectlog.$n" ]
|
||||
then
|
||||
cat "$exim_rejectlog.$n"
|
||||
elif [ -f "$exim_rejectlog.$n.gz" ]
|
||||
then
|
||||
zcat -fc "$exim_rejectlog.$n.gz"
|
||||
elif [ -f "$exim_rejectlog.$n.bz2" ]
|
||||
then
|
||||
bzcat -fc "$exim_rejectlog.$n.bz2"
|
||||
fi
|
||||
n=$(($n - 1))
|
||||
done
|
||||
if [ -f "$exim_rejectlog" ]
|
||||
then
|
||||
cat "$exim_rejectlog"
|
||||
fi
|
||||
} |
|
||||
grep -e "^$start" | grep -v ' : IGNORE$' | tee /dev/stderr | wc -l)
|
||||
[ $rc -gt 0 ] && rc=1
|
||||
fi;;
|
||||
|
||||
*) rc=0;;
|
||||
esac
|
||||
|
||||
exit $rc
|
||||
48
mail/exim/files/POST-INSTALL-NOTES
Normal file
48
mail/exim/files/POST-INSTALL-NOTES
Normal file
@ -0,0 +1,48 @@
|
||||
[
|
||||
{ type: install
|
||||
message: <<EOM
|
||||
The following documentation has been installed:
|
||||
|
||||
man exim -> Exim options (command line)
|
||||
%%DOCSDIR%%/spec.txt -> Exim Specification (User Guide)
|
||||
%%DOCSDIR%%/filter.txt -> Exim Filter Specification (for end-users)
|
||||
|
||||
Postscript, PDF, HTML and texinfo versions of these documents can be
|
||||
installed via one of the mail/exim-doc-* ports.
|
||||
|
||||
An online version as well as a comprehensive FAQ and a mailing list
|
||||
archive is available at:
|
||||
|
||||
http://www.exim.org/
|
||||
|
||||
Descriptions of new features not available it the manual, and a listing
|
||||
of all changes, including bug fixes are documented in:
|
||||
|
||||
%%DOCSDIR%%/NewStuff
|
||||
%%DOCSDIR%%/ChangeLog
|
||||
|
||||
To use Exim instead of sendmail on startup:
|
||||
|
||||
*) Clear the sendmail queue and stop the sendmail daemon.
|
||||
*) Adjust mailer.conf(5) as appropriate.
|
||||
*) Set the 'sendmail_enable' rc.conf(5) variable to 'NONE'.
|
||||
*) Set the 'daily_status_include_submit_mailq' and
|
||||
'daily_clean_hoststat_enable' periodic.conf(5)
|
||||
variables to 'NO'.
|
||||
*) Consider setting 'daily_queuerun_enable' and
|
||||
'daily_submit_queuerun' to "NO" in periodic.conf(5),
|
||||
if you intend to manage queue runners / deliveries closely.
|
||||
*) Set the 'exim_enable' rc.conf(5) variable to 'YES'.
|
||||
*) Start exim with '%%PREFIX%%/etc/rc.d/exim start'.
|
||||
|
||||
You may also want to configure newsyslog(8) to rotate Exim log files:
|
||||
|
||||
%%LOGDIR%%/mainlog mailnull:mail 640 7 * @T00 ZN
|
||||
%%LOGDIR%%/rejectlog mailnull:mail 640 7 * @T00 ZN
|
||||
|
||||
Additional scripts to help upgrading are installed in:
|
||||
|
||||
%%EXAMPLESDIR%%
|
||||
EOM
|
||||
}
|
||||
]
|
||||
52
mail/exim/files/POST-INSTALL-NOTES.clamd
Normal file
52
mail/exim/files/POST-INSTALL-NOTES.clamd
Normal file
@ -0,0 +1,52 @@
|
||||
[
|
||||
{ type: install
|
||||
message: <<EOM
|
||||
The following steps will enable clamd malware scanning using exiscan ACLs.
|
||||
It is important to follow them in sequence.
|
||||
|
||||
* Install security/clamav from the ports tree.
|
||||
|
||||
* Confirm that user clamav was added to the mail group in /etc/group.
|
||||
|
||||
* Confirm that /var/log/clamav and /var/run/clamav exist and are owned
|
||||
by clamav:clamav.
|
||||
|
||||
* In Exim's configure file, set av_scanner=clamd:/var/run/clamav/clamd
|
||||
|
||||
* Adjust the exiscan ACLs in Exim's configure file. Make sure you use
|
||||
the demime option with the malware check, e.g.:
|
||||
|
||||
deny message = This message contains malware ($malware_name)
|
||||
demime = *
|
||||
malware = *
|
||||
|
||||
* Edit clamav.conf as follows:
|
||||
|
||||
LogFile /var/log/clamav/clamd.log
|
||||
PidFile /var/run/clamav/clamd.pid
|
||||
LocalSocket /var/run/clamav/clamd
|
||||
User clamav
|
||||
AllowSupplementaryGroups
|
||||
ScanArchive
|
||||
ScanMail
|
||||
|
||||
You may wish to make other changes as well.
|
||||
|
||||
* Make sure clamd_enable="YES" has been added to /etc/rc.conf; this is
|
||||
required by the clamav port's startup script,
|
||||
%%RC_DIR%%/clamd%%RC_SUFX%% .
|
||||
|
||||
* Run freshclam.
|
||||
|
||||
* Add a cron job that runs freshclam --daemon-notify --quiet at least
|
||||
once a day.
|
||||
|
||||
* Start clamd with %%RC_DIR%%/clamd%%RC_SUFX%% start .
|
||||
|
||||
* Start Exim with %%RC_DIR%%/exim%%RC_SUFX%% start .
|
||||
|
||||
Sheldon Hearn <sheldonh@FreeBSD.org>
|
||||
|
||||
EOM
|
||||
}
|
||||
]
|
||||
60
mail/exim/files/exim.in
Normal file
60
mail/exim/files/exim.in
Normal file
@ -0,0 +1,60 @@
|
||||
#!/bin/sh
|
||||
|
||||
# PROVIDE: mail
|
||||
# REQUIRE: LOGIN
|
||||
# KEYWORD: shutdown
|
||||
# we make mail start late, so that things like .forward's are not
|
||||
# processed until the system is fully operational
|
||||
|
||||
#
|
||||
# Add the following lines to /etc/rc.conf to enable exim:
|
||||
#
|
||||
#exim_enable="YES"
|
||||
#
|
||||
# See exim(8) for flags
|
||||
#
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
name=exim
|
||||
rcvar=exim_enable
|
||||
|
||||
command=%%PREFIX%%/sbin/exim
|
||||
pidfile=/var/run/exim.pid
|
||||
required_dirs=%%LOGDIR%%
|
||||
required_files=%%PREFIX%%/etc/exim/configure
|
||||
|
||||
start_precmd=start_precmd
|
||||
stop_postcmd=stop_postcmd
|
||||
|
||||
extra_commands="reload"
|
||||
|
||||
start_precmd()
|
||||
{
|
||||
case $sendmail_enable in
|
||||
[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
|
||||
warn "sendmail_enable should be set to NONE"
|
||||
;;
|
||||
[Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0)
|
||||
case $sendmail_submit_enable in
|
||||
[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
|
||||
warn "sendmail_submit_enable should be set to NO"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
[Nn][Oo][Nn][Ee])
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
stop_postcmd()
|
||||
{
|
||||
rm -f $pidfile
|
||||
}
|
||||
|
||||
# read settings, set default values
|
||||
load_rc_config $name
|
||||
: ${exim_enable="NO"}
|
||||
: ${exim_flags="-bd -q30m"}
|
||||
|
||||
run_rc_command "$1"
|
||||
225
mail/exim/files/extra-patch-Local-sa-exim.c
Normal file
225
mail/exim/files/extra-patch-Local-sa-exim.c
Normal file
@ -0,0 +1,225 @@
|
||||
--- Local/sa-exim.c.orig 2025-12-18 04:08:13.593344000 +0100
|
||||
+++ Local/sa-exim.c 2025-12-18 04:10:17.527828000 +0100
|
||||
@@ -29,10 +29,7 @@
|
||||
#include "sa-exim.h"
|
||||
|
||||
/* Exim includes */
|
||||
-#include "local_scan.h"
|
||||
-extern FILE *smtp_out; /* Exim's incoming SMTP output file */
|
||||
-extern int body_linecount; /* Line count in body */
|
||||
-extern uschar *primary_hostname;
|
||||
+#include <local_scan.h>
|
||||
|
||||
#ifdef DLOPEN_LOCAL_SCAN
|
||||
|
||||
@@ -409,6 +406,11 @@
|
||||
if (buffer[strlen(buffer)-1] == '\n')
|
||||
{
|
||||
buffer[strlen(buffer)-1]=0;
|
||||
+ /* and any carriage return */
|
||||
+ if (buffer[strlen(buffer)-1] == '\r')
|
||||
+ {
|
||||
+ buffer[strlen(buffer)-1]=0;
|
||||
+ }
|
||||
}
|
||||
if (SAEximDebug > 5)
|
||||
{
|
||||
@@ -515,6 +517,7 @@
|
||||
int pid;
|
||||
int writefd[2];
|
||||
int readfd[2];
|
||||
+ char *spamc_argv[10];
|
||||
int i;
|
||||
/* These are the only values that we want working after the longjmp
|
||||
* The automatic ones can be clobbered, but we don't really care */
|
||||
@@ -536,8 +539,8 @@
|
||||
time_t beforescan;
|
||||
time_t afterscan;
|
||||
time_t afterwait;
|
||||
- time_t scantime=0;
|
||||
- time_t fulltime=0;
|
||||
+ int scantime=0;
|
||||
+ int fulltime=0;
|
||||
struct stat stbuf;
|
||||
|
||||
uschar *expand;
|
||||
@@ -550,8 +553,9 @@
|
||||
static char *SAspamcpath=SPAMC_LOCATION;
|
||||
static char *SAsafemesgidchars=SAFEMESGIDCHARS
|
||||
static char *SAspamcSockPath=NULL;
|
||||
- static char *SAspamcPort="783";
|
||||
- static char *SAspamcHost="127.0.0.1";
|
||||
+ static char *SAspamcPort=NULL;
|
||||
+ static char *SAspamcHost=NULL;
|
||||
+ static char *SAspamcUser=NULL;
|
||||
static char *SAEximRunCond="0";
|
||||
static char *SAEximRejCond="1";
|
||||
static int SAmaxbody=250*1024;
|
||||
@@ -602,6 +606,10 @@
|
||||
/* Do not put a %s in there, or you'll segfault */
|
||||
static char *SAmsgerror="Temporary local error while processing message, please contact postmaster";
|
||||
|
||||
+ /* This needs to be retrieved through expand_string in order
|
||||
+ not to violate the API. */
|
||||
+ uschar *primary_hostname=expand_string("$primary_hostname");
|
||||
+
|
||||
/* New values we read from spamassassin */
|
||||
char *xspamstatus=NULL;
|
||||
char *xspamflag=NULL;
|
||||
@@ -712,6 +720,7 @@
|
||||
M_CHECKFORSTR(SAspamcSockPath);
|
||||
M_CHECKFORSTR(SAspamcPort);
|
||||
M_CHECKFORSTR(SAspamcHost);
|
||||
+ M_CHECKFORSTR(SAspamcUser);
|
||||
M_CHECKFORSTR(SAEximRunCond);
|
||||
M_CHECKFORSTR(SAEximRejCond);
|
||||
M_CHECKFORVAR(SAmaxbody, "%d");
|
||||
@@ -914,6 +923,22 @@
|
||||
ret=dup2(readfd[1],2);
|
||||
CHECKERR(ret,"dup2 stderr",__LINE__);
|
||||
|
||||
+ i = 0;
|
||||
+ spamc_argv[i++] = "spamc";
|
||||
+ if (SAspamcUser && SAspamcUser[0])
|
||||
+ {
|
||||
+ expand=expand_string(SAspamcUser);
|
||||
+ if (expand == NULL)
|
||||
+ {
|
||||
+ log_write(0, LOG_MAIN | LOG_PANIC, "SA: SAspamcUser expansion failure on %s, will run as Exim user instead.", SAspamcUser);
|
||||
+ }
|
||||
+ else if (expand[0] != '\0')
|
||||
+ {
|
||||
+ spamc_argv[i++] = "-u";
|
||||
+ spamc_argv[i++] = expand;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
/*
|
||||
* I could implement the spamc protocol and talk to spamd directly
|
||||
* instead of forking spamc, but considering the overhead spent
|
||||
@@ -924,17 +949,30 @@
|
||||
/* Ok, we cheat, spamc cares about how big the whole message is and
|
||||
* we only know about the body size, so I'll give an extra 16K
|
||||
* to account for any headers that can accompany the message */
|
||||
+
|
||||
+ spamc_argv[i++] = "-s";
|
||||
+ spamc_argv[i++] = string_sprintf("%d", SAmaxbody+16384);
|
||||
+
|
||||
if(SAspamcSockPath)
|
||||
{
|
||||
- ret=execl(SAspamcpath, "spamc", "-s", string_sprintf("%d", SAmaxbody+16384), "-U", SAspamcSockPath, NULL);
|
||||
- CHECKERR(ret,string_sprintf("exec %s", SAspamcpath),__LINE__);
|
||||
+ spamc_argv[i++] = "-U";
|
||||
+ spamc_argv[i++] = SAspamcSockPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
- ret=execl(SAspamcpath, "spamc", "-s", string_sprintf("%d", SAmaxbody+16384), "-d", SAspamcHost, "-p", SAspamcPort, NULL);
|
||||
- CHECKERR(ret,string_sprintf("exec %s", SAspamcpath),__LINE__);
|
||||
+ if (SAspamcHost) {
|
||||
+ spamc_argv[i++] = "-d";
|
||||
+ spamc_argv[i++] = SAspamcHost;
|
||||
+ }
|
||||
+ if (SAspamcPort) {
|
||||
+ spamc_argv[i++] = "-p";
|
||||
+ spamc_argv[i++] = SAspamcPort;
|
||||
+ }
|
||||
}
|
||||
-
|
||||
+ spamc_argv[i++] = NULL;
|
||||
+
|
||||
+ ret=execv(SAspamcpath, spamc_argv);
|
||||
+ CHECKERR(ret,string_sprintf("exec %s", SAspamcpath),__LINE__);
|
||||
}
|
||||
|
||||
if (SAEximDebug > 8)
|
||||
@@ -1045,6 +1083,11 @@
|
||||
if (buffer[strlen(buffer)-1] == '\n')
|
||||
{
|
||||
buffer[strlen(buffer)-1]=0;
|
||||
+ /* and any carriage return */
|
||||
+ if (buffer[strlen(buffer)-1] == '\r')
|
||||
+ {
|
||||
+ buffer[strlen(buffer)-1]=0;
|
||||
+ }
|
||||
}
|
||||
restart:
|
||||
if (SAEximDebug > 5)
|
||||
@@ -1154,7 +1197,7 @@
|
||||
{
|
||||
if (SAEximDebug > 5)
|
||||
{
|
||||
- log_write(0, LOG_MAIN, "SA: Debug6: spamc read got newline, end of headers", buffer);
|
||||
+ log_write(0, LOG_MAIN, "SA: Debug6: spamc read got newline, end of headers");
|
||||
}
|
||||
goto exit;
|
||||
}
|
||||
@@ -1214,11 +1257,11 @@
|
||||
{
|
||||
if (SAEximDebug > 8)
|
||||
{
|
||||
- log_write(0, LOG_MAIN, "SA: Debug9: Read body from SA; line %d (read %d)", line, strlen(buffer));
|
||||
+ log_write(0, LOG_MAIN, "SA: Debug9: Read body from SA; line %d (read %zd)", line, strlen(buffer));
|
||||
}
|
||||
|
||||
stret=write(fd, buffer, strlen(buffer));
|
||||
- CHECKERR(stret,string_sprintf("SA body write to msg"),__LINE__);
|
||||
+ CHECKERR(stret,string_sprintf("%s", "SA body write to msg"),__LINE__);
|
||||
if (SAEximDebug > 8)
|
||||
{
|
||||
log_write(0, LOG_MAIN, "SA: Debug9: Wrote to msg; line %d (wrote %d)", line, ret);
|
||||
@@ -1229,18 +1272,20 @@
|
||||
}
|
||||
}
|
||||
|
||||
+
|
||||
if (SAEximDebug > 1)
|
||||
{
|
||||
log_write(0, LOG_MAIN, "SA: Debug2: body_linecount before SA: %d", body_linecount);
|
||||
}
|
||||
|
||||
/* update global variable $body_linecount to reflect the new body size*/
|
||||
- body_linecount = (line - 1);
|
||||
+ if (body_linecount > 0) body_linecount = (line - 1); // Not updating if zero, indicating spool_wireformat
|
||||
|
||||
if (SAEximDebug > 1)
|
||||
{
|
||||
log_write(0, LOG_MAIN, "SA: Debug2: body_linecount after SA: %d", body_linecount);
|
||||
}
|
||||
+
|
||||
}
|
||||
|
||||
fclose((FILE *)readfh);
|
||||
@@ -1331,6 +1376,9 @@
|
||||
|
||||
if (dorej && doteergrube)
|
||||
{
|
||||
+ char *teergrubewaitstr;
|
||||
+ teergrubewaitstr=string_sprintf(SAmsgteergrubewait, spamstatus);
|
||||
+
|
||||
/* By default, we'll only save temp bounces by message ID so
|
||||
* that when the same message is submitted several times, we
|
||||
* overwrite the same file on disk and not create a brand new
|
||||
@@ -1353,20 +1401,8 @@
|
||||
|
||||
for (i=0;i<SAteergrubetime/10;i++)
|
||||
{
|
||||
- char *str;
|
||||
-
|
||||
- /* Unfortunately, we can't use exim's smtp_printf because it
|
||||
- * doesn't return an error code if the write gets an EPIPE.
|
||||
- * So, we write ourselves, but this won't work if you have a
|
||||
- * TLS connection opened (that said, if you are teergrubing
|
||||
- * a TLS connection, it's probably a relay host, not a
|
||||
- * spammer, and in this case you should not teergrube a
|
||||
- * friendly relay, so basically we should be ok).
|
||||
- * If you do teergrube an SSL connection with the current
|
||||
- * code, you will break it, but that's acceptable */
|
||||
- str=string_sprintf(string_sprintf("451- %s\r\n",SAmsgteergrubewait), spamstatus);
|
||||
- fprintf(smtp_out, str);
|
||||
- ret=fflush(smtp_out);
|
||||
+ smtp_printf("451-%s\r\n", FALSE, teergrubewaitstr);
|
||||
+ ret=smtp_fflush(TRUE);
|
||||
if (ret != 0)
|
||||
{
|
||||
log_write(0, LOG_MAIN | LOG_REJECT, "SA: Action: teergrubed sender for %d secs until it closed the connection: %s (scanned in %d/%d secs | Message-Id: %s). %s", i*10, spamstatus, scantime, fulltime, safemesgid, mailinfo);
|
||||
24
mail/exim/files/extra-patch-Local-sa-exim.conf
Normal file
24
mail/exim/files/extra-patch-Local-sa-exim.conf
Normal file
@ -0,0 +1,24 @@
|
||||
--- Local/sa-exim.conf.orig 2005-03-08 20:35:43 UTC
|
||||
+++ Local/sa-exim.conf
|
||||
@@ -49,11 +49,17 @@ SAspamcpath: /usr/bin/spamc
|
||||
# you set it, it will override the two TCP connect options below
|
||||
#SAspamcSockPath: /var/run/spamd.sock
|
||||
|
||||
-# SAspamcHost / SAspamcPort: TCP socket where your spamd is listening
|
||||
-# Shown below are the defaults:
|
||||
-SAspamcHost: 127.0.0.1
|
||||
-SAspamcPort: 783
|
||||
+# SAspamcHost / SAspamcPort: TCP socket where your spamd is listening.
|
||||
+# Default is to let spamc use any settings in spamc.conf.
|
||||
+#SAspamcHost: 127.0.0.1
|
||||
+#SAspamcPort: 783
|
||||
|
||||
+# SAspamcUser: The username passed to spamc. Some tricks are needed to
|
||||
+# decide on one user when there are many recipients. This string is of
|
||||
+# course expanded. If unset or empty, spamc will use the user Exim
|
||||
+# runs as. We suggest that you decide what username to use in the ACLs
|
||||
+# and set an ACL variable.
|
||||
+#SAspamcUser: $acl_m2
|
||||
|
||||
# Exim configuration string to run before running SA against the message
|
||||
# This decides whether SA gets run against the message or not. This
|
||||
11
mail/exim/files/patch-Makefile
Normal file
11
mail/exim/files/patch-Makefile
Normal file
@ -0,0 +1,11 @@
|
||||
--- Makefile.orig 2025-12-17 18:05:41.764604000 +0100
|
||||
+++ Makefile 2025-12-17 18:08:15.055964000 +0100
|
||||
@@ -70,7 +70,7 @@
|
||||
# Configure-Makefile script. This does its own dependency checking because of
|
||||
# the optional files.
|
||||
|
||||
-configure: checks build-directory \
|
||||
+configure: build-directory \
|
||||
scripts/lookups-Makefile scripts/drivers-Makefile
|
||||
@cd build-$(buildname); \
|
||||
build=$(build) $(SHELL) ../scripts/Configure-Makefile
|
||||
13
mail/exim/files/patch-OS__Makefile-FreeBSD
Normal file
13
mail/exim/files/patch-OS__Makefile-FreeBSD
Normal file
@ -0,0 +1,13 @@
|
||||
--- OS/Makefile-FreeBSD.orig 2023-04-09 09:45:04.226201000 +0200
|
||||
+++ OS/Makefile-FreeBSD 2023-04-09 09:48:01.819463000 +0200
|
||||
@@ -18,8 +18,8 @@
|
||||
# Dynamically loaded modules need to be built with -fPIC
|
||||
CFLAGS_DYNAMIC=-shared -rdynamic -fPIC
|
||||
|
||||
-# FreeBSD always ships with Berkeley DB
|
||||
-USE_DB=yes
|
||||
+# FreeBSD ships with Berkeley DB until 13.1, but ndbm is always included
|
||||
+USE_NDBM=yes
|
||||
|
||||
# This code for building outside ports suggested by Richard Clayton
|
||||
.ifdef X11BASE
|
||||
11
mail/exim/files/patch-exim_monitor-em_hdr.h
Normal file
11
mail/exim/files/patch-exim_monitor-em_hdr.h
Normal file
@ -0,0 +1,11 @@
|
||||
--- exim_monitor/em_hdr.h.orig 2019-12-08 12:53:48 UTC
|
||||
+++ exim_monitor/em_hdr.h
|
||||
@@ -95,6 +95,8 @@ this interface so that this kind of kludge isn't neede
|
||||
#endif
|
||||
typedef void hctx;
|
||||
|
||||
+typedef unsigned long ulong;
|
||||
+
|
||||
#include "local_scan.h"
|
||||
#include "macros.h"
|
||||
#include "structs.h"
|
||||
111
mail/exim/files/patch-scripts__exim_install
Normal file
111
mail/exim/files/patch-scripts__exim_install
Normal file
@ -0,0 +1,111 @@
|
||||
--- scripts/exim_install.orig 2016-12-18 14:02:28.000000000 +0000
|
||||
+++ scripts/exim_install 2017-01-02 11:48:46.939703000 +0000
|
||||
@@ -29,6 +29,7 @@
|
||||
|
||||
do_chown=yes
|
||||
do_symlink=yes
|
||||
+do_info=yes
|
||||
|
||||
while [ $# -gt 0 ] ; do
|
||||
case "$1" in
|
||||
@@ -51,6 +52,10 @@
|
||||
do_symlink=no
|
||||
;;
|
||||
|
||||
+ -no_info)
|
||||
+ do_info=no
|
||||
+ ;;
|
||||
+
|
||||
*)
|
||||
break
|
||||
;;
|
||||
@@ -117,9 +122,7 @@
|
||||
CONFIGURE_FILE=${DESTDIR}${CONFIGURE_FILE}
|
||||
SYSTEM_ALIASES_FILE=${DESTDIR}${SYSTEM_ALIASES_FILE}
|
||||
|
||||
-if [ "${INFO_DIRECTORY}" != "" ] ; then
|
||||
- INFO_DIRECTORY=${DESTDIR}${INFO_DIRECTORY}
|
||||
-fi
|
||||
+INFO_DIRECTORY=${DESTDIR}${INFO_DIRECTORY}
|
||||
|
||||
# Overrides of other things
|
||||
case "$inst_uid" in ?*) INST_UID="$inst_uid";; esac
|
||||
@@ -218,8 +221,7 @@
|
||||
|
||||
if [ $name = exim${EXE} ]; then
|
||||
exim="./exim -bV -C /dev/null"
|
||||
- version=exim-`$exim 2>/dev/null | \
|
||||
- awk '/Exim version/ { OFS=""; print $3,"-",substr($4,2,length($4)-1) }'`${EXE}
|
||||
+ version=exim
|
||||
|
||||
if [ "${version}" = "exim-${EXE}" ]; then
|
||||
echo $com ""
|
||||
@@ -384,9 +386,8 @@
|
||||
echo $com ' ' ${CONFIGURE_FILE}
|
||||
echo $com Therefore, skipping automatic installation.
|
||||
|
||||
-elif [ ! -f ${CONFIGURE_FILE} ]; then
|
||||
- echo $com Installing default configuration in ${CONFIGURE_FILE}
|
||||
- echo $com because there is no existing configuration file.
|
||||
+else
|
||||
+ echo $com Installing default configuration in ${CONFIGURE_FILE}.sample
|
||||
if [ "${SYSTEM_ALIASES_FILE}" = "" ] ; then
|
||||
SYSTEM_ALIASES_FILE=/etc/aliases
|
||||
echo $com This configuration has system aliases in ${SYSTEM_ALIASES_FILE}.
|
||||
@@ -396,8 +397,8 @@
|
||||
${real} ${MKDIR} -p `${DIRNAME} ${CONFIGURE_FILE}`
|
||||
|
||||
echo sed -e '\\'
|
||||
- echo " \"/SYSTEM_ALIASES_FILE/ s'SYSTEM_ALIASES_FILE'${ACTUAL_SYSTEM_ALIASES_FILE}'\"" '\\'
|
||||
- echo " ../src/configure.default > \${CONFIGURE_FILE}"
|
||||
+ echo " \"/SYSTEM_ALIASES_FILE/ s'SYSTEM_ALIASES_FILE'/etc/aliases'\"" '\\'
|
||||
+ echo " ../src/configure.default > \${CONFIGURE_FILE}.sample"
|
||||
|
||||
# I can't find a way of writing this using the ${real} feature because
|
||||
# it seems that the output redirection always happens, even when -n was
|
||||
@@ -405,8 +406,8 @@
|
||||
|
||||
if [ "$real" = "" ] ; then
|
||||
sed -e \
|
||||
- "/SYSTEM_ALIASES_FILE/ s'SYSTEM_ALIASES_FILE'${ACTUAL_SYSTEM_ALIASES_FILE}'" \
|
||||
- ../src/configure.default > ${CONFIGURE_FILE}
|
||||
+ "/SYSTEM_ALIASES_FILE/ s'SYSTEM_ALIASES_FILE'/etc/aliases'" \
|
||||
+ ../src/configure.default > ${CONFIGURE_FILE}.sample
|
||||
else
|
||||
true
|
||||
fi
|
||||
@@ -416,24 +417,22 @@
|
||||
echo $com "*** Exim installation ${ver}failed ***"
|
||||
exit 1
|
||||
fi
|
||||
- if [ ! -f ${SYSTEM_ALIASES_FILE} ]; then
|
||||
- echo $com '****'
|
||||
- echo $com Installing a dummy ${SYSTEM_ALIASES_FILE} file because you do not have
|
||||
- echo $com one, and the default configuration requires it. You should
|
||||
- echo $com edit ${SYSTEM_ALIASES_FILE} and at least create an alias for postmaster.
|
||||
- echo $com '***'
|
||||
- echo ${CP} ../src/aliases.default ${SYSTEM_ALIASES_FILE}
|
||||
- ${real} ${CP} ../src/aliases.default ${SYSTEM_ALIASES_FILE}
|
||||
- fi
|
||||
+# if [ ! -f ${SYSTEM_ALIASES_FILE} ]; then
|
||||
+# echo $com '****'
|
||||
+# echo $com Installing a dummy ${SYSTEM_ALIASES_FILE} file because you do not have
|
||||
+# echo $com one, and the default configuration requires it. You should
|
||||
+# echo $com edit ${SYSTEM_ALIASES_FILE} and at least create an alias for postmaster.
|
||||
+# echo $com '***'
|
||||
+# echo ${CP} ../src/aliases.default ${SYSTEM_ALIASES_FILE}
|
||||
+# ${real} ${CP} ../src/aliases.default ${SYSTEM_ALIASES_FILE}
|
||||
+# fi
|
||||
|
||||
-else
|
||||
- echo $com Configuration file ${CONFIGURE_FILE} already exists
|
||||
fi
|
||||
|
||||
# Install info files if the directory is defined and the Texinfo
|
||||
# source documentation is present.
|
||||
|
||||
-if [ "${INFO_DIRECTORY}" != "" -a -f ../doc/spec.texinfo ] ; then
|
||||
+if [ "$do_info" != "no" -a -f ../doc/spec.texinfo ] ; then
|
||||
echo $com ""
|
||||
if [ ! -d "${INFO_DIRECTORY}" ] ; then
|
||||
echo mkdir -p ${INFO_DIRECTORY}
|
||||
10
mail/exim/files/patch-src-lookups-mysql.c
Normal file
10
mail/exim/files/patch-src-lookups-mysql.c
Normal file
@ -0,0 +1,10 @@
|
||||
--- src/lookups/mysql.c.orig 2017-03-05 00:21:35.000000000 +0300
|
||||
+++ src/lookups/mysql.c 2017-08-15 01:12:26.508519000 +0300
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "lf_functions.h"
|
||||
|
||||
#include <mysql.h> /* The system header */
|
||||
+#include <mysql_version.h>
|
||||
|
||||
|
||||
/* Structure and anchor for caching connections. */
|
||||
146
mail/exim/files/patch-src__EDITME
Normal file
146
mail/exim/files/patch-src__EDITME
Normal file
@ -0,0 +1,146 @@
|
||||
--- src/EDITME.orig 2025-12-14 13:38:51.000000000 +0100
|
||||
+++ src/EDITME 2025-12-18 03:31:28.070641000 +0100
|
||||
@@ -104,7 +104,7 @@
|
||||
# /usr/local/sbin. The installation script will try to create this directory,
|
||||
# and any superior directories, if they do not exist.
|
||||
|
||||
-BIN_DIRECTORY=/usr/exim/bin
|
||||
+BIN_DIRECTORY=XX_PREFIX_XX/sbin
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@@ -120,7 +120,7 @@
|
||||
# don't exist. It will also install a default runtime configuration if this
|
||||
# file does not exist.
|
||||
|
||||
-CONFIGURE_FILE=/usr/exim/configure
|
||||
+CONFIGURE_FILE=XX_CONFIG_FILE_PATH_XX
|
||||
|
||||
# It is possible to specify a colon-separated list of files for CONFIGURE_FILE.
|
||||
# In this case, Exim will use the first of them that exists when it is run.
|
||||
@@ -137,7 +137,7 @@
|
||||
# deliveries. (Local deliveries run as various non-root users, typically as the
|
||||
# owner of a local mailbox.) Specifying these values as root is not supported.
|
||||
|
||||
-EXIM_USER=
|
||||
+EXIM_USER=ref:XX_EXIM_USER_XX
|
||||
|
||||
# If you specify EXIM_USER as a name, this is looked up at build time, and the
|
||||
# uid number is built into the binary. However, you can specify that this
|
||||
@@ -158,7 +158,7 @@
|
||||
# for EXIM_USER (e.g. EXIM_USER=exim), you don't need to set EXIM_GROUP unless
|
||||
# you want to use a group other than the default group for the given user.
|
||||
|
||||
-# EXIM_GROUP=
|
||||
+EXIM_GROUP=ref:XX_EXIM_GROUP_XX
|
||||
|
||||
# Many sites define a user called "exim", with an appropriate default group,
|
||||
# and use
|
||||
@@ -476,6 +476,7 @@
|
||||
# LDAP_LIB_TYPE=OPENLDAP2
|
||||
# LDAP_LIB_TYPE=NETSCAPE
|
||||
# LDAP_LIB_TYPE=SOLARIS
|
||||
+LDAP_LIB_TYPE=XX_LDAP_TYPE_XX
|
||||
|
||||
# If you don't set any of these, Exim assumes the original University of
|
||||
# Michigan (OpenLDAP 1) library.
|
||||
@@ -524,9 +525,10 @@
|
||||
# LSEARCH, DSEARCH & CDB have no external library needs.
|
||||
# DNSDB needs the resolver library which the core uses anyway.
|
||||
|
||||
-# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include
|
||||
-# LOOKUP_INCLUDE +=-I /usr/local/include
|
||||
-# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds -lsqlite3 -llmdb
|
||||
+INCLUDE=-IXX_LOCALBASE_XX/include XX_DB_INCLUDES_XX XX_LMDB_INCLUDES_XX
|
||||
+LOOKUP_INCLUDE=XX_MYSQL_INCLUDE_XX XX_PGSQL_INCLUDE_XX XX_LDAP_INCLUDE_XX
|
||||
+LOOKUP_LIBS=XX_MYSQL_LIBS_XX XX_PGSQL_LIBS_XX XX_LDAP_LIBS_XX XX_LMDB_LIBS_XX
|
||||
+DBMLIB=XX_DB_LIBS_XX
|
||||
|
||||
# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber
|
||||
# Some platforms may need this for LOOKUP_NIS:
|
||||
@@ -715,6 +717,7 @@
|
||||
# Uncomment the following line to add XCLIENT support
|
||||
# EXPERIMENTAL_XCLIENT=yes
|
||||
|
||||
+# EXPERIMENTAL_DCC=yes
|
||||
###############################################################################
|
||||
# THESE ARE THINGS YOU MIGHT WANT TO SPECIFY #
|
||||
###############################################################################
|
||||
@@ -809,6 +812,7 @@
|
||||
|
||||
# ALT_CONFIG_PREFIX=/some/directory/
|
||||
# ALT_CONFIG_PREFIX=/some/directory/exim.conf-
|
||||
+ALT_CONFIG_PREFIX=XX_ALT_CONFIG_PREFIX_XX
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@@ -917,7 +921,7 @@
|
||||
# one that is set in the headers_charset option. The default setting is
|
||||
# defined by this setting:
|
||||
|
||||
-HEADERS_CHARSET="ISO-8859-1"
|
||||
+HEADERS_CHARSET="XX_DEFAULT_CHARSET_XX"
|
||||
|
||||
# If you are going to make use of $header_xxx expansions in your configuration
|
||||
# file, or if your users are going to use them in filter files, and the normal
|
||||
@@ -950,6 +954,8 @@
|
||||
#
|
||||
# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM
|
||||
# as well.
|
||||
+CFLAGS=XX_CFLAGS_XX XX_SPF_FLAGS_XX XX_SRS_FLAGS_XX XX_SQLITE_FLAGS_XX
|
||||
+EXTRALIBS=XX_PAM_LIBS_XX XX_ICONV_LIBS_XX XX_SPF_LIBS_XX XX_SRS_LIBS_XX XX_RADIUS_LIBS_XX XX_SQLITE_LIBS_XX XX_DMARC_LIBS_XX XX_REDIS_LIBS_XX XX_DYNAMIC_LDFLAGS_XX XX_IDN_LIBS_XX
|
||||
#
|
||||
# nb: FreeBSD as of 4.89 defines LIBICONV_PLUG to pick up the system iconv
|
||||
# more reliably. If you explicitly want the libiconv Port then as well
|
||||
@@ -1013,7 +1019,7 @@
|
||||
# Once you have done this, "make install" will build the info files and
|
||||
# install them in the directory you have defined.
|
||||
|
||||
-# INFO_DIRECTORY=/usr/share/info
|
||||
+INFO_DIRECTORY=XX_PREFIX_XX/share/info
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@@ -1026,7 +1032,7 @@
|
||||
# %s. This will be replaced by one of the strings "main", "panic", or "reject"
|
||||
# to form the final file names. Some installations may want something like this:
|
||||
|
||||
-# LOG_FILE_PATH=/var/log/exim_%slog
|
||||
+LOG_FILE_PATH=XX_LOG_FILE_PATH_XX
|
||||
|
||||
# which results in files with names /var/log/exim_mainlog, etc. The directory
|
||||
# in which the log files are placed must exist; Exim does not try to create
|
||||
@@ -1114,7 +1120,7 @@
|
||||
# that the local_scan API is made available by the linker. You may also need
|
||||
# to add -ldl to EXTRALIBS so that dlopen() is available to Exim.
|
||||
|
||||
-# EXPAND_DLFUNC=yes
|
||||
+EXPAND_DLFUNC=yes
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@@ -1180,7 +1186,15 @@
|
||||
# CFLAGS += -I/usr/local/include
|
||||
# LDFLAGS += -lspf2
|
||||
|
||||
+# IPv6 is coming. Exim has experimental support that has been tried out on
|
||||
+# one or two OS. See the file README.IPV6 for the current status of this
|
||||
+# support. Do not set this option unless you are working on IPv6 and know
|
||||
+# what you are doing.
|
||||
|
||||
+# HAVE_IPV6=YES
|
||||
+
|
||||
+
|
||||
+
|
||||
#------------------------------------------------------------------------------
|
||||
# Support for authentication via Radius is also available. The Exim support,
|
||||
# which is intended for use in conjunction with the SMTP AUTH facilities,
|
||||
@@ -1534,7 +1548,7 @@
|
||||
# (process id) to a file so that it can easily be identified. The path of the
|
||||
# file can be specified here. Some installations may want something like this:
|
||||
|
||||
-# PID_FILE_PATH=/var/lock/exim.pid
|
||||
+PID_FILE_PATH=/var/run/exim.pid
|
||||
|
||||
# If PID_FILE_PATH is not defined, Exim writes a file in its spool directory
|
||||
# using the name "exim-daemon.pid".
|
||||
42
mail/exim/files/patch-src__configure.default
Normal file
42
mail/exim/files/patch-src__configure.default
Normal file
@ -0,0 +1,42 @@
|
||||
--- src/configure.default.orig Wed May 5 12:08:35 2004
|
||||
+++ src/configure.default Wed May 5 15:09:40 2004
|
||||
@@ -153,6 +153,8 @@
|
||||
# as if it were a normal user. This isn't usually a problem, as most sites have
|
||||
# an alias for root that redirects such mail to a human administrator.
|
||||
|
||||
+exim_user = XX_EXIM_USER_XX
|
||||
+exim_group = XX_EXIM_GROUP_XX
|
||||
never_users = root
|
||||
|
||||
|
||||
@@ -412,7 +414,8 @@
|
||||
allow_fail
|
||||
allow_defer
|
||||
data = ${lookup{$local_part}lsearch{SYSTEM_ALIASES_FILE}}
|
||||
-# user = exim
|
||||
+ user = XX_EXIM_USER_XX
|
||||
+ group = XX_EXIM_GROUP_XX
|
||||
file_transport = address_file
|
||||
pipe_transport = address_pipe
|
||||
|
||||
@@ -454,6 +457,7 @@
|
||||
file_transport = address_file
|
||||
pipe_transport = address_pipe
|
||||
reply_transport = address_reply
|
||||
+ condition = ${if exists{$home/.forward} {yes} {no} }
|
||||
|
||||
|
||||
# This router matches local user mailboxes. If the router fails, the error
|
||||
@@ -506,8 +510,10 @@
|
||||
delivery_date_add
|
||||
envelope_to_add
|
||||
return_path_add
|
||||
-# group = mail
|
||||
-# mode = 0660
|
||||
+ group = XX_EXIM_GROUP_XX
|
||||
+ user = $local_part
|
||||
+ mode = 0660
|
||||
+ no_mode_fail_narrower
|
||||
|
||||
|
||||
# This transport is used for handling pipe deliveries generated by alias or
|
||||
92
mail/exim/files/patch-src_miscmods_radius.c
Normal file
92
mail/exim/files/patch-src_miscmods_radius.c
Normal file
@ -0,0 +1,92 @@
|
||||
--- src/miscmods/radius.c.orig 2025-12-18 03:23:48.333630000 +0100
|
||||
+++ src/miscmods/radius.c 2025-12-18 03:28:22.528909000 +0100
|
||||
@@ -104,37 +104,37 @@
|
||||
|
||||
#ifdef RADIUS_LIB_RADIUSCLIENT
|
||||
if (rc_read_config(RADIUS_CONFIG_FILE) != 0)
|
||||
- *errptr = string_sprintf("RADIUS: can't open %s", RADIUS_CONFIG_FILE);
|
||||
+ *errptr = string_sprintf("%s","RADIUS: can't open %s", RADIUS_CONFIG_FILE);
|
||||
|
||||
else if (rc_read_dictionary(rc_conf_str("dictionary")) != 0)
|
||||
- *errptr = US"RADIUS: can't read dictionary";
|
||||
+ *errptr = string_sprintf("%","RADIUS: can't read dictionary");
|
||||
|
||||
else if (!rc_avpair_add(&send, PW_USER_NAME, user, 0))
|
||||
- *errptr = US"RADIUS: add user name failed";
|
||||
+ *errptr = string_sprintf("%","RADIUS: add user name failed");
|
||||
|
||||
else if (!rc_avpair_add(&send, PW_USER_PASSWORD, CS radius_args, 0))
|
||||
- *errptr = US"RADIUS: add password failed");
|
||||
+ *errptr = string_sprintf("%","RADIUS: add password failed");
|
||||
|
||||
else if (!rc_avpair_add(&send, PW_SERVICE_TYPE, &service, 0))
|
||||
- *errptr = US"RADIUS: add service type failed";
|
||||
+ *errptr = string_sprintf("%","RADIUS: add service type failed");
|
||||
|
||||
#else /* RADIUS_LIB_RADIUSCLIENT unset => RADIUS_LIB_RADIUSCLIENT2 */
|
||||
|
||||
if (!(h = rc_read_config(RADIUS_CONFIG_FILE)))
|
||||
- *errptr = string_sprintf("RADIUS: can't open %s", RADIUS_CONFIG_FILE);
|
||||
+ *errptr = string_sprintf("%","RADIUS: can't open %s", RADIUS_CONFIG_FILE);
|
||||
|
||||
else if (rc_read_dictionary(h, rc_conf_str(h, "dictionary")) != 0)
|
||||
- *errptr = US"RADIUS: can't read dictionary";
|
||||
+ *errptr = string_sprintf("%","RADIUS: can't read dictionary");
|
||||
|
||||
else if (!rc_avpair_add(h, &send, PW_USER_NAME, user, Ustrlen(user), 0))
|
||||
- *errptr = US"RADIUS: add user name failed";
|
||||
+ *errptr = string_sprintf("%","RADIUS: add user name failed");
|
||||
|
||||
else if (!rc_avpair_add(h, &send, PW_USER_PASSWORD, CS radius_args,
|
||||
Ustrlen(radius_args), 0))
|
||||
- *errptr = US"RADIUS: add password failed";
|
||||
+ *errptr = string_sprintf("%","RADIUS: add password failed");
|
||||
|
||||
else if (!rc_avpair_add(h, &send, PW_SERVICE_TYPE, &service, 0, 0))
|
||||
- *errptr = US"RADIUS: add service type failed";
|
||||
+ *errptr = string_sprintf("%","RADIUS: add service type failed");
|
||||
|
||||
#endif /* RADIUS_LIB_RADIUSCLIENT */
|
||||
|
||||
@@ -167,7 +167,7 @@
|
||||
|
||||
case BADRESP_RC:
|
||||
default:
|
||||
- *errptr = string_sprintf("RADIUS: unexpected response (%d)", result);
|
||||
+ *errptr = string_sprintf("%s","RADIUS: unexpected response (%d)", result);
|
||||
return ERROR;
|
||||
}
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
|
||||
if (!(h = rad_auth_open()))
|
||||
{
|
||||
- *errptr = string_sprintf("RADIUS: can't initialise libradius");
|
||||
+ *errptr = string_sprintf("%s","RADIUS: can't initialise libradius");
|
||||
return ERROR;
|
||||
}
|
||||
if (rad_config(h, RADIUS_CONFIG_FILE) != 0 ||
|
||||
@@ -187,7 +187,7 @@
|
||||
rad_put_int(h, RAD_SERVICE_TYPE, RAD_AUTHENTICATE_ONLY) != 0 ||
|
||||
rad_put_string(h, RAD_NAS_IDENTIFIER, CS primary_hostname) != 0)
|
||||
{
|
||||
- *errptr = string_sprintf("RADIUS: %s", rad_strerror(h));
|
||||
+ *errptr = string_sprintf("%s","RADIUS: %s", rad_strerror(h));
|
||||
result = ERROR;
|
||||
}
|
||||
else
|
||||
@@ -202,12 +202,12 @@
|
||||
break;
|
||||
|
||||
case -1:
|
||||
- *errptr = string_sprintf("RADIUS: %s", rad_strerror(h));
|
||||
+ *errptr = string_sprintf("%s","RADIUS: %s", rad_strerror(h));
|
||||
result = ERROR;
|
||||
break;
|
||||
|
||||
default:
|
||||
- *errptr = string_sprintf("RADIUS: unexpected response (%d)", result);
|
||||
+ *errptr = string_sprintf("%s","RADIUS: unexpected response (%d)", result);
|
||||
result= ERROR;
|
||||
break;
|
||||
}
|
||||
20
mail/exim/files/patch-sys-file-include
Normal file
20
mail/exim/files/patch-sys-file-include
Normal file
@ -0,0 +1,20 @@
|
||||
--- src/exim.h.orig 2017-02-14 19:13:41.381402389 +0200
|
||||
+++ src/exim.h 2017-02-14 19:13:53.330916377 +0200
|
||||
@@ -129,7 +129,6 @@
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
-#include <sys/file.h>
|
||||
#include <dirent.h>
|
||||
#include <netdb.h>
|
||||
#ifndef NO_POLL_H
|
||||
--- src/exim_lock.c.orig 2017-02-14 19:21:09.709389008 +0200
|
||||
+++ src/exim_lock.c 2017-02-14 19:21:23.994407794 +0200
|
||||
@@ -27,7 +27,6 @@
|
||||
#include <utime.h>
|
||||
#include <sys/utsname.h>
|
||||
#include <sys/stat.h>
|
||||
-#include <sys/file.h>
|
||||
#include <pwd.h>
|
||||
|
||||
/* Not all systems have flock() available. Those that do must define LOCK_SH
|
||||
132
mail/exim/options
Normal file
132
mail/exim/options
Normal file
@ -0,0 +1,132 @@
|
||||
OPTIONS_DEFINE+= ALT_CONFIG_PREFIX \
|
||||
CONTENT_SCAN \
|
||||
DAEMON \
|
||||
DANE \
|
||||
DEBUG \
|
||||
DISABLE_D_OPT \
|
||||
DKIM \
|
||||
SPF \
|
||||
DNSSEC \
|
||||
DOCS \
|
||||
EMBEDDED_PERL \
|
||||
EXIMON \
|
||||
ICONV \
|
||||
IPV6 \
|
||||
LISTMATCH_RHS \
|
||||
LMTP \
|
||||
OCSP \
|
||||
PRDR \
|
||||
READLINE \
|
||||
SUID \
|
||||
WISHLIST \
|
||||
EVENT \
|
||||
PROXY \
|
||||
SOCKS \
|
||||
INTERNATIONAL
|
||||
|
||||
OPTIONS_DEFAULT+= AUTH_CRAM_MD5 \
|
||||
AUTH_DOVECOT \
|
||||
AUTH_PLAINTEXT \
|
||||
AUTH_SPA \
|
||||
CDB \
|
||||
CONTENT_SCAN \
|
||||
DAEMON \
|
||||
DISABLE_D_OPT \
|
||||
DKIM \
|
||||
DMARC \
|
||||
DNSDB \
|
||||
DNSSEC \
|
||||
DSEARCH \
|
||||
EMBEDDED_PERL \
|
||||
EVENT \
|
||||
ICONV \
|
||||
INTERNATIONAL \
|
||||
LMTP \
|
||||
LSEARCH \
|
||||
MAILDIR \
|
||||
MAILSTORE \
|
||||
MBX \
|
||||
OCSP \
|
||||
PAM \
|
||||
PASSWD \
|
||||
PRDR \
|
||||
SPF \
|
||||
SUID \
|
||||
TLS
|
||||
|
||||
OPTIONS_RADIO_TLS= TLS GNUTLS
|
||||
TLS_DESC= TLS support
|
||||
OPTIONS_RADIO_LS= SA_EXIM
|
||||
LS_DESC= Local scan patch
|
||||
OPTIONS_RADIO_SRSR= SRS OLD_SRS
|
||||
SRSR_DESC= Sender Rewriting Scheme
|
||||
OLD_SRS_DESC= Enable Alternative Sender Rewriting Scheme
|
||||
OPTIONS_RADIO= TLS LS SRSR
|
||||
|
||||
OPTIONS_GROUP_AUTH= AUTH_CRAM_MD5 AUTH_DOVECOT AUTH_PLAINTEXT AUTH_RADIUS AUTH_SASL AUTH_SPA AUTH_TLS SASLAUTHD PAM PASSWD
|
||||
AUTH_DESC= SMTP Authorization
|
||||
OPTIONS_GROUP_LOOKUP= CDB BDB DNSDB DSEARCH LSEARCH MYSQL NIS OPENLDAP PGSQL REDIS SQLITE
|
||||
LOOKUP_DESC= Lookup support
|
||||
OPTIONS_GROUP_STORAGE= MAILDIR MAILSTORE MBX
|
||||
STORAGE_DESC= Supported storage formats
|
||||
OPTIONS_GROUP_EXPERIMENTAL= CERTNAMES DCC DMARC DSN ARC LMDB QUEUEFILE
|
||||
EXPERIMENTAL_DESC= Experimental options
|
||||
OPTIONS_GROUP= AUTH LOOKUP STORAGE EXPERIMENTAL
|
||||
|
||||
ALT_CONFIG_PREFIX_DESC= Restrict the set of configuration files
|
||||
ARC_DESC= Enable experimental ARC support
|
||||
AUTH_CRAM_MD5_DESC= Enable CRAM-MD5 authentication mechanisms
|
||||
AUTH_DOVECOT_DESC= Enable Dovecot authentication mechanisms
|
||||
AUTH_PLAINTEXT_DESC= Enable plaintext authentication
|
||||
AUTH_RADIUS_DESC= Enable radius (RFC 2865) authentication
|
||||
AUTH_SASL_DESC= Enable use of Cyrus SASL auth library
|
||||
AUTH_SPA_DESC= Enable Secure Password Authentication
|
||||
AUTH_TLS_DESC= Enable TLS client certificate authentication
|
||||
CERTNAMES_DESC= Check certiticates ownership
|
||||
BDB_DESC= Enable Berkeley DB lookups
|
||||
CDB_DESC= Enable CDB-style lookups
|
||||
CONTENT_SCAN_DESC= Enable exiscan email content scanner
|
||||
DAEMON_DESC= Install scripts to run as a daemon
|
||||
DANE_DESC= Enable experimental DANE support
|
||||
DCC_DESC= Enable DCC at ACL support via dccifd
|
||||
DISABLE_D_OPT_DESC= Disable macros overrides using option -D
|
||||
DKIM_DESC= Enable support for DKIM
|
||||
DMARC_DESC= Enable DMARC support
|
||||
DNSDB_DESC= Enable DNS-style lookups
|
||||
DNSSEC_DESC= Enable DNSSEC validation
|
||||
DSEARCH_DESC= Enable directory-list lookups
|
||||
DSN_DESC= Enable Delivery Status Notifications
|
||||
EMBEDDED_PERL_DESC= Enable embedded Perl interpreter
|
||||
EVENT_DESC= Messages events support (TPDA namely)
|
||||
EXIMON_DESC= Build eximon monitor (requires X libraries)
|
||||
ICONV_DESC= Enable header charset conversion
|
||||
INTERNATIONAL_DESC= Enable support for the transmission of UTF-8 envelope addresses
|
||||
LISTMATCH_RHS_DESC= Enable pre-4.77 behaviour for match_*
|
||||
LMDB_DESC= Enable LMDB lookups
|
||||
LMTP_DESC= RFC2033 SMTP over command pipe transport
|
||||
LSEARCH_DESC= Enable wildcarded-file lookups
|
||||
MAILDIR_DESC= Enable Maildir mailbox format
|
||||
MAILSTORE_DESC= Enable Mailstore mailbox format
|
||||
MBX_DESC= Enable MBX mailbox format
|
||||
MYSQL_DESC= Enable mysql lookups
|
||||
NIS_DESC= Enable NIS-style lookups
|
||||
OPENLDAP_DESC= Enable LDAP lookups
|
||||
OCSP_DESC= Enable OCSP stapling
|
||||
QUEUEFILE_DESC= Enable queuefile transport
|
||||
PAM_DESC= Enable PAM authentication mechanisms
|
||||
PASSWD_DESC= Enable /etc/passwd lookups
|
||||
PGSQL_DESC= Enable postgresql lookups
|
||||
PRDR_DESC= Enable Per-Recipient-Data-Response support
|
||||
PROXY_DESC= Enable Experimental Proxy Protocol
|
||||
READLINE_DESC= Enable readline(3) library
|
||||
REDIS_DESC= Enable redis lookups
|
||||
SASLAUTHD_DESC= Enable use of Cyrus SASL auth daemon
|
||||
SA_EXIM_DESC= Build with Spamassassin local scan (BROKEN)
|
||||
SOCKS_DESC= Enable smtp transport via socks5 proxies
|
||||
SPF_DESC= Enable Sender Policy Framework checking
|
||||
SQLITE_DESC= Enable SQLite lookups
|
||||
SRS_DESC= Enable Sender Rewriting Scheme
|
||||
SUID_DESC= Install the exim binary suid root
|
||||
TAINTWARN_DESC= Allow insecure tainted data (pre-4.93 config style, deprecated)
|
||||
GNUTLS_DESC= Use GnuTLS instead of OpenSSL for TLS
|
||||
WISHLIST_DESC= Include the unsupported patches
|
||||
7
mail/exim/pkg-descr
Normal file
7
mail/exim/pkg-descr
Normal file
@ -0,0 +1,7 @@
|
||||
Exim is a mail transfer agent for Unix systems connected to the Internet.
|
||||
It is a monolithic MTA designed to be a command line compatible drop-in
|
||||
replacement for Sendmail.
|
||||
|
||||
Exim is an excellent mailer for an ISP, as its control and flexibility
|
||||
are very good and its requeueing and retry algorithms are very powerful.
|
||||
Exim's configuration syntax is well documented.
|
||||
57
mail/exim/pkg-message
Normal file
57
mail/exim/pkg-message
Normal file
@ -0,0 +1,57 @@
|
||||
[
|
||||
{ type: install
|
||||
message: <<EOM
|
||||
All installations having Exim set-uid root and using 'perl_startup' are
|
||||
vulnerable to a local privilege escalation. Any user who can start an
|
||||
instance of Exim (and this is normally *any* user) can gain root
|
||||
privileges. If you do not use 'perl_startup' you *should* be safe.
|
||||
|
||||
New options
|
||||
-----------
|
||||
|
||||
We had to introduce two new configuration options:
|
||||
|
||||
keep_environment =
|
||||
add_environment =
|
||||
|
||||
Both options are empty per default. That is, Exim cleans the complete
|
||||
environment on startup. This affects Exim itself and any subprocesses,
|
||||
as transports, that may call other programs via some alias mechanisms,
|
||||
as routers (queryprogram), lookups, and so on. This may affect used
|
||||
libraries (e.g. LDAP).
|
||||
|
||||
** THIS MAY BREAK your existing installation **
|
||||
|
||||
New behaviour
|
||||
-------------
|
||||
|
||||
Now Exim changes it's working directory to / right after startup,
|
||||
even before reading it's configuration. (Later Exim changes it's working
|
||||
directory to $spool_directory, as usual.)
|
||||
|
||||
Exim only accepts an absolute configuration file path now, when using
|
||||
the -C option.
|
||||
|
||||
EOM
|
||||
}
|
||||
{ type: upgrade
|
||||
maximum_version: 4.80
|
||||
message: <<EOM
|
||||
Upgrades to Exim 4.80
|
||||
=====================
|
||||
|
||||
Exim 4.80 contains some backward-incompatible changes.
|
||||
|
||||
OpenSSL default options have changed to be more secure, including
|
||||
disabling of SSLv2 by default (and adding support for TLSv1.1 and
|
||||
TLSv1.2 if using OpenSSL 1.0.1 or newer); GnuTLS has been updated to use
|
||||
a new API and stop honouring some options starting gnutls_*; users of
|
||||
LDAP can now distinguish "comma in data" from "multi-valued attribute".
|
||||
There are more details, covering more changes, in README.UPDATING.
|
||||
|
||||
We now enable accept_8bitmime by default, as the Exim maintainers agree
|
||||
with Dan Bernstein about the best way to deal with the 8BITMIME
|
||||
extension.
|
||||
EOM
|
||||
}
|
||||
]
|
||||
43
mail/exim/pkg-plist
Normal file
43
mail/exim/pkg-plist
Normal file
@ -0,0 +1,43 @@
|
||||
%%SUID%%@mode 4755
|
||||
%%EXIM%%sbin/exim
|
||||
%%SUID%%@mode
|
||||
%%EXIM%%sbin/exim_checkaccess
|
||||
%%EXIM%%sbin/exim_dbmbuild
|
||||
%%EXIM%%sbin/exim_dumpdb
|
||||
%%EXIM%%sbin/exim_fixdb
|
||||
%%EXIM%%sbin/exim_id_update
|
||||
%%EXIM%%sbin/exim_lock
|
||||
%%EXIM%%sbin/exim_msgdate
|
||||
%%EXIM%%sbin/exim_tidydb
|
||||
%%EXIM%%sbin/exicyclog
|
||||
%%EXIM%%sbin/exigrep
|
||||
%%EXIM%%sbin/eximstats
|
||||
%%EXIM%%sbin/exinext
|
||||
%%EXIM%%sbin/exipick
|
||||
%%EXIM%%sbin/exiqgrep
|
||||
%%EXIM%%sbin/exiqsumm
|
||||
%%EXIM%%sbin/exiwhat
|
||||
%%EXIM%%share/man/man8/exim.8.gz
|
||||
%%EXIMON%%sbin/eximon
|
||||
%%EXIMON%%sbin/eximon.bin
|
||||
%%EXIM%%%%PORTDOCS%%%%DOCSDIR%%/ACKNOWLEDGMENTS
|
||||
%%EXIM%%%%PORTDOCS%%%%DOCSDIR%%/NOTICE
|
||||
%%EXIM%%%%PORTDOCS%%%%DOCSDIR%%/README.UPDATING
|
||||
%%EXIM%%%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
|
||||
%%EXIM%%%%PORTDOCS%%%%DOCSDIR%%/DANE-draft-notes
|
||||
%%EXIM%%%%PORTDOCS%%%%DOCSDIR%%/NewStuff
|
||||
%%EXIM%%%%PORTDOCS%%%%DOCSDIR%%/OptionLists.txt
|
||||
%%EXIM%%%%PORTDOCS%%%%DOCSDIR%%/POST-INSTALL-NOTES
|
||||
%%EXIM%%%%PORTDOCS%%%%DOCSDIR%%/POST-INSTALL-NOTES.clamd
|
||||
%%EXIM%%%%PORTDOCS%%%%DOCSDIR%%/README
|
||||
%%EXIM%%%%PORTDOCS%%%%DOCSDIR%%/README.SIEVE
|
||||
%%EXIM%%%%PORTDOCS%%%%DOCSDIR%%/dbm.discuss.txt
|
||||
%%EXIM%%%%PORTDOCS%%%%DOCSDIR%%/experimental-spec.txt
|
||||
%%EXIM%%%%PORTDOCS%%%%DOCSDIR%%/filter.txt
|
||||
%%EXIM%%%%PORTDOCS%%%%DOCSDIR%%/spec.txt
|
||||
%%EXIM%%%%PORTDOCS%%%%EXAMPLESDIR%%/transport-filter.pl
|
||||
%%EXIMDAEMON%%etc/periodic/daily/150.exim-tidydb
|
||||
%%EXIMDAEMON%%etc/periodic/daily/460.exim-mail-rejects
|
||||
@sample %%ETCDIR%%/configure.sample
|
||||
%%SA_EXIM%%@sample %%ETCDIR%%/sa-exim.conf.sample
|
||||
%%EXIM%%@dir(%%EXIM_USER%%,%%EXIM_GROUP%%,) /%%LOGDIR%%
|
||||
@ -1,74 +0,0 @@
|
||||
PORTNAME= blis
|
||||
PORTVERSION= 0.9.0
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= math
|
||||
PKGNAMEPREFIX= ${PYHON_PKGNAMEPREFIX}
|
||||
|
||||
MAINTAINER= jmd@FreeBSD.org
|
||||
COMMENT= Software framework for high-performance BLAS-like libraries
|
||||
WWW= https://github.com/flame/blis
|
||||
|
||||
LICENSE= BSD3CLAUSE
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
BUILD_DEPENDS= bash:shells/bash
|
||||
|
||||
USES= compiler gmake perl5 python shebangfix
|
||||
USE_PYTHON= flavors
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= flame
|
||||
USE_LDCONFIG= yes
|
||||
USE_PERL5= build
|
||||
SHEBANG_FILES= build/flatten-headers.py
|
||||
|
||||
OPTIONS_DEFINE= PARA CBLAS
|
||||
PARA_DESC= use pthread parallelization
|
||||
CBLAS_DESC= build the CBLAS compatibility layer
|
||||
OPTIONS_DEFAULT= PARA CBLAS
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
CFLAGS_riscv64= -mno-relax
|
||||
HAS_CONFIGURE= yes
|
||||
|
||||
TEST_TARGET= test
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
# enable BLAS and static/shared libs by default
|
||||
CONFIGURE_ARGS+= --enable-blas \
|
||||
--prefix=${PREFIX} \
|
||||
--enable-shared \
|
||||
--enable-static
|
||||
#--prefix=PREFIX
|
||||
|
||||
.if ${PORT_OPTIONS:MPARA}
|
||||
CONFIGURE_ARGS+= -t pthreads
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MCBLAS}
|
||||
CONFIGURE_ARGS+= --enable-cblas
|
||||
.endif
|
||||
|
||||
.if ${ARCH} == amd64
|
||||
CONFIGURE_ARGS+= x86_64
|
||||
PLIST_SUB+= ARCH="x86_64"
|
||||
.elif ${ARCH:Mpowerpc64*}
|
||||
CONFIGURE_ARGS+= power9
|
||||
PLIST_SUB+= ARCH="power9"
|
||||
USE_GCC= yes
|
||||
.else
|
||||
CONFIGURE_ARGS+= generic
|
||||
PLIST_SUB+= ARCH="generic"
|
||||
.endif
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if ${CHOSEN_COMPILER_TYPE} == gcc
|
||||
USE_GCC= yes
|
||||
.endif
|
||||
|
||||
post-install:
|
||||
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libblis.so.4.0.0
|
||||
|
||||
.include <bsd.port.post.mk>
|
||||
@ -1,3 +0,0 @@
|
||||
TIMESTAMP = 1672884949
|
||||
SHA256 (flame-blis-0.9.0_GH0.tar.gz) = 1135f664be7355427b91025075562805cdc6cc730d3173f83533b2c5dcc2f308
|
||||
SIZE (flame-blis-0.9.0_GH0.tar.gz) = 15078619
|
||||
@ -1,7 +0,0 @@
|
||||
software framework for high-performance BLAS-like libraries
|
||||
|
||||
BLIS is a portable software framework for instantiating high-performance
|
||||
BLAS-like dense linear algebra libraries. The framework was designed
|
||||
to isolate essential kernels of computation that, when optimized,
|
||||
immediately enable optimized implementations of most of its commonly
|
||||
used and computationally intensive operations.
|
||||
@ -1,10 +0,0 @@
|
||||
include/blis/blis.h
|
||||
%%CBLAS%%include/blis/cblas.h
|
||||
lib/libblis.a
|
||||
lib/libblis.so
|
||||
lib/libblis.so.4
|
||||
lib/libblis.so.4.0.0
|
||||
share/pkgconfig/blis.pc
|
||||
%%DATADIR%%/common.mk
|
||||
%%DATADIR%%/config.mk
|
||||
%%DATADIR%%/config/%%ARCH%%/make_defs.mk
|
||||
54
net/freeipa-client/Makefile
Normal file
54
net/freeipa-client/Makefile
Normal file
@ -0,0 +1,54 @@
|
||||
PORTNAME= freeipa-client
|
||||
DISTVERSION= 4.13.0
|
||||
CATEGORIES= net
|
||||
MASTER_SITES= https://releases.pagure.org/freeipa/
|
||||
DISTNAME= freeipa-${DISTVERSION}
|
||||
|
||||
MAINTAINER= kiwi@FreeBSD.org
|
||||
COMMENT= FreeIPA Client tools
|
||||
WWW= https://www.freeipa.org/
|
||||
|
||||
LICENSE= GPLv3+
|
||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
|
||||
BUILD_DEPENDS= ${PY_SETUPTOOLS} \
|
||||
${PYTHON_PKGNAMEPREFIX}pip>0:devel/py-pip@${PY_FLAVOR}
|
||||
|
||||
LIB_DEPENDS= libcmocka.so:sysutils/cmocka \
|
||||
libcurl.so:ftp/curl \
|
||||
libini_config.so:devel/ding-libs \
|
||||
libjansson.so:devel/jansson \
|
||||
libnspr4.so:devel/nspr \
|
||||
libnss3.so:security/nss \
|
||||
libpopt.so:devel/popt \
|
||||
libpwquality.so:security/libpwquality \
|
||||
libsasl2.so:security/cyrus-sasl2 \
|
||||
libxmlrpc.so:net/xmlrpc-c
|
||||
|
||||
USES= autoreconf gettext gmake gssapi:mit ldap libtool \
|
||||
localbase:ldflags pkgconfig python
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
|
||||
CONFIGURE_ARGS= --disable-dependency-tracking \
|
||||
--disable-server \
|
||||
--with-ipaplatform=freebsd \
|
||||
--without-ipatests \
|
||||
--without-server
|
||||
|
||||
# Don't bytecode python files
|
||||
MAKE_ENV= PYTHONDONTWRITEBYTECODE=1
|
||||
|
||||
# Remove all systemd dependant things
|
||||
EXTRACT_AFTER_ARGS= --exclude client/systemd --exclude daemons/dnssec \
|
||||
--exclude daemons/ipa-otpd --exclude \
|
||||
daemons/ipa-slapi-plugins --exclude init/systemd \
|
||||
--exclude init/tmpfilesd
|
||||
|
||||
PLIST_SUB= DISTVERSION=${DISTVERSION}
|
||||
|
||||
# Make sample configuration file
|
||||
post-install:
|
||||
@${MV} ${STAGEDIR}${PREFIX}/etc/ipa/epn.conf ${STAGEDIR}${PREFIX}/etc/ipa/epn.conf.sample
|
||||
|
||||
.include <bsd.port.mk>
|
||||
3
net/freeipa-client/distinfo
Normal file
3
net/freeipa-client/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1767596852
|
||||
SHA256 (freeipa-4.13.0.tar.gz) = e2fe3bec07d258ae25a558c23d4c12e7a47874f269850856f9217e8fd9b19080
|
||||
SIZE (freeipa-4.13.0.tar.gz) = 41442218
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user