diff options
author | 0mp <0mp@FreeBSD.org> | 2018-11-02 21:20:45 +0800 |
---|---|---|
committer | 0mp <0mp@FreeBSD.org> | 2018-11-02 21:20:45 +0800 |
commit | a6ebb885ab3952f319e4a2e650eba1580d82a26e (patch) | |
tree | bfa25a2e626db5eb6ca7d2313a56bd6e3147b2de /databases | |
parent | 5cd5c744bdfb1d9f5aa3c562cda10be195e0d6c7 (diff) | |
download | freebsd-ports-gnome-a6ebb885ab3952f319e4a2e650eba1580d82a26e.tar.gz freebsd-ports-gnome-a6ebb885ab3952f319e4a2e650eba1580d82a26e.tar.zst freebsd-ports-gnome-a6ebb885ab3952f319e4a2e650eba1580d82a26e.zip |
databases/percona57-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: 227236
Reviewed by: krion
Approved by: krion (mentor), maintainer timeout
Differential Revision: https://reviews.freebsd.org/D17786
Diffstat (limited to 'databases')
-rw-r--r-- | databases/percona57-server/Makefile | 10 | ||||
-rw-r--r-- | databases/percona57-server/files/mysql-server.in | 21 |
2 files changed, 20 insertions, 11 deletions
diff --git a/databases/percona57-server/Makefile b/databases/percona57-server/Makefile index 89ece6ae7957..6c20521bcba8 100644 --- a/databases/percona57-server/Makefile +++ b/databases/percona57-server/Makefile @@ -3,7 +3,7 @@ PORTNAME?= percona DISTVERSION= 5.7.21-20 -PORTREVISION?= 1 +PORTREVISION?= 2 CATEGORIES= databases ipv6 MASTER_SITES= http://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-${DISTVERSION}/source/tarball/:percona \ SF/boost/boost/1.59.0:boost @@ -127,6 +127,14 @@ CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON" # But this keeps the pkg-plist not overlaping CMAKE_ARGS+= -DWITH_AUTHENTICATION_LDAP=0 +.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 + post-install: ${MKDIR} ${STAGEDIR}/var/db/mysql ${MKDIR} ${STAGEDIR}${ETCDIR}/keyring diff --git a/databases/percona57-server/files/mysql-server.in b/databases/percona57-server/files/mysql-server.in index 719583c8c845..5c6041ffaa90 100644 --- a/databases/percona57-server/files/mysql-server.in +++ b/databases/percona57-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 "%%MY_DBDIR%%" # Base database directory. # mysql_confdir (str): Default to "%%ETCDIR%%" @@ -34,7 +34,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_dbdir}/my.cnf" ]; then @@ -44,7 +44,7 @@ else 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" @@ -76,11 +76,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() |