1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-26 05:02:18 +00:00

databases/mysql55-server: Adapt ${name}_limits to the new resource

limiting mechanics for services

Thanks to the recent change 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.

Unfortunately, there is a collision of variable names. The service scripts
are broken on FreeBSD version with that new change (>= 12.0).

The patch preserves the old behavior on the systems without the rc.subr(8)
modification.

PR:		227228
Reviewed by:	krion
Approved by:	krion (mentor), maintainer timeout
Differential Revision:	https://reviews.freebsd.org/D17818
This commit is contained in:
Mateusz Piotrowski 2018-11-03 21:54:52 +00:00
parent a7091cda19
commit 43f9ba04f1
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=483912
2 changed files with 18 additions and 11 deletions

View File

@ -3,7 +3,7 @@
PORTNAME?= mysql
PORTVERSION= 5.5.62
PORTREVISION?= 0
PORTREVISION?= 1
CATEGORIES= databases ipv6
MASTER_SITES= MYSQL/MySQL-5.5
PKGNAMESUFFIX?= 55-server
@ -50,6 +50,12 @@ SHEBANG_FILES= scripts/*.pl* scripts/*.sh
.include <bsd.port.options.mk>
.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200057
SUB_LIST+= LEGACY_LIMITS="@comment " MODERN_LIMITS=""
.else
SUB_LIST+= LEGACY_LIMITS="" MODERN_LIMITS="@comment "
.endif
.if ${PORT_OPTIONS:MSSL}
CMAKE_ARGS+= -DWITH_SSL=bundled
.endif

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 "/var/db/mysql"
# Base database directory.
# mysql_optfile (str): Server-specific option file.
@ -32,12 +32,12 @@ rcvar=mysql_enable
load_rc_config $name
: ${mysql_enable="NO"}
: ${mysql_limits="NO"}
%%LEGACY_LIMITS%%: ${mysql_limits="NO"}
: ${mysql_dbdir="/var/db/mysql"}
: ${mysql_optfile="${mysql_dbdir}/my.cnf"}
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"
@ -59,11 +59,12 @@ mysql_prestart()
if [ ! -d "${mysql_dbdir}/mysql/." ]; then
mysql_create_auth_tables || return 1
fi
if 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()