databases/mysql56-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 mysql56 for the bases with both
old and new mechanism.

PR:		227229
Submitted by:	0mp
Reported by:	0mp
Sponsored by:	Netzkommune GmbH
This commit is contained in:
Mahdi Mokhtari 2018-04-04 20:45:14 +00:00
parent 30f8d6e2ce
commit f5b82ad2e1
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=466505
3 changed files with 22 additions and 15 deletions

View file

@ -3,7 +3,7 @@
PORTNAME?= mysql PORTNAME?= mysql
PORTVERSION= 5.6.39 PORTVERSION= 5.6.39
PORTREVISION?= 1 PORTREVISION?= 2
CATEGORIES= databases ipv6 CATEGORIES= databases ipv6
MASTER_SITES= MYSQL/MySQL-5.6 MASTER_SITES= MYSQL/MySQL-5.6
PKGNAMESUFFIX?= 56-server PKGNAMESUFFIX?= 56-server
@ -133,6 +133,15 @@ FEDERATED_SUB_LIST+= FEDER="--federated"
FEDERATED_SUB_LIST_OFF+= FEDER="" FEDERATED_SUB_LIST_OFF+= FEDER=""
.endif .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> .include <bsd.port.pre.mk>
post-patch: post-patch:

View file

@ -11,9 +11,9 @@
# Add the following line to /etc/rc.conf to enable mysql: # Add the following line to /etc/rc.conf to enable mysql:
# mysql_enable (bool): Set to "NO" by default. # mysql_enable (bool): Set to "NO" by default.
# Set it to "YES" to enable MySQL. # Set it to "YES" to enable MySQL.
# mysql_limits (bool): Set to "NO" by default. %%LEGACY_LIMITS%%# mysql_limits (bool): Set to "NO" by default.
# Set it to yes to run `limits -e -U mysql` %%LEGACY_LIMITS%%# Set it to yes to run `limits -e -U mysql`
# just before mysql starts. %%LEGACY_LIMITS%%# just before mysql starts.
# mysql_dbdir (str): Default to "%%MY_DBDIR%%" # mysql_dbdir (str): Default to "%%MY_DBDIR%%"
# Base database directory. # Base database directory.
# mysql_confdir (str): Default to "%%ETCDIR%%" # mysql_confdir (str): Default to "%%ETCDIR%%"
@ -36,7 +36,7 @@ rcvar=mysql_enable
load_rc_config $name load_rc_config $name
: ${mysql_enable="NO"} : ${mysql_enable="NO"}
: ${mysql_limits="NO"} %%LEGACY_LIMITS%%: ${mysql_limits="NO"}
: ${mysql_dbdir="%%MY_DBDIR%%"} : ${mysql_dbdir="%%MY_DBDIR%%"}
: ${mysql_confdir="%%ETCDIR%%"} : ${mysql_confdir="%%ETCDIR%%"}
if [ -f "${mysql_confdir}/my.cnf" ]; then if [ -f "${mysql_confdir}/my.cnf" ]; then
@ -47,12 +47,9 @@ fi
if [ ! -z "${mysql_optfile}" ]; then if [ ! -z "${mysql_optfile}" ]; then
mysql_extra="--defaults-extra-file=${mysql_optfile}" mysql_extra="--defaults-extra-file=${mysql_optfile}"
fi fi
if [ "${mysql_limits}" = "NO" ]; then
mysql_limits=""
fi
mysql_user="mysql" mysql_user="mysql"
mysql_limits_args="-e -U ${mysql_user}" %%LEGACY_LIMITS%%mysql_limits_args="-e -U ${mysql_user}"
: ${hostname:=`/bin/hostname`} : ${hostname:=`/bin/hostname`}
pidfile=${mysql_pidfile:-"${mysql_dbdir}/${hostname}.pid"} pidfile=${mysql_pidfile:-"${mysql_dbdir}/${hostname}.pid"}
command="/usr/sbin/daemon" command="/usr/sbin/daemon"
@ -74,11 +71,12 @@ mysql_prestart()
if [ ! -d "${mysql_dbdir}/mysql/." ]; then if [ ! -d "${mysql_dbdir}/mysql/." ]; then
mysql_create_auth_tables || return 1 mysql_create_auth_tables || return 1
fi fi
if [ -z "$mysql_limits" ] || checkyesno mysql_limits; then %%LEGACY_LIMITS%% if checkyesno mysql_limits; then
eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null %%LEGACY_LIMITS%% eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null
else %%LEGACY_LIMITS%% else
return 0 %%LEGACY_LIMITS%% return 0
fi %%LEGACY_LIMITS%% fi
%%MODERN_LIMITS%% return 0
} }
mysql_poststart() mysql_poststart()

View file

@ -132,7 +132,7 @@ man/man8/mysqld.8.gz
%%DATADIR%%/spanish/errmsg.sys %%DATADIR%%/spanish/errmsg.sys
%%DATADIR%%/swedish/errmsg.sys %%DATADIR%%/swedish/errmsg.sys
%%DATADIR%%/ukrainian/errmsg.sys %%DATADIR%%/ukrainian/errmsg.sys
%%ETCDIR%%/my.cnf.sample @(mysql,mysql,0644) %%ETCDIR%%/my.cnf.sample
@dir(mysql,mysql,0750) %%ETCDIR%%/keyring @dir(mysql,mysql,0750) %%ETCDIR%%/keyring
@dir(mysql,mysql,0750) %%MY_SECDIR%% @dir(mysql,mysql,0750) %%MY_SECDIR%%
@dir(mysql,mysql,0750) %%MY_TMPDIR%% @dir(mysql,mysql,0750) %%MY_TMPDIR%%