Index: head/databases/redis/Makefile =================================================================== --- head/databases/redis/Makefile (revision 467541) +++ head/databases/redis/Makefile (revision 467542) @@ -1,105 +1,111 @@ # Created by: Sergey Skvortsov # $FreeBSD$ PORTNAME= redis -DISTVERSION= 3.2.11 +DISTVERSION= 4.0.9 CATEGORIES= databases MASTER_SITES= http://download.redis.io/releases/ MAINTAINER= osa@FreeBSD.org COMMENT= Persistent key-value database with built-in net interface LICENSE= BSD3CLAUSE OPTIONS_DEFINE= TESTS TRIB OPTIONS_RADIO= EXTLUA OPTIONS_RADIO_EXTLUA= LUA LUAJIT OPTIONS_SUB= yes LUA_DESC= Use lang/lua instead of builtin lua LUAJIT_DESC= Use lang/luajit instead of builtin lua TESTS_DESC= Install lang/tcl for redis unit tests TRIB_DESC= Install redis-trib.rb (lang/ruby req.) .include +.if ${ARCH} == i386 && ! ${CFLAGS:M-march=*} +# Needed for __atomic_fetch_add_8 +USE_GCC= yes +CFLAGS+= -march=i586 +.endif + .if ${PORT_OPTIONS:MTRIB} CATEGORIES+= ruby USE_RUBY= yes RUN_DEPENDS= rubygem-redis>=2.2:databases/rubygem-redis .endif .if ${PORT_OPTIONS:MLUA} USES+= lua:51 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-src-Makefile.lua .endif .if ${PORT_OPTIONS:MLUAJIT} LIB_DEPENDS+= libluajit-5.1.so:lang/luajit EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-src-Makefile.luajit .endif .if ${PORT_OPTIONS:MLUA} || ${PORT_OPTIONS:MLUAJIT} CFLAGS+= -fPIC LDFLAGS+= -Wl,-E .endif .if ${PORT_OPTIONS:MTESTS} USES+= tcl:build .endif LDFLAGS+= -lpthread -lm -lexecinfo -CONFLICTS?= redis-devel-3.* +CONFLICTS?= redis-devel-4.* USES+= gmake MAKE_ENV= "V=yo" USE_RC_SUBR= redis sentinel BIN_FILES= redis-benchmark redis-check-aof redis-check-rdb \ redis-cli redis-sentinel redis-server PKGMESSAGE= ${WRKDIR}/pkg-message USERS= redis GROUPS= redis REDIS_DBDIR?= /var/db/redis REDIS_RUNDIR?= /var/run/redis REDIS_LOGDIR?= /var/log/redis SUB_FILES= pkg-message SUB_LIST+= PORTNAME=${PORTNAME} \ REDIS_USER=${USERS} \ REDIS_DBDIR=${REDIS_DBDIR} \ REDIS_LOGDIR=${REDIS_LOGDIR} \ REDIS_RUNDIR=${REDIS_RUNDIR} PLIST_SUB+= REDIS_USER=${USERS} \ REDIS_GROUP=${GROUPS} \ REDIS_LOGDIR=${REDIS_LOGDIR} \ REDIS_DBDIR=${REDIS_DBDIR} \ REDIS_RUNDIR=${REDIS_RUNDIR} .if ${PORT_OPTIONS:MLUAJIT} || ${PORT_OPTIONS:MLUA} post-patch: @cd ${WRKSRC}/deps/lua/src && ${CP} fpconv.* lua_* strbuf.* ${WRKSRC}/src/ .endif 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/ .if ${PORT_OPTIONS:MTRIB} ${INSTALL_SCRIPT} ${WRKSRC}/src/redis-trib.rb ${STAGEDIR}${PREFIX}/bin/ .endif ${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} regression-test: build @cd ${WRKSRC} && ${TCLSH} tests/test_helper.tcl .include Index: head/databases/redis/distinfo =================================================================== --- head/databases/redis/distinfo (revision 467541) +++ head/databases/redis/distinfo (revision 467542) @@ -1,3 +1,3 @@ -TIMESTAMP = 1510884435 -SHA256 (redis-3.2.11.tar.gz) = 31ae927cab09f90c9ca5954aab7aeecc3bb4da6087d3d12ba0a929ceb54081b5 -SIZE (redis-3.2.11.tar.gz) = 1550452 +TIMESTAMP = 1523918138 +SHA256 (redis-4.0.9.tar.gz) = df4f73bc318e2f9ffb2d169a922dec57ec7c73dd07bccf875695dbeecd5ec510 +SIZE (redis-4.0.9.tar.gz) = 1737022 Index: head/databases/redis/files/extra-patch-src-Makefile.lua =================================================================== --- head/databases/redis/files/extra-patch-src-Makefile.lua (revision 467541) +++ head/databases/redis/files/extra-patch-src-Makefile.lua (revision 467542) @@ -1,47 +1,58 @@ ---- src/Makefile.orig 2016-02-02 19:44:07.760203000 -0500 -+++ src/Makefile 2016-02-02 19:47:01.843358000 -0500 -@@ -15,7 +15,7 @@ - release_hdr := $(shell sh -c './mkreleasehdr.sh') +--- src/Makefile.orig 2017-08-06 10:42:53.992510000 -0400 ++++ src/Makefile 2017-08-06 10:44:57.344366000 -0400 +@@ -16,7 +16,7 @@ uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') + uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not') OPTIMIZATION?=-O2 --DEPENDENCY_TARGETS=hiredis linenoise lua geohash-int -+DEPENDENCY_TARGETS=hiredis linenoise geohash-int +-DEPENDENCY_TARGETS=hiredis linenoise lua ++DEPENDENCY_TARGETS=hiredis linenoise + NODEPS:=clean distclean # Default settings - STD=-std=c99 -pedantic -DREDIS_STATIC='' -@@ -53,7 +53,7 @@ +@@ -63,8 +63,8 @@ # Override default settings if possible -include .make-settings --FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) -I../deps/geohash-int -+FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) -I../deps/geohash-int - FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG) +-FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) +-FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG) ++FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) ++FINAL_LDFLAGS=$(LDFLAGS) $(DEBUG) FINAL_LIBS=-lm - DEBUG=-g -ggdb -@@ -98,6 +98,9 @@ - FINAL_LIBS+= ../deps/jemalloc/lib/libjemalloc.a -ldl + + ifeq ($(uname_S),SunOS) +@@ -112,7 +112,7 @@ endif + endif + # Include paths to dependencies +-FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src ++FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -+FINAL_CFLAGS+= -I${PREFIX}/include/lua51 + ifeq ($(MALLOC),tcmalloc) + FINAL_CFLAGS+= -DUSE_TCMALLOC +@@ -130,6 +130,9 @@ + FINAL_LIBS+= ../deps/jemalloc/lib/libjemalloc.a + endif + ++FINAL_CFLAGS+=-I${PREFIX}/include/lua51 +FINAL_LIBS+= -L${PREFIX}/lib -llua-5.1 + REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) REDIS_LD=$(QUIET_LINK)$(CC) $(FINAL_LDFLAGS) REDIS_INSTALL=$(QUIET_INSTALL)$(INSTALL) -@@ -118,6 +121,7 @@ +@@ -150,6 +153,7 @@ REDIS_SERVER_NAME=redis-server REDIS_SENTINEL_NAME=redis-sentinel - REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o geo.o + REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o +REDIS_SERVER_OBJ+=fpconv.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o strbuf.o - REDIS_GEOHASH_OBJ=../deps/geohash-int/geohash.o ../deps/geohash-int/geohash_helper.o REDIS_CLI_NAME=redis-cli REDIS_CLI_OBJ=anet.o adlist.o redis-cli.o zmalloc.o release.o anet.o ae.o crc64.o -@@ -172,7 +176,7 @@ + REDIS_BENCHMARK_NAME=redis-benchmark +@@ -201,7 +205,7 @@ # redis-server $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ) -- $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a $(REDIS_GEOHASH_OBJ) $(FINAL_LIBS) -+ $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(REDIS_GEOHASH_OBJ) $(FINAL_LIBS) +- $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a $(FINAL_LIBS) ++ $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(FINAL_LIBS) # redis-sentinel $(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME) Index: head/databases/redis/files/extra-patch-src-Makefile.luajit =================================================================== --- head/databases/redis/files/extra-patch-src-Makefile.luajit (revision 467541) +++ head/databases/redis/files/extra-patch-src-Makefile.luajit (revision 467542) @@ -1,49 +1,58 @@ ---- src/Makefile.orig 2016-02-02 19:28:26.001101000 -0500 -+++ src/Makefile 2016-02-02 19:31:30.003197000 -0500 -@@ -15,7 +15,7 @@ - release_hdr := $(shell sh -c './mkreleasehdr.sh') +--- src/Makefile.orig 2017-08-06 10:48:29.559222000 -0400 ++++ src/Makefile 2017-08-06 10:50:45.155432000 -0400 +@@ -16,7 +16,7 @@ uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') + uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not') OPTIMIZATION?=-O2 --DEPENDENCY_TARGETS=hiredis linenoise lua geohash-int -+DEPENDENCY_TARGETS=hiredis linenoise geohash-int +-DEPENDENCY_TARGETS=hiredis linenoise lua ++DEPENDENCY_TARGETS=hiredis linenoise + NODEPS:=clean distclean # Default settings - STD=-std=c99 -pedantic -DREDIS_STATIC='' -@@ -53,8 +53,8 @@ +@@ -63,8 +63,8 @@ # Override default settings if possible -include .make-settings --FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) -I../deps/geohash-int +-FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) -FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG) -+FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) -I../deps/geohash-int ++FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) +FINAL_LDFLAGS=$(LDFLAGS) $(DEBUG) FINAL_LIBS=-lm - DEBUG=-g -ggdb -@@ -98,6 +98,9 @@ - FINAL_LIBS+= ../deps/jemalloc/lib/libjemalloc.a -ldl + ifeq ($(uname_S),SunOS) +@@ -112,7 +112,7 @@ endif + endif + # Include paths to dependencies +-FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src ++FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -+FINAL_CFLAGS+= -I${PREFIX}/include/luajit-2.0 + ifeq ($(MALLOC),tcmalloc) + FINAL_CFLAGS+= -DUSE_TCMALLOC +@@ -130,6 +130,9 @@ + FINAL_LIBS+= ../deps/jemalloc/lib/libjemalloc.a + endif + ++FINAL_CFLAGS+=-I${PREFIX}/include/luajit-2.0 +FINAL_LIBS+= -L${PREFIX}/lib -lluajit-5.1 + REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) REDIS_LD=$(QUIET_LINK)$(CC) $(FINAL_LDFLAGS) REDIS_INSTALL=$(QUIET_INSTALL)$(INSTALL) -@@ -118,6 +121,7 @@ +@@ -150,6 +153,7 @@ REDIS_SERVER_NAME=redis-server REDIS_SENTINEL_NAME=redis-sentinel - REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o geo.o + REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o +REDIS_SERVER_OBJ+=fpconv.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o strbuf.o - REDIS_GEOHASH_OBJ=../deps/geohash-int/geohash.o ../deps/geohash-int/geohash_helper.o REDIS_CLI_NAME=redis-cli REDIS_CLI_OBJ=anet.o adlist.o redis-cli.o zmalloc.o release.o anet.o ae.o crc64.o -@@ -172,7 +176,7 @@ + REDIS_BENCHMARK_NAME=redis-benchmark +@@ -201,7 +205,7 @@ # redis-server $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ) -- $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a $(REDIS_GEOHASH_OBJ) $(FINAL_LIBS) -+ $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(REDIS_GEOHASH_OBJ) $(FINAL_LIBS) +- $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a $(FINAL_LIBS) ++ $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(FINAL_LIBS) # redis-sentinel $(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME) Index: head/databases/redis/files/patch-deps-hiredis-Makefile =================================================================== --- head/databases/redis/files/patch-deps-hiredis-Makefile (revision 467541) +++ head/databases/redis/files/patch-deps-hiredis-Makefile (revision 467542) @@ -1,41 +1,41 @@ ---- deps/hiredis/Makefile.orig 2014-07-29 12:17:48.000000000 +0400 -+++ deps/hiredis/Makefile 2014-09-10 02:32:25.000000000 +0400 -@@ -25,10 +25,10 @@ +--- deps/hiredis/Makefile.orig 2017-05-01 19:46:31.733229000 -0400 ++++ deps/hiredis/Makefile 2017-05-01 19:48:37.150358000 -0400 +@@ -15,7 +15,7 @@ + HIREDIS_SONAME=$(shell grep HIREDIS_SONAME hiredis.h | awk '{print $$3}') + # Installation related variables and target +-PREFIX?=/usr/local ++PREFIX?=${PREFIX} + INCLUDE_PATH?=include/hiredis + LIBRARY_PATH?=lib + PKGCONF_PATH?=pkgconfig +@@ -38,10 +38,10 @@ # Fallback to gcc when $CC is not in $PATH. CC:=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc') + CXX:=$(shell sh -c 'type $(CXX) >/dev/null 2>/dev/null && echo $(CXX) || echo g++') -OPTIMIZATION?=-O3 +#OPTIMIZATION?=-O3 WARNINGS=-Wall -W -Wstrict-prototypes -Wwrite-strings --DEBUG?= -g -ggdb --REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG) $(ARCH) -+#DEBUG?= -g -ggdb -+REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG) +-DEBUG_FLAGS?= -g -ggdb +-REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG_FLAGS) $(ARCH) ++#DEBUG_FLAGS?= -g -ggdb ++REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG_FLAGS) REAL_LDFLAGS=$(LDFLAGS) $(ARCH) DYLIBSUFFIX=so -@@ -47,6 +47,15 @@ +@@ -60,6 +60,15 @@ DYLIB_MAKE_CMD=$(CC) -G -o $(DYLIBNAME) -h $(DYLIB_MINOR_NAME) $(LDFLAGS) INSTALL= cp -r endif +ifeq ($(uname_S),FreeBSD) + CFLAGS?=$(CFLAGS) + CCLINK?=-pthread + LDFLAGS?=-L. -Wl,-rpath,. + DYLIBNAME?=libhiredis.so + DYLIB_MAKE_CMD?=$(CC) -o ${DYLIBNAME} ${OBJ} + STLIBNAME?=libhiredis.a + STLIB_MAKE_CMD?=ar rcs ${STLIBNAME} ${OBJ} +endif ifeq ($(uname_S),Darwin) DYLIBSUFFIX=dylib - DYLIB_MINOR_NAME=$(LIBNAME).$(HIREDIS_MAJOR).$(HIREDIS_MINOR).$(DYLIBSUFFIX) -@@ -124,7 +133,7 @@ - $(CC) -MM *.c - - # Installation related variables and target --PREFIX?=/usr/local -+PREFIX?=${PREFIX} - INSTALL_INCLUDE_PATH= $(PREFIX)/include/hiredis - INSTALL_LIBRARY_PATH= $(PREFIX)/lib - + DYLIB_MINOR_NAME=$(LIBNAME).$(HIREDIS_SONAME).$(DYLIBSUFFIX) Index: head/databases/redis/files/patch-deps-hiredis-net.c =================================================================== --- head/databases/redis/files/patch-deps-hiredis-net.c (revision 467541) +++ head/databases/redis/files/patch-deps-hiredis-net.c (revision 467542) @@ -1,12 +1,64 @@ ---- deps/hiredis/net.c.orig 2014-09-12 09:16:58.000000000 -0500 -+++ deps/hiredis/net.c 2014-09-16 19:45:20.339820576 -0500 -@@ -138,7 +138,8 @@ int redisKeepAlive(redisContext *c, int +--- deps/hiredis/net.c.orig 2017-04-22 07:23:27.000000000 -0400 ++++ deps/hiredis/net.c 2017-05-05 20:02:09.292479000 -0400 +@@ -135,13 +135,12 @@ + + val = interval; + +-#ifdef _OSX ++#if defined(_OSX) + if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPALIVE, &val, sizeof(val)) < 0) { + __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); return REDIS_ERR; } - #else --#ifndef __sun -+#if !defined(__sun) && defined(TCP_KEEPIDLE) && defined(TCP_KEEPINTVL) && \ -+ defined(TCP_KEEPCNT) +-#else +-#if defined(__GLIBC__) && !defined(__FreeBSD_kernel__) ++#elif defined(__GLIBC__) val = interval; if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof(val)) < 0) { __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); +@@ -160,6 +159,27 @@ + __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); + return REDIS_ERR; + } ++#else ++#if !defined(__sun) && defined(TCP_KEEPIDLE) && defined(TCP_KEEPINTVL) && \ ++ defined(TCP_KEEPCNT) ++ val = interval; ++ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof(val)) < 0) { ++ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); ++ return REDIS_ERR; ++ } ++ ++ val = interval/3; ++ if (val == 0) val = 1; ++ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, &val, sizeof(val)) < 0) { ++ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); ++ return REDIS_ERR; ++ } ++ ++ val = 3; ++ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPCNT, &val, sizeof(val)) < 0) { ++ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); ++ return REDIS_ERR; ++ } + #endif + #endif + +@@ -431,7 +451,7 @@ + struct sockaddr_un sa; + long timeout_msec = -1; + +- if (redisCreateSocket(c,AF_LOCAL) < 0) ++ if (redisCreateSocket(c,AF_UNIX) < 0) + return REDIS_ERR; + if (redisSetBlocking(c,0) != REDIS_OK) + return REDIS_ERR; +@@ -456,7 +476,7 @@ + if (redisContextTimeoutMsec(c,&timeout_msec) != REDIS_OK) + return REDIS_ERR; + +- sa.sun_family = AF_LOCAL; ++ sa.sun_family = AF_UNIX; + strncpy(sa.sun_path,path,sizeof(sa.sun_path)-1); + if (connect(c->fd, (struct sockaddr*)&sa, sizeof(sa)) == -1) { + if (errno == EINPROGRESS && !blocking) { Index: head/databases/redis-devel/Makefile =================================================================== --- head/databases/redis-devel/Makefile (revision 467541) +++ head/databases/redis-devel/Makefile (revision 467542) @@ -1,112 +1,113 @@ # Created by: Sergey Skvortsov # $FreeBSD$ PORTNAME= redis DISTVERSION= 4.0.9 +PORTREVISION= 1 CATEGORIES= databases MASTER_SITES= http://download.redis.io/releases/ PKGNAMESUFFIX= -devel MAINTAINER= osa@FreeBSD.org COMMENT= Persistent key-value database with built-in net interface LICENSE= BSD3CLAUSE OPTIONS_DEFINE= TESTS TRIB OPTIONS_RADIO= EXTLUA OPTIONS_RADIO_EXTLUA= LUA LUAJIT OPTIONS_SUB= yes LUA_DESC= Use lang/lua instead of builtin lua LUAJIT_DESC= Use lang/luajit instead of builtin lua TESTS_DESC= Install lang/tcl for redis unit tests TRIB_DESC= Install redis-trib.rb (lang/ruby req.) .include .if ${ARCH} == i386 && ! ${CFLAGS:M-march=*} # Needed for __atomic_fetch_add_8 USE_GCC= yes CFLAGS+= -march=i586 .endif .if ${PORT_OPTIONS:MTRIB} CATEGORIES+= ruby USE_RUBY= yes RUN_DEPENDS= rubygem-redis>=2.2:databases/rubygem-redis .endif .if ${PORT_OPTIONS:MLUA} USES+= lua:51 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-src-Makefile.lua .endif .if ${PORT_OPTIONS:MLUAJIT} LIB_DEPENDS+= libluajit-5.1.so:lang/luajit EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-src-Makefile.luajit .endif .if ${PORT_OPTIONS:MLUA} || ${PORT_OPTIONS:MLUAJIT} CFLAGS+= -fPIC LDFLAGS+= -Wl,-E .endif .if ${PORT_OPTIONS:MTESTS} USES+= tcl:build .endif LDFLAGS+= -lpthread -lm -lexecinfo -CONFLICTS?= redis-3.* +CONFLICTS?= redis-4.* USES+= gmake MAKE_ENV= "V=yo" USE_RC_SUBR= redis sentinel BIN_FILES= redis-benchmark redis-check-aof redis-check-rdb \ redis-cli redis-sentinel redis-server PKGMESSAGE= ${WRKDIR}/pkg-message USERS= redis GROUPS= redis REDIS_DBDIR?= /var/db/redis REDIS_RUNDIR?= /var/run/redis REDIS_LOGDIR?= /var/log/redis SUB_FILES= pkg-message SUB_LIST+= PORTNAME=${PORTNAME} \ REDIS_USER=${USERS} \ REDIS_DBDIR=${REDIS_DBDIR} \ REDIS_LOGDIR=${REDIS_LOGDIR} \ REDIS_RUNDIR=${REDIS_RUNDIR} PLIST_SUB+= REDIS_USER=${USERS} \ REDIS_GROUP=${GROUPS} \ REDIS_LOGDIR=${REDIS_LOGDIR} \ REDIS_DBDIR=${REDIS_DBDIR} \ REDIS_RUNDIR=${REDIS_RUNDIR} .if ${PORT_OPTIONS:MLUAJIT} || ${PORT_OPTIONS:MLUA} post-patch: @cd ${WRKSRC}/deps/lua/src && ${CP} fpconv.* lua_* strbuf.* ${WRKSRC}/src/ .endif 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/ .if ${PORT_OPTIONS:MTRIB} ${INSTALL_SCRIPT} ${WRKSRC}/src/redis-trib.rb ${STAGEDIR}${PREFIX}/bin/ .endif ${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} regression-test: build @cd ${WRKSRC} && ${TCLSH} tests/test_helper.tcl .include