diff --git a/databases/redis-devel/Makefile b/databases/redis-devel/Makefile index 52570adaca0a..53594be61d57 100644 --- a/databases/redis-devel/Makefile +++ b/databases/redis-devel/Makefile @@ -1,85 +1,86 @@ PORTNAME= redis -DISTVERSION= 8.6.0.20260228 +DISTVERSION= 8.6.2.20260331 CATEGORIES= databases PKGNAMESUFFIX= -devel MAINTAINER= bofh@freebsd.org COMMENT= Persistent key-value database with built-in net interface WWW= https://redis.io/ LICENSE= AGPLv3 RSALv2 SSPLv1 LICENSE_COMB= dual LICENSE_NAME_RSALv2= Redis Source Available License v2 LICENSE_NAME_SSPLv1= Server Side Public License v1 LICENSE_FILE= ${WRKSRC}/LICENSE.txt LICENSE_PERMS_RSALv2= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept LICENSE_PERMS_SSPLv1= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept USES= compiler:c11 cpe gmake tcl:test pkgconfig CPE_VENDOR= redislabs USE_GITHUB= yes -GH_TAGNAME= 3de7fa257 +GH_TAGNAME= 8f3b6990d USE_RC_SUBR= redis sentinel MAKE_ENV= OPTIMIZATION= \ V=yo CFLAGS+= -Wno-deprecated-declarations LDFLAGS+= -L/usr/lib -lexecinfo CONFLICTS_INSTALL= redis redis62 redis72 redis74 PORTSCOUT= ignore:1 SUB_FILES= pkg-message SUB_LIST+= PORTNAME=${PORTNAME} \ REDIS_DBDIR=${REDIS_DBDIR} \ + REDIS_GROUP=${GROUPS} \ REDIS_LOGDIR=${REDIS_LOGDIR} \ REDIS_RUNDIR=${REDIS_RUNDIR} \ REDIS_USER=${USERS} USERS= redis GROUPS= redis PLIST_SUB+= REDIS_DBDIR=${REDIS_DBDIR} \ REDIS_GROUP=${GROUPS} \ REDIS_LOGDIR=${REDIS_LOGDIR} \ REDIS_RUNDIR=${REDIS_RUNDIR} \ REDIS_USER=${USERS} OPTIONS_DEFINE= JEMALLOC TLS OPTIONS_DEFAULT= TLS OPTIONS_SUB= yes JEMALLOC_DESC= Use jemalloc TLS_DESC= Use TLS (openssl req.) JEMALLOC_MAKE_ENV= USE_JEMALLOC=yes TLS_USES= ssl TLS_MAKE_ENV= BUILD_TLS=yes BIN_FILES= redis-benchmark redis-check-aof redis-check-rdb redis-cli \ redis-sentinel redis-server REDIS_DBDIR?= /var/db/redis REDIS_RUNDIR?= /var/run/redis REDIS_LOGDIR?= /var/log/redis post-patch-JEMALLOC-on: @${REINPLACE_CMD} '78s!Linux!FreeBSD!g' ${WRKSRC}/src/Makefile post-build: ${SED} ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \ ${WRKSRC}/redis.conf > ${WRKDIR}/redis.conf do-install: ${INSTALL_PROGRAM} ${BIN_FILES:C!^!${WRKSRC}/src/!} ${STAGEDIR}${PREFIX}/bin/ ${INSTALL_DATA} ${WRKDIR}/redis.conf ${STAGEDIR}${PREFIX}/etc/redis.conf.sample ${INSTALL_DATA} ${WRKSRC}/sentinel.conf ${STAGEDIR}${PREFIX}/etc/sentinel.conf.sample ${MKDIR} ${STAGEDIR}${REDIS_LOGDIR} \ ${STAGEDIR}${REDIS_DBDIR} \ ${STAGEDIR}${REDIS_RUNDIR} do-test: @cd ${WRKSRC} && ${TCLSH} tests/test_helper.tcl .include diff --git a/databases/redis-devel/distinfo b/databases/redis-devel/distinfo index 0cb9a38644fe..da3101a1736c 100644 --- a/databases/redis-devel/distinfo +++ b/databases/redis-devel/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1778932277 -SHA256 (redis-redis-8.6.0.20260228-3de7fa257_GH0.tar.gz) = f0c9055ecb1c5c13eabbee601bfd86eb843197d6504e5f70967d3b81c2253dc1 -SIZE (redis-redis-8.6.0.20260228-3de7fa257_GH0.tar.gz) = 4292293 +TIMESTAMP = 1779639364 +SHA256 (redis-redis-8.6.2.20260331-8f3b6990d_GH0.tar.gz) = 4c1507c840f682af8f877a60b43ae260ef1f2021b00f26be381b14b82d74d957 +SIZE (redis-redis-8.6.2.20260331-8f3b6990d_GH0.tar.gz) = 4323989 diff --git a/databases/redis-devel/files/redis.in b/databases/redis-devel/files/redis.in index d18063c3a504..8655121afbd2 100644 --- a/databases/redis-devel/files/redis.in +++ b/databases/redis-devel/files/redis.in @@ -1,67 +1,73 @@ #!/bin/sh # PROVIDE: redis # REQUIRE: LOGIN # BEFORE: securelevel # KEYWORD: shutdown # Add the following line to /etc/rc.conf to enable `redis': # #redis_enable="YES" # # Define profiles here to run separate redis instances: # #redis_profiles="foo bar" # Script uses %%PREFIX%%/etc/redis-NAME.conf respectively. # For correct script working please update pidfile entries in # redis-NAME.conf files. . /etc/rc.subr name="redis" rcvar="${name}_enable" extra_commands="reload" command="%%PREFIX%%/bin/redis-server" pidfile="%%REDIS_RUNDIR%%/$name.pid" # read configuration and set defaults load_rc_config "$name" : ${redis_enable="NO"} +: ${redis_group="%%REDIS_GROUP%%"} : ${redis_user="%%REDIS_USER%%"} : ${redis_config="%%PREFIX%%/etc/$name.conf"} command_args="${redis_config}" required_files="${redis_config}" +start_precmd="${name}_prestart" _profile_exists() { for _p in ${redis_profiles}; do [ "${_p}" = "$1" ] && return 1; done return 0 } if [ $# -eq 2 ]; then _profile=$2 _profile_exists $_profile _exists=$? [ ${_exists} -ne 1 ] && { echo "`basename %%PREFIX%%/etc/rc.d/redis`: no '$2' in 'redis_profiles'" exit 1 }; echo "-- Profile: ${_profile} --" config_file="%%PREFIX%%/etc/${name}-${_profile}.conf" command_args="${config_file}" pidfile="%%REDIS_RUNDIR%%/${_profile}.pid" required_files="${config_file}" elif [ -n "${redis_profiles}" ]; then _swap=$*; shift; _profiles=$* _profiles=${_profiles:-${redis_profiles}} set -- ${_swap} for _profile in ${_profiles}; do %%PREFIX%%/etc/rc.d/redis $1 ${_profile} done exit 0 fi +redis_prestart() { + install -d -m 755 -o "${redis_user}" -g "${redis_group}" "${pidfile%/*}" +} + run_rc_command "$1"