From owner-svn-ports-head@freebsd.org Mon Apr 16 23:12:46 2018 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3A08BF855EF; Mon, 16 Apr 2018 23:12:46 +0000 (UTC) (envelope-from osa@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DCFE97E119; Mon, 16 Apr 2018 23:12:45 +0000 (UTC) (envelope-from osa@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D6A5423DD2; Mon, 16 Apr 2018 23:12:45 +0000 (UTC) (envelope-from osa@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3GNCj8u012088; Mon, 16 Apr 2018 23:12:45 GMT (envelope-from osa@FreeBSD.org) Received: (from osa@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3GNCj6u012081; Mon, 16 Apr 2018 23:12:45 GMT (envelope-from osa@FreeBSD.org) Message-Id: <201804162312.w3GNCj6u012081@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: osa set sender to osa@FreeBSD.org using -f From: "Sergey A. Osokin" Date: Mon, 16 Apr 2018 23:12:45 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r467542 - in head/databases: redis redis-devel redis/files X-SVN-Group: ports-head X-SVN-Commit-Author: osa X-SVN-Commit-Paths: in head/databases: redis redis-devel redis/files X-SVN-Commit-Revision: 467542 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Apr 2018 23:12:46 -0000 Author: osa Date: Mon Apr 16 23:12:45 2018 New Revision: 467542 URL: https://svnweb.freebsd.org/changeset/ports/467542 Log: Upgrade to recent stable version - 4.0.9. Update CONFLICTS record. Modified: head/databases/redis-devel/Makefile head/databases/redis/Makefile head/databases/redis/distinfo head/databases/redis/files/extra-patch-src-Makefile.lua head/databases/redis/files/extra-patch-src-Makefile.luajit head/databases/redis/files/patch-deps-hiredis-Makefile head/databases/redis/files/patch-deps-hiredis-net.c Modified: head/databases/redis-devel/Makefile ============================================================================== --- head/databases/redis-devel/Makefile Mon Apr 16 23:08:23 2018 (r467541) +++ head/databases/redis-devel/Makefile Mon Apr 16 23:12:45 2018 (r467542) @@ -3,6 +3,7 @@ PORTNAME= redis DISTVERSION= 4.0.9 +PORTREVISION= 1 CATEGORIES= databases MASTER_SITES= http://download.redis.io/releases/ PKGNAMESUFFIX= -devel @@ -56,7 +57,7 @@ USES+= tcl:build LDFLAGS+= -lpthread -lm -lexecinfo -CONFLICTS?= redis-3.* +CONFLICTS?= redis-4.* USES+= gmake MAKE_ENV= "V=yo" Modified: head/databases/redis/Makefile ============================================================================== --- head/databases/redis/Makefile Mon Apr 16 23:08:23 2018 (r467541) +++ head/databases/redis/Makefile Mon Apr 16 23:12:45 2018 (r467542) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= redis -DISTVERSION= 3.2.11 +DISTVERSION= 4.0.9 CATEGORIES= databases MASTER_SITES= http://download.redis.io/releases/ @@ -22,6 +22,12 @@ 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 @@ -49,7 +55,7 @@ USES+= tcl:build LDFLAGS+= -lpthread -lm -lexecinfo -CONFLICTS?= redis-devel-3.* +CONFLICTS?= redis-devel-4.* USES+= gmake MAKE_ENV= "V=yo" Modified: head/databases/redis/distinfo ============================================================================== --- head/databases/redis/distinfo Mon Apr 16 23:08:23 2018 (r467541) +++ head/databases/redis/distinfo Mon Apr 16 23:12:45 2018 (r467542) @@ -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 Modified: head/databases/redis/files/extra-patch-src-Makefile.lua ============================================================================== --- head/databases/redis/files/extra-patch-src-Makefile.lua Mon Apr 16 23:08:23 2018 (r467541) +++ head/databases/redis/files/extra-patch-src-Makefile.lua Mon Apr 16 23:12:45 2018 (r467542) @@ -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) Modified: head/databases/redis/files/extra-patch-src-Makefile.luajit ============================================================================== --- head/databases/redis/files/extra-patch-src-Makefile.luajit Mon Apr 16 23:08:23 2018 (r467541) +++ head/databases/redis/files/extra-patch-src-Makefile.luajit Mon Apr 16 23:12:45 2018 (r467542) @@ -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) Modified: head/databases/redis/files/patch-deps-hiredis-Makefile ============================================================================== --- head/databases/redis/files/patch-deps-hiredis-Makefile Mon Apr 16 23:08:23 2018 (r467541) +++ head/databases/redis/files/patch-deps-hiredis-Makefile Mon Apr 16 23:12:45 2018 (r467542) @@ -1,20 +1,29 @@ ---- 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 @@ -29,13 +38,4 @@ +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) Modified: head/databases/redis/files/patch-deps-hiredis-net.c ============================================================================== --- head/databases/redis/files/patch-deps-hiredis-net.c Mon Apr 16 23:08:23 2018 (r467541) +++ head/databases/redis/files/patch-deps-hiredis-net.c Mon Apr 16 23:12:45 2018 (r467542) @@ -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) {