databases/mysql80-server: Adapt ${name}_limits to the new mechanism

Regarding to the changes to rc.subr(8) it is no longer necessary to
define a resource limiting logic in service scripts.
limits(1) is now run by default and its configuration is handled
via the "${name}_limits" variable.
This however causes collision of variable names and also is not
compatible with the old mechanism.
This fixes the rc-script of mysql80 for the bases with both
old and new mechanism.
(This is port of the r466505 [and r466506])

PR:		227231
Submitted by:	0mp
Reported by:	0mp
Sponsored by:	Netzkommune GmbH
This commit is contained in:
Mahdi Mokhtari 2018-04-04 21:01:28 +00:00
parent afc37e723e
commit d5111919e9
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=466508
2 changed files with 21 additions and 14 deletions

View file

@ -3,7 +3,7 @@
PORTNAME?= mysql
PORTVERSION= 8.0.2
PORTREVISION?= 1
PORTREVISION?= 2
DISTVERSIONSUFFIX?= -dmr
CATEGORIES= databases ipv6
MASTER_SITES= MYSQL/MySQL-8.0
@ -139,6 +139,15 @@ FEDERATED_SUB_LIST+= FEDER="--federated"
FEDERATED_SUB_LIST_OFF+= FEDER=""
.endif
.include <bsd.port.options.mk>
.if ${OPSYS} != FreeBSD || ${OSVERSION} < 1101514 || \
${OSVERSION} >= 1200000 && ${OSVERSION} < 1200057
SUB_LIST+= LEGACY_LIMITS="" MODERN_LIMITS="@comment "
.else
SUB_LIST+= LEGACY_LIMITS="@comment " MODERN_LIMITS=""
.endif
.include <bsd.port.pre.mk>
.if ${SSL_DEFAULT} == base

View file

@ -11,9 +11,9 @@
# 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.
# mysql_limits (bool): Set to "NO" by default.
# Set it to yes to run `limits -e -U mysql`
# just before mysql starts.
%%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%%"
@ -36,7 +36,7 @@ rcvar=mysql_enable
load_rc_config $name
: ${mysql_enable="NO"}
: ${mysql_limits="NO"}
%%LEGACY_LIMITS%%: ${mysql_limits="NO"}
: ${mysql_dbdir="%%MY_DBDIR%%"}
: ${mysql_confdir="%%ETCDIR%%"}
if [ -f "${mysql_confdir}/my.cnf" ]; then
@ -47,12 +47,9 @@ fi
if [ ! -z "${mysql_optfile}" ]; then
mysql_extra="--defaults-extra-file=${mysql_optfile}"
fi
if [ "${mysql_limits}" = "NO" ]; then
mysql_limits=""
fi
mysql_user="mysql"
mysql_limits_args="-e -U ${mysql_user}"
%%LEGACY_LIMITS%%mysql_limits_args="-e -U ${mysql_user}"
: ${hostname:=`/bin/hostname`}
pidfile=${mysql_pidfile:-"${mysql_dbdir}/${hostname}.pid"}
command="/usr/sbin/daemon"
@ -73,11 +70,12 @@ mysql_prestart()
if [ ! -d "${mysql_dbdir}/mysql/." ]; then
mysql_create_auth_tables || return 1
fi
if [ -z "$mysql_limits" ] || checkyesno mysql_limits; then
eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null
else
return 0
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()