diff options
author | Mateusz Piotrowski <0mp@FreeBSD.org> | 2018-11-03 21:54:52 +0000 |
---|---|---|
committer | Mateusz Piotrowski <0mp@FreeBSD.org> | 2018-11-03 21:54:52 +0000 |
commit | 43f9ba04f1c3123e79f7c644ead66941cec1989d (patch) | |
tree | 456c632a88294948d5dc87bc8b304d47a46232a2 /databases/mysql55-server | |
parent | a7091cda19d2a6a6f63cd5ec45d541b1feb98743 (diff) | |
download | freebsd-ports-43f9ba04f1c3123e79f7c644ead66941cec1989d.zip |
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
Diffstat (limited to 'databases/mysql55-server')
-rw-r--r-- | databases/mysql55-server/Makefile | 8 | ||||
-rw-r--r-- | databases/mysql55-server/files/mysql-server.in | 21 |
2 files changed, 18 insertions, 11 deletions
diff --git a/databases/mysql55-server/Makefile b/databases/mysql55-server/Makefile index d061ea5c21dc..3c6fa424f32e 100644 --- a/databases/mysql55-server/Makefile +++ b/databases/mysql55-server/Makefile @@ -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 diff --git a/databases/mysql55-server/files/mysql-server.in b/databases/mysql55-server/files/mysql-server.in index b5015e5505f3..12dbb3ba85a6 100644 --- a/databases/mysql55-server/files/mysql-server.in +++ b/databases/mysql55-server/files/mysql-server.in @@ -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() |