public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/
@ 2016-06-14  7:56 Alexys Jacob
  0 siblings, 0 replies; 17+ messages in thread
From: Alexys Jacob @ 2016-06-14  7:56 UTC (permalink / raw
  To: gentoo-commits

commit:     abe6df90c519c0e5bc4bde7f2d9eea49b6acd13c
Author:     Ultrabug <ultrabug <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 14 07:55:59 2016 +0000
Commit:     Alexys Jacob <ultrabug <AT> gentoo <DOT> org>
CommitDate: Tue Jun 14 07:56:20 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=abe6df90

dev-db/redis: version bump fixes #583168

Package-Manager: portage-2.2.27

 dev-db/redis/Manifest                          |   1 +
 dev-db/redis/files/redis-3.2.0-config.patch    |  37 ++++++++
 dev-db/redis/files/redis-3.2.0-sharedlua.patch |  36 ++++++++
 dev-db/redis/redis-3.2.0.ebuild                | 118 +++++++++++++++++++++++++
 4 files changed, 192 insertions(+)

diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index d9d1767..36748f9 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -5,3 +5,4 @@ DIST redis-3.0.4.tar.gz 1364993 SHA256 a35e90ad581925134aa0fc92e969cc825f5cdee8e
 DIST redis-3.0.5.tar.gz 1366160 SHA256 4c176826eee909fbdc63db1c15adc22aab42d758043829e556f4331e6a5bd480 SHA512 f44e2bcf2f4910da9f9d9e31ec542d5816ec0ba4329efe3e5053cc0176a5a8557d905f23bd3fd37e8a6e674eaf12804613718f63cb2ca1eac2b4f9c6082acab6 WHIRLPOOL 5b58ca02af6be7768c89e9307d668081cc161f9a200a1db40f0216b6c564cb67c8230d420024c12fb5f2397cedb8979a62ad01a61d526030018171a69a22e19d
 DIST redis-3.0.6.tar.gz 1372648 SHA256 6f1e1523194558480c3782d84d88c2decf08a8e4b930c56d4df038e565b75624 SHA512 cb29b2ed6db4a77ffafc27a94deb71b73332f4e05b63957ac870532a634d7aaf1df4225aec8bc3011322b6df35a7f0e7c3f3bb070e29aabd3dabdb5cfbb681d4 WHIRLPOOL ce0de5aa188d8c631456ea5bf6346357676eb8c5f0f6bc69a704f7d35559ec6a4f5c0e583e321f546fc91c6c51d0331065d64be601864e033ce7d47da002d71b
 DIST redis-3.0.7.tar.gz 1375200 SHA256 b2a791c4ea3bb7268795c45c6321ea5abcc24457178373e6a6e3be6372737f23 SHA512 6c8f4c88d911e1433fd28efff2f6d62763e08be89814ebf4aa4e68e2c8bd605eba24ca3410548b2f480ae094437ce96c0bafa7a5762b3b405d5d850886297ba3 WHIRLPOOL 53c2c967b999bbcb5b45117bbad74b46457158ad94e8c43566311dd3d58c63c2d0cc2dac5dc9e8806821c2532ee4beded17e039da4ddeae958e5a0092429ee3a
+DIST redis-3.2.0.tar.gz 1525900 SHA256 989f1af3dc0ac1828fdac48cd6c608f5a32a235046dddf823226f760c0fd8762 SHA512 02a046080d070a81d38f4e8868ae85ace2db26718fc292388a94fd8f0ac45fe071f1536b3197e22451f99848dcd110469005f84456b8455836b2779eeb554d49 WHIRLPOOL d12e1f1b5ffc4170844f007ee7e25ef893fd59872bff45f95d9702cc54e0847fc66816bfa22b67f89b0570c9da167a7311a2b27f959fcf8348bb129d647498ed

diff --git a/dev-db/redis/files/redis-3.2.0-config.patch b/dev-db/redis/files/redis-3.2.0-config.patch
new file mode 100644
index 0000000..8d93a0e
--- /dev/null
+++ b/dev-db/redis/files/redis-3.2.0-config.patch
@@ -0,0 +1,37 @@
+--- a/redis.conf	2016-05-06 09:11:36.000000000 +0200
++++ b/redis.conf	2016-06-14 09:20:05.980855432 +0200
+@@ -146,7 +146,7 @@
+ #
+ # Creating a pid file is best effort: if Redis is not able to create it
+ # nothing bad happens, the server will start and run normally.
+-pidfile /var/run/redis.pid
++pidfile /run/redis/redis.pid
+ 
+ # Specify the server verbosity level.
+ # This can be one of:
+@@ -159,7 +159,7 @@
+ # Specify the log file name. Also the empty string can be used to force
+ # Redis to log on the standard output. Note that if you use standard
+ # output for logging but daemonize, logs will be sent to /dev/null
+-logfile ""
++logfile /var/log/redis/redis.log
+ 
+ # To enable logging to the system logger, just set 'syslog-enabled' to yes,
+ # and optionally update the other syslog parameters to suit your needs.
+@@ -243,7 +243,7 @@
+ # The Append Only File will also be created inside this directory.
+ #
+ # Note that you must specify a directory here, not a file name.
+-dir ./
++dir /var/lib/redis/
+ 
+ ################################# REPLICATION #################################
+ 
+@@ -505,6 +505,7 @@
+ # output buffers (but this is not needed if the policy is 'noeviction').
+ #
+ # maxmemory <bytes>
++maxmemory 67108864
+ 
+ # MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
+ # is reached. You can select among five behaviors:

diff --git a/dev-db/redis/files/redis-3.2.0-sharedlua.patch b/dev-db/redis/files/redis-3.2.0-sharedlua.patch
new file mode 100644
index 0000000..248e990
--- /dev/null
+++ b/dev-db/redis/files/redis-3.2.0-sharedlua.patch
@@ -0,0 +1,36 @@
+--- a/src/Makefile	2016-06-14 09:21:51.613721601 +0200
++++ b/src/Makefile	2016-06-14 09:25:21.262442026 +0200
+@@ -15,7 +15,7 @@
+ release_hdr := $(shell sh -c './mkreleasehdr.sh')
+ uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
+ OPTIMIZATION?=-O2
+-DEPENDENCY_TARGETS=hiredis linenoise lua geohash-int
++DEPENDENCY_TARGETS=hiredis linenoise geohash-int
+ 
+ # Default settings
+ STD=-std=c99 -pedantic -DREDIS_STATIC=''
+@@ -51,6 +51,7 @@
+ FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) -I../deps/geohash-int
+ FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
+ FINAL_LIBS=-lm
++FINAL_LIBS+=$(shell pkg-config --libs lua)
+ DEBUG=-g -ggdb
+ 
+ ifeq ($(uname_S),SunOS)
+@@ -112,6 +113,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+=fpconv.o strbuf.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.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
+@@ -166,7 +168,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-sentinel
+ $(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME)

diff --git a/dev-db/redis/redis-3.2.0.ebuild b/dev-db/redis/redis-3.2.0.ebuild
new file mode 100644
index 0000000..e615716
--- /dev/null
+++ b/dev-db/redis/redis-3.2.0.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools eutils flag-o-matic systemd toolchain-funcs user
+
+DESCRIPTION="A persistent caching system, key-value and data structures database"
+HOMEPAGE="http://redis.io/"
+SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
+IUSE="+jemalloc tcmalloc test"
+SLOT="0"
+
+RDEPEND=">=dev-lang/lua-5.1:*
+	tcmalloc? ( dev-util/google-perftools )
+	jemalloc? ( >=dev-libs/jemalloc-3.2 )"
+DEPEND="virtual/pkgconfig
+	>=sys-devel/autoconf-2.63
+	test? ( dev-lang/tcl:0= )
+	${RDEPEND}"
+REQUIRED_USE="?? ( tcmalloc jemalloc )"
+
+S="${WORKDIR}/${PN}-${PV/_/-}"
+
+pkg_setup() {
+	enewgroup redis 75
+	enewuser redis 75 -1 /var/lib/redis redis
+}
+
+src_prepare() {
+	epatch "${FILESDIR}"/${PN}-2.8.3-shared.patch
+	epatch "${FILESDIR}"/${PN}-3.2.0-config.patch
+	epatch "${FILESDIR}"/${PN}-3.2.0-sharedlua.patch
+	eapply_user
+
+	# Copy lua modules into build dir
+	cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
+	cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
+	# Append cflag for lua_cjson
+	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+	append-cflags "-DENABLE_CJSON_GLOBAL"
+
+	# now we will rewrite present Makefiles
+	local makefiles=""
+	for MKF in $(find -name 'Makefile' | cut -b 3-); do
+		mv "${MKF}" "${MKF}.in"
+		sed -i	-e 's:$(CC):@CC@:g' \
+			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+			-e 's: $(DEBUG)::g' \
+			-e 's:$(OBJARCH)::g' \
+			-e 's:ARCH:TARCH:g' \
+			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+			"${MKF}.in" \
+		|| die "Sed failed for ${MKF}"
+		makefiles+=" ${MKF}"
+	done
+	# autodetection of compiler and settings; generates the modified Makefiles
+	cp "${FILESDIR}"/configure.ac-2.2 configure.ac
+	sed -i	-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
+		configure.ac || die "Sed failed for configure.ac"
+	eautoconf
+}
+
+src_configure() {
+	econf
+
+	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
+	# geohash-int can't be built with -std=c99 either
+	# also, don't define ANSI/c99 for lua twice
+	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/geohash-int/Makefile deps/Makefile || die
+}
+
+src_compile() {
+	tc-export CC AR RANLIB
+
+	local myconf=""
+
+	if use tcmalloc ; then
+		myconf="${myconf} USE_TCMALLOC=yes"
+	elif use jemalloc ; then
+		myconf="${myconf} JEMALLOC_SHARED=yes"
+	else
+		myconf="${myconf} MALLOC=yes"
+	fi
+
+	emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}"
+}
+
+src_install() {
+	insinto /etc/
+	doins redis.conf sentinel.conf
+	use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
+	fperms 0644 /etc/{redis,sentinel}.conf
+
+	newconfd "${FILESDIR}/redis.confd" redis
+	newinitd "${FILESDIR}/redis.initd-4" redis
+
+	systemd_newunit "${FILESDIR}/redis.service-2" redis.service
+	systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf
+
+	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
+
+	dobin src/redis-cli
+	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
+	fperms 0750 /usr/sbin/redis-benchmark
+	dosym /usr/sbin/redis-server /usr/sbin/redis-sentinel
+
+	if use prefix; then
+		diropts -m0750
+	else
+		diropts -m0750 -o redis -g redis
+	fi
+	keepdir /var/{log,lib}/redis
+}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/
@ 2016-11-18 23:25 Robin H. Johnson
  0 siblings, 0 replies; 17+ messages in thread
From: Robin H. Johnson @ 2016-11-18 23:25 UTC (permalink / raw
  To: gentoo-commits

commit:     30175f8d0e50d35a0924bf8ae6c0d4b4e7e4c559
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 18 23:17:48 2016 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Fri Nov 18 23:25:27 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=30175f8d

dev-db/redis: bump for bug #589044.

Package-Manager: portage-2.3.2

 dev-db/redis/Manifest                          |   1 +
 dev-db/redis/files/configure.ac-3.2            |  66 +++++++++++++
 dev-db/redis/files/redis-3.2.3-config.patch    |  40 ++++++++
 dev-db/redis/files/redis-3.2.3-sharedlua.patch |  60 ++++++++++++
 dev-db/redis/files/redis-3.2.5-shared.patch    |  30 ++++++
 dev-db/redis/metadata.xml                      |   1 +
 dev-db/redis/redis-3.2.5-r1.ebuild             | 123 ++++++++++++++++++++++++
 dev-db/redis/redis-3.2.5.ebuild                | 124 +++++++++++++++++++++++++
 8 files changed, 445 insertions(+)

diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index 36748f9..89e4aae 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -6,3 +6,4 @@ DIST redis-3.0.5.tar.gz 1366160 SHA256 4c176826eee909fbdc63db1c15adc22aab42d7580
 DIST redis-3.0.6.tar.gz 1372648 SHA256 6f1e1523194558480c3782d84d88c2decf08a8e4b930c56d4df038e565b75624 SHA512 cb29b2ed6db4a77ffafc27a94deb71b73332f4e05b63957ac870532a634d7aaf1df4225aec8bc3011322b6df35a7f0e7c3f3bb070e29aabd3dabdb5cfbb681d4 WHIRLPOOL ce0de5aa188d8c631456ea5bf6346357676eb8c5f0f6bc69a704f7d35559ec6a4f5c0e583e321f546fc91c6c51d0331065d64be601864e033ce7d47da002d71b
 DIST redis-3.0.7.tar.gz 1375200 SHA256 b2a791c4ea3bb7268795c45c6321ea5abcc24457178373e6a6e3be6372737f23 SHA512 6c8f4c88d911e1433fd28efff2f6d62763e08be89814ebf4aa4e68e2c8bd605eba24ca3410548b2f480ae094437ce96c0bafa7a5762b3b405d5d850886297ba3 WHIRLPOOL 53c2c967b999bbcb5b45117bbad74b46457158ad94e8c43566311dd3d58c63c2d0cc2dac5dc9e8806821c2532ee4beded17e039da4ddeae958e5a0092429ee3a
 DIST redis-3.2.0.tar.gz 1525900 SHA256 989f1af3dc0ac1828fdac48cd6c608f5a32a235046dddf823226f760c0fd8762 SHA512 02a046080d070a81d38f4e8868ae85ace2db26718fc292388a94fd8f0ac45fe071f1536b3197e22451f99848dcd110469005f84456b8455836b2779eeb554d49 WHIRLPOOL d12e1f1b5ffc4170844f007ee7e25ef893fd59872bff45f95d9702cc54e0847fc66816bfa22b67f89b0570c9da167a7311a2b27f959fcf8348bb129d647498ed
+DIST redis-3.2.5.tar.gz 1544040 SHA256 8509ceb1efd849d6b2346a72a8e926b5a4f6ed3cc7c3cd8d9f36b2e9ba085315 SHA512 4ecf6277c8fdf4411223b9f5a5c8308829da9bd756b45de5217d469e9def8faad8c05b6348c06aef99eca9245d45abfd52df056c3c819723da66a2ca20c381dd WHIRLPOOL db1eecac5e407734002d39cc16f708fcb1f506829df4dabda53bffc7012746a23ea2342cded4d90f39db72ba61eda349b80b4a3e4f1eba06dbaa6cad8c50264e

diff --git a/dev-db/redis/files/configure.ac-3.2 b/dev-db/redis/files/configure.ac-3.2
new file mode 100644
index 00000000..3e2cf92
--- /dev/null
+++ b/dev-db/redis/files/configure.ac-3.2
@@ -0,0 +1,66 @@
+#                                               -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.63)
+AC_INIT(redis, 3.2.3, antirez@gmail.com)
+AM_CFLAGS="-std=c99 -pedantic -Wall -W -D__EXTENSIONS__ -D_XPG6"
+if test x"$CFLAGS" = x""; then
+    AM_CFLAGS="$AM_CFLAGS -O2"
+else
+    AM_CFLAGS="$AM_CFLAGS $CFLAGS"
+fi
+
+# options
+AC_MSG_CHECKING([whether to build with debug information])
+AC_ARG_ENABLE([debug],
+    [AS_HELP_STRING([--enable-debug],
+        [enable debug data generation (def=no)])],
+    [debugit="$enableval"],
+    [debugit=no])
+AC_MSG_RESULT([$debugit])
+
+if test x"$debugit" = x"yes"; then
+    AC_DEFINE([DEBUG],[],[Debug Mode])
+    AM_CFLAGS="$AM_CFLAGS -g -rdynamic -ggdb"
+else
+    AC_DEFINE([NDEBUG],[],[No-debug Mode])
+fi
+AC_SUBST([AM_CFLAGS])
+
+# Checks for programs.
+AC_PROG_CC
+
+# Checks for libraries.
+
+# Checks for header files.
+AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h limits.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_HEADER_STDBOOL
+AC_C_INLINE
+AC_TYPE_INT16_T
+AC_TYPE_INT32_T
+AC_TYPE_OFF_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_TYPE_SSIZE_T
+AC_TYPE_UINT16_T
+AC_TYPE_UINT32_T
+
+# Checks for library functions.
+AC_FUNC_ERROR_AT_LINE
+AC_FUNC_FORK
+AC_FUNC_STRCOLL
+AC_FUNC_STRTOD
+AC_CHECK_FUNCS([dup2 gethostbyname gettimeofday inet_ntoa memchr memmove memset select socket strcasecmp strchr strerror strstr strtol])
+
+# Check for lua-5.1 or luajit
+AC_ARG_WITH([luajit],
+    AS_HELP_STRING([--with-luajit], [Use luajit instead of lua]))
+
+AS_IF([test "x$with_luajit" = "xyes"],
+      [PKG_CHECK_MODULES([LUA], [luajit >= 2], [], [AC_MSG_ERROR([luajit requested but not found])])],
+      [PKG_CHECK_MODULES([LUA], [lua5.1], [], [AC_MSG_ERROR([lua-5.1 required but not found])])])
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT

diff --git a/dev-db/redis/files/redis-3.2.3-config.patch b/dev-db/redis/files/redis-3.2.3-config.patch
new file mode 100644
index 00000000..541e254
--- /dev/null
+++ b/dev-db/redis/files/redis-3.2.3-config.patch
@@ -0,0 +1,40 @@
+diff --git a/redis.conf b/redis.conf
+index 22e00bc..b09de57 100644
+--- a/redis.conf
++++ b/redis.conf
+@@ -147,7 +147,7 @@ supervised no
+ #
+ # Creating a pid file is best effort: if Redis is not able to create it
+ # nothing bad happens, the server will start and run normally.
+-pidfile /var/run/redis_6379.pid
++pidfile /run/redis/redis.pid
+ 
+ # Specify the server verbosity level.
+ # This can be one of:
+@@ -160,7 +160,7 @@ loglevel notice
+ # Specify the log file name. Also the empty string can be used to force
+ # Redis to log on the standard output. Note that if you use standard
+ # output for logging but daemonize, logs will be sent to /dev/null
+-logfile ""
++logfile /var/log/redis/redis.log
+ 
+ # To enable logging to the system logger, just set 'syslog-enabled' to yes,
+ # and optionally update the other syslog parameters to suit your needs.
+@@ -244,7 +244,7 @@ dbfilename dump.rdb
+ # The Append Only File will also be created inside this directory.
+ #
+ # Note that you must specify a directory here, not a file name.
+-dir ./
++dir /var/lib/redis/
+ 
+ ################################# REPLICATION #################################
+ 
+@@ -534,7 +534,7 @@ slave-priority 100
+ # limit for maxmemory so that there is some free RAM on the system for slave
+ # output buffers (but this is not needed if the policy is 'noeviction').
+ #
+-# maxmemory <bytes>
++maxmemory 67108864
+ 
+ # MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
+ # is reached. You can select among five behaviors:

diff --git a/dev-db/redis/files/redis-3.2.3-sharedlua.patch b/dev-db/redis/files/redis-3.2.3-sharedlua.patch
new file mode 100644
index 00000000..52de904
--- /dev/null
+++ b/dev-db/redis/files/redis-3.2.3-sharedlua.patch
@@ -0,0 +1,60 @@
+diff --git a/deps/lua/src/lua_cjson.c b/deps/lua/src/lua_cjson.c
+index c26c0d7..fa50c41 100644
+--- a/deps/lua/src/lua_cjson.c
++++ b/deps/lua/src/lua_cjson.c
+@@ -46,7 +46,7 @@
+ #include "strbuf.h"
+ #include "fpconv.h"
+ 
+-#include "../../../src/solarisfixes.h"
++#include "solarisfixes.h"
+ 
+ #ifndef CJSON_MODNAME
+ #define CJSON_MODNAME   "cjson"
+diff --git a/src/Makefile b/src/Makefile
+index 648127a..1f96d98 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -15,7 +15,7 @@
+ release_hdr := $(shell sh -c './mkreleasehdr.sh')
+ uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
+ OPTIMIZATION?=-O2
+-DEPENDENCY_TARGETS=hiredis linenoise lua geohash-int
++DEPENDENCY_TARGETS=hiredis linenoise geohash-int
+ 
+ # Default settings
+ STD=-std=c99 -pedantic -DREDIS_STATIC=''
+@@ -56,6 +56,7 @@ endif
+ FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) -I../deps/geohash-int
+ FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
+ FINAL_LIBS=-lm
++FINAL_LIBS+=@LUA_LIBS@
+ DEBUG=-g -ggdb
+ 
+ ifeq ($(uname_S),SunOS)
+@@ -80,7 +81,7 @@ endif
+ 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 @LUA_CFLAGS@
+ 
+ ifeq ($(MALLOC),tcmalloc)
+ 	FINAL_CFLAGS+= -DUSE_TCMALLOC
+@@ -118,6 +119,7 @@ endif
+ 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+=fpconv.o strbuf.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.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 +174,7 @@ endif
+ 
+ # 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-sentinel
+ $(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME)

diff --git a/dev-db/redis/files/redis-3.2.5-shared.patch b/dev-db/redis/files/redis-3.2.5-shared.patch
new file mode 100644
index 00000000..7ebff12
--- /dev/null
+++ b/dev-db/redis/files/redis-3.2.5-shared.patch
@@ -0,0 +1,30 @@
+diff --git a/src/Makefile b/src/Makefile
+index fdbe36a..df224ae 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -26,12 +26,7 @@ PREFIX?=/usr/local
+ INSTALL_BIN=$(PREFIX)/bin
+ INSTALL=install
+ 
+-# Default allocator
+-ifeq ($(uname_S),Linux)
+-	MALLOC=jemalloc
+-else
+-	MALLOC=libc
+-endif
++MALLOC?=jemalloc
+ 
+ # Backwards compatibility for selecting an allocator
+ ifeq ($(USE_TCMALLOC),yes)
+@@ -103,9 +98,8 @@ ifeq ($(MALLOC),tcmalloc_minimal)
+ endif
+ 
+ ifeq ($(MALLOC),jemalloc)
+-	DEPENDENCY_TARGETS+= jemalloc
+-	FINAL_CFLAGS+= -DUSE_JEMALLOC -I../deps/jemalloc/include
+-	FINAL_LIBS+= ../deps/jemalloc/lib/libjemalloc.a
++	FINAL_CFLAGS+= -DUSE_JEMALLOC -DJEMALLOC_NO_DEMANGLE
++	FINAL_LIBS+= -ljemalloc -ldl
+ endif
+ 
+ REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS)

diff --git a/dev-db/redis/metadata.xml b/dev-db/redis/metadata.xml
index 4f794b0..c88bca0 100644
--- a/dev-db/redis/metadata.xml
+++ b/dev-db/redis/metadata.xml
@@ -23,5 +23,6 @@
     <flag name="tcmalloc">
       Use tcmalloc from <pkg>dev-util/google-perftools</pkg> for allocations.
     </flag>
+    <flag name="luajit">Use <pkg>dev-lang/luajit</pkg> instead of <pkg>dev-lang/lua</pkg></flag>
   </use>
 </pkgmetadata>

diff --git a/dev-db/redis/redis-3.2.5-r1.ebuild b/dev-db/redis/redis-3.2.5-r1.ebuild
new file mode 100644
index 00000000..242525a
--- /dev/null
+++ b/dev-db/redis/redis-3.2.5-r1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools eutils flag-o-matic systemd toolchain-funcs user
+
+DESCRIPTION="A persistent caching system, key-value and data structures database"
+HOMEPAGE="http://redis.io/"
+SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
+IUSE="+jemalloc tcmalloc luajit test"
+SLOT="0"
+
+RDEPEND="luajit? ( dev-lang/luajit:2 )
+	!luajit? ( dev-lang/lua:5.1 )
+	tcmalloc? ( dev-util/google-perftools )
+	jemalloc? ( >=dev-libs/jemalloc-3.2 )"
+DEPEND="virtual/pkgconfig
+	>=sys-devel/autoconf-2.63
+	test? ( dev-lang/tcl:0= )
+	${RDEPEND}"
+REQUIRED_USE="?? ( tcmalloc jemalloc )"
+
+S="${WORKDIR}/${PN}-${PV/_/-}"
+
+pkg_setup() {
+	enewgroup redis 75
+	enewuser redis 75 -1 /var/lib/redis redis
+}
+
+src_prepare() {
+	epatch \
+		"${FILESDIR}"/${PN}-3.2.5-shared.patch \
+		"${FILESDIR}"/${PN}-3.2.3-config.patch \
+		"${FILESDIR}"/${PN}-3.2.3-sharedlua.patch
+	eapply_user
+
+	# Copy lua modules into build dir
+	cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
+	cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
+	# Append cflag for lua_cjson
+	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+	append-cflags "-DENABLE_CJSON_GLOBAL"
+
+	# now we will rewrite present Makefiles
+	local makefiles=""
+	for MKF in $(find -name 'Makefile' | cut -b 3-); do
+		mv "${MKF}" "${MKF}.in"
+		sed -i	-e 's:$(CC):@CC@:g' \
+			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+			-e 's: $(DEBUG)::g' \
+			-e 's:$(OBJARCH)::g' \
+			-e 's:ARCH:TARCH:g' \
+			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+			"${MKF}.in" \
+		|| die "Sed failed for ${MKF}"
+		makefiles+=" ${MKF}"
+	done
+	# autodetection of compiler and settings; generates the modified Makefiles
+	cp "${FILESDIR}"/configure.ac-3.2 configure.ac
+	sed -i	\
+		-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
+		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
+		configure.ac || die "Sed failed for configure.ac"
+	eautoreconf
+}
+
+src_configure() {
+	econf \
+		$(use_with luajit)
+
+	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
+	# geohash-int can't be built with -std=c99 either
+	# also, don't define ANSI/c99 for lua twice
+	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/geohash-int/Makefile deps/Makefile || die
+}
+
+src_compile() {
+	tc-export CC AR RANLIB
+
+	local myconf=""
+
+	if use tcmalloc ; then
+		myconf="${myconf} USE_TCMALLOC=yes"
+	elif use jemalloc ; then
+		myconf="${myconf} JEMALLOC_SHARED=yes"
+	else
+		myconf="${myconf} MALLOC=yes"
+	fi
+
+	emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}"
+}
+
+src_install() {
+	insinto /etc/
+	doins redis.conf sentinel.conf
+	use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
+	fperms 0644 /etc/{redis,sentinel}.conf
+
+	newconfd "${FILESDIR}/redis.confd" redis
+	newinitd "${FILESDIR}/redis.initd-4" redis
+
+	systemd_newunit "${FILESDIR}/redis.service-2" redis.service
+	systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf
+
+	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
+
+	dobin src/redis-cli
+	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
+	fperms 0750 /usr/sbin/redis-benchmark
+	dosym /usr/sbin/redis-server /usr/sbin/redis-sentinel
+
+	if use prefix; then
+		diropts -m0750
+	else
+		diropts -m0750 -o redis -g redis
+	fi
+	keepdir /var/{log,lib}/redis
+}

diff --git a/dev-db/redis/redis-3.2.5.ebuild b/dev-db/redis/redis-3.2.5.ebuild
new file mode 100644
index 00000000..5434093
--- /dev/null
+++ b/dev-db/redis/redis-3.2.5.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools eutils flag-o-matic systemd toolchain-funcs user
+
+DESCRIPTION="A persistent caching system, key-value and data structures database"
+HOMEPAGE="http://redis.io/"
+SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
+IUSE="+jemalloc tcmalloc luajit test"
+SLOT="0"
+
+RDEPEND="luajit? ( dev-lang/luajit:2 )
+	!luajit? ( >=dev-lang/lua-5.1:* )
+	tcmalloc? ( dev-util/google-perftools )
+	jemalloc? ( >=dev-libs/jemalloc-3.2 )"
+DEPEND="virtual/pkgconfig
+	>=sys-devel/autoconf-2.63
+	test? ( dev-lang/tcl:0= )
+	${RDEPEND}"
+REQUIRED_USE="?? ( tcmalloc jemalloc )"
+
+S="${WORKDIR}/${PN}-${PV/_/-}"
+
+pkg_setup() {
+	enewgroup redis 75
+	enewuser redis 75 -1 /var/lib/redis redis
+}
+
+src_prepare() {
+	epatch \
+		"${FILESDIR}"/${PN}-3.2.5-shared.patch \
+		"${FILESDIR}"/${PN}-3.2.3-config.patch \
+		"${FILESDIR}"/${PN}-3.2.3-sharedlua.patch
+	eapply_user
+
+	# Copy lua modules into build dir
+	cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
+	cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
+	# Append cflag for lua_cjson
+	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+	append-cflags "-DENABLE_CJSON_GLOBAL"
+
+	# now we will rewrite present Makefiles
+	local makefiles=""
+	for MKF in $(find -name 'Makefile' | cut -b 3-); do
+		mv "${MKF}" "${MKF}.in"
+		sed -i	-e 's:$(CC):@CC@:g' \
+			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+			-e 's: $(DEBUG)::g' \
+			-e 's:$(OBJARCH)::g' \
+			-e 's:ARCH:TARCH:g' \
+			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+			"${MKF}.in" \
+		|| die "Sed failed for ${MKF}"
+		makefiles+=" ${MKF}"
+	done
+	# autodetection of compiler and settings; generates the modified Makefiles
+	cp "${FILESDIR}"/configure.ac-3.2 configure.ac
+	sed -i	\
+		-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
+		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
+		-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,lua,g" \
+		configure.ac || die "Sed failed for configure.ac"
+	eautoreconf
+}
+
+src_configure() {
+	econf \
+		$(use_with luajit)
+
+	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
+	# geohash-int can't be built with -std=c99 either
+	# also, don't define ANSI/c99 for lua twice
+	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/geohash-int/Makefile deps/Makefile || die
+}
+
+src_compile() {
+	tc-export CC AR RANLIB
+
+	local myconf=""
+
+	if use tcmalloc ; then
+		myconf="${myconf} USE_TCMALLOC=yes"
+	elif use jemalloc ; then
+		myconf="${myconf} JEMALLOC_SHARED=yes"
+	else
+		myconf="${myconf} MALLOC=yes"
+	fi
+
+	emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}"
+}
+
+src_install() {
+	insinto /etc/
+	doins redis.conf sentinel.conf
+	use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
+	fperms 0644 /etc/{redis,sentinel}.conf
+
+	newconfd "${FILESDIR}/redis.confd" redis
+	newinitd "${FILESDIR}/redis.initd-4" redis
+
+	systemd_newunit "${FILESDIR}/redis.service-2" redis.service
+	systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf
+
+	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
+
+	dobin src/redis-cli
+	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
+	fperms 0750 /usr/sbin/redis-benchmark
+	dosym /usr/sbin/redis-server /usr/sbin/redis-sentinel
+
+	if use prefix; then
+		diropts -m0750
+	else
+		diropts -m0750 -o redis -g redis
+	fi
+	keepdir /var/{log,lib}/redis
+}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/
@ 2017-02-10 13:09 Alexys Jacob
  0 siblings, 0 replies; 17+ messages in thread
From: Alexys Jacob @ 2017-02-10 13:09 UTC (permalink / raw
  To: gentoo-commits

commit:     41b9d561263e88d302fd0c2266954334864fe7ba
Author:     Ultrabug <ultrabug <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 10 13:09:01 2017 +0000
Commit:     Alexys Jacob <ultrabug <AT> gentoo <DOT> org>
CommitDate: Fri Feb 10 13:09:01 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41b9d561

dev-db/redis: cleanup old and vulnerable wrt #565188

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 dev-db/redis/Manifest                           |   3 -
 dev-db/redis/files/redis-2.8.13-sharedlua.patch |  44 ---------
 dev-db/redis/files/redis-2.8.19-sharedlua.patch |  44 ---------
 dev-db/redis/redis-2.8.17-r1.ebuild             | 112 ----------------------
 dev-db/redis/redis-2.8.23.ebuild                | 120 ------------------------
 dev-db/redis/redis-3.0.4.ebuild                 | 116 -----------------------
 6 files changed, 439 deletions(-)

diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index 0568d9acc4..8ae7bceb23 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -1,6 +1,3 @@
-DIST redis-2.8.17.tar.gz 1234543 SHA256 53c7cc639571729fa57d7baa7f81aec1d5886f86bac9c66f6ad06dbdaee236a7 SHA512 29515abd4437e03da20063a1831f0eb11ac65ba9d51cbfbb1987726102e3a55c76a3286b8c9a3bfbaf5290998fb5b662ef4aadbe0d131cd60824c8533e088441 WHIRLPOOL 22eb01f8100a07178352e397f4342d44f478aadda7a0a7bdfa9a08d8cfa1578ac6e98ba0cce0a9828cc226364d9a7995d86bc78adfc73476c04868639307be30
-DIST redis-2.8.23.tar.gz 1265194 SHA256 f3c79778f478a01237035b67edaaa19332e5624dfa849d66815a4328d3e95ace SHA512 ab27d5f4da3a1a03f513dd6e731517b59c8857961599651f51ced29138c907e3968390d2a473e26690d8ada6808cff1b948999ed171e9826cad8449031fc39ce WHIRLPOOL e18e5caf086c41743642d817b69ce7d923505ebb90373c7b8ccac5990bfa1972e264292e3d78310e84378b958c0ab818d208349763ab43eb9cfc05030755a6f5
-DIST redis-3.0.4.tar.gz 1364993 SHA256 a35e90ad581925134aa0fc92e969cc825f5cdee8e13c36a87d4d6995316112cf SHA512 7d8d681222892c759e7c3809203522a96a547457e0ff123cca296bac911395c7d8c1ded06331ae5cb487b87d0adcbaa02aa12c2dd724196a7b86111e236b023a WHIRLPOOL e12f7751e3e25068a25c02990d0e8416cedc152f66b5e9e1e47ae91f10a0d543b96ad456a4eb7fe16cb92ed46a0cc2fee65954207b354b9c211f425191a6c388
 DIST redis-3.0.7.tar.gz 1375200 SHA256 b2a791c4ea3bb7268795c45c6321ea5abcc24457178373e6a6e3be6372737f23 SHA512 6c8f4c88d911e1433fd28efff2f6d62763e08be89814ebf4aa4e68e2c8bd605eba24ca3410548b2f480ae094437ce96c0bafa7a5762b3b405d5d850886297ba3 WHIRLPOOL 53c2c967b999bbcb5b45117bbad74b46457158ad94e8c43566311dd3d58c63c2d0cc2dac5dc9e8806821c2532ee4beded17e039da4ddeae958e5a0092429ee3a
 DIST redis-3.2.5.tar.gz 1544040 SHA256 8509ceb1efd849d6b2346a72a8e926b5a4f6ed3cc7c3cd8d9f36b2e9ba085315 SHA512 4ecf6277c8fdf4411223b9f5a5c8308829da9bd756b45de5217d469e9def8faad8c05b6348c06aef99eca9245d45abfd52df056c3c819723da66a2ca20c381dd WHIRLPOOL db1eecac5e407734002d39cc16f708fcb1f506829df4dabda53bffc7012746a23ea2342cded4d90f39db72ba61eda349b80b4a3e4f1eba06dbaa6cad8c50264e
 DIST redis-3.2.6.tar.gz 1544806 SHA256 2e1831c5a315e400d72bda4beaa98c0cfbe3f4eb8b20c269371634390cf729fa SHA512 15f2e55a7cc56e7e652a3a8d344fceb6d0d33cf53caa81854e6b1977ec68f7e92ac06d0d66999bfc577f185eba19e0927a81014bdb5cd484eecb080b6a6e16bc WHIRLPOOL a3dd92e565cdfbc65bfccd452efde8fc4124ede1133ca74a30c69f68eb5021b5fb1bbc7dc30d3ea9993c42bc9c4ce2716564329bd5be142a5764a9ab807a9d14

diff --git a/dev-db/redis/files/redis-2.8.13-sharedlua.patch b/dev-db/redis/files/redis-2.8.13-sharedlua.patch
deleted file mode 100644
index e13c62f07a..0000000000
--- a/dev-db/redis/files/redis-2.8.13-sharedlua.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-commit de0d4973ddb629dcc80f0724769a0e997fe644ba
-Author: Johan Bergström <bugs@bergstroem.nu>
-Date:   Wed Jul 16 09:47:44 2014 +1000
-
-    Use a shared lua
-
-diff --git src/Makefile src/Makefile
-index 134694c..a09832e 100644
---- src/Makefile
-+++ src/Makefile
-@@ -15,7 +15,7 @@
- release_hdr := $(shell sh -c './mkreleasehdr.sh')
- uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
- OPTIMIZATION?=-O2
--DEPENDENCY_TARGETS=hiredis linenoise lua
-+DEPENDENCY_TARGETS=hiredis linenoise
-
- # Default settings
- STD=-std=c99 -pedantic
-@@ -52,6 +52,7 @@ endif
- FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
- FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
- FINAL_LIBS=-lm
-+FINAL_LIBS+=$(shell pkg-config --libs lua)
- DEBUG=-g -ggdb
-
- ifeq ($(uname_S),SunOS)
-@@ -108,6 +109,7 @@ endif
- REDIS_SERVER_NAME=redis-server
- REDIS_SENTINEL_NAME=redis-sentinel
- REDIS_SERVER_OBJ=adlist.o ae.o anet.o dict.o redis.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 migrate.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 hyperloglog.o latency.o sparkline.o
-+REDIS_SERVER_OBJ+=lua_cjson.o lua_cmsgpack.o lua_struct.o strbuf.o
- REDIS_CLI_NAME=redis-cli
- REDIS_CLI_OBJ=anet.o sds.o adlist.o redis-cli.o zmalloc.o release.o anet.o ae.o crc64.o
- REDIS_BENCHMARK_NAME=redis-benchmark
-@@ -162,7 +164,7 @@ endif
-
- # redis-server
- $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ)
--	$(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)

diff --git a/dev-db/redis/files/redis-2.8.19-sharedlua.patch b/dev-db/redis/files/redis-2.8.19-sharedlua.patch
deleted file mode 100644
index 2e45cf2b31..0000000000
--- a/dev-db/redis/files/redis-2.8.19-sharedlua.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-commit de0d4973ddb629dcc80f0724769a0e997fe644ba
-Author: Johan Bergström <bugs@bergstroem.nu>
-Date:   Wed Jul 16 09:47:44 2014 +1000
-
-    Use a shared lua
-
-diff --git src/Makefile src/Makefile
-index 134694c..a09832e 100644
---- src/Makefile
-+++ src/Makefile
-@@ -15,7 +15,7 @@
- release_hdr := $(shell sh -c './mkreleasehdr.sh')
- uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
- OPTIMIZATION?=-O2
--DEPENDENCY_TARGETS=hiredis linenoise lua
-+DEPENDENCY_TARGETS=hiredis linenoise
-
- # Default settings
- STD=-std=c99 -pedantic
-@@ -52,6 +52,7 @@ endif
- FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
- FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
- FINAL_LIBS=-lm
-+FINAL_LIBS+=$(shell pkg-config --libs lua)
- DEBUG=-g -ggdb
-
- ifeq ($(uname_S),SunOS)
-@@ -108,6 +109,7 @@ endif
- REDIS_SERVER_NAME=redis-server
- REDIS_SENTINEL_NAME=redis-sentinel
- REDIS_SERVER_OBJ=adlist.o ae.o anet.o dict.o redis.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 migrate.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 hyperloglog.o latency.o sparkline.o
-+REDIS_SERVER_OBJ+=fpconv.o strbuf.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o
- REDIS_CLI_NAME=redis-cli
- REDIS_CLI_OBJ=anet.o sds.o adlist.o redis-cli.o zmalloc.o release.o anet.o ae.o crc64.o
- REDIS_BENCHMARK_NAME=redis-benchmark
-@@ -162,7 +164,7 @@ endif
-
- # redis-server
- $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ)
--	$(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)

diff --git a/dev-db/redis/redis-2.8.17-r1.ebuild b/dev-db/redis/redis-2.8.17-r1.ebuild
deleted file mode 100644
index abca93d056..0000000000
--- a/dev-db/redis/redis-2.8.17-r1.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools eutils flag-o-matic systemd toolchain-funcs user
-
-DESCRIPTION="A persistent caching system, key-value and data structures database"
-HOMEPAGE="http://redis.io/"
-SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD"
-KEYWORDS="amd64 ~hppa x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
-IUSE="+jemalloc tcmalloc test"
-SLOT="0"
-
-RDEPEND=">=dev-lang/lua-5.1:0
-	tcmalloc? ( dev-util/google-perftools )
-	jemalloc? ( >=dev-libs/jemalloc-3.2 )"
-DEPEND="virtual/pkgconfig
-	>=sys-devel/autoconf-2.63
-	test? ( dev-lang/tcl:0= )
-	${RDEPEND}"
-REQUIRED_USE="?? ( tcmalloc jemalloc )"
-
-S="${WORKDIR}/${PN}-${PV/_/-}"
-
-pkg_setup() {
-	enewgroup redis 75
-	enewuser redis 75 -1 /var/lib/redis redis
-}
-
-src_prepare() {
-	epatch "${FILESDIR}"/${PN}-2.8.3-shared.patch
-	epatch "${FILESDIR}"/${PN}-2.8.17-config.patch
-	epatch "${FILESDIR}"/${PN}-2.8.13-sharedlua.patch
-
-	# Copy lua modules into build dir
-	cp "${S}"/deps/lua/src/{lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
-
-	# now we will rewrite present Makefiles
-	local makefiles=""
-	for MKF in $(find -name 'Makefile' | cut -b 3-); do
-		mv "${MKF}" "${MKF}.in"
-		sed -i	-e 's:$(CC):@CC@:g' \
-			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
-			-e 's: $(DEBUG)::g' \
-			-e 's:$(OBJARCH)::g' \
-			-e 's:ARCH:TARCH:g' \
-			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
-			"${MKF}.in" \
-		|| die "Sed failed for ${MKF}"
-		makefiles+=" ${MKF}"
-	done
-	# autodetection of compiler and settings; generates the modified Makefiles
-	cp "${FILESDIR}"/configure.ac-2.2 configure.ac
-	sed -i	-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
-		configure.ac || die "Sed failed for configure.ac"
-	eautoconf
-}
-
-src_configure() {
-	econf
-
-	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
-	# also, don't define ANSI/c99 for lua twice
-	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
-	tc-export CC AR RANLIB
-
-	local myconf=""
-
-	if use tcmalloc ; then
-		myconf="${myconf} USE_TCMALLOC=yes"
-	elif use jemalloc ; then
-		myconf="${myconf} JEMALLOC_SHARED=yes"
-	else
-		myconf="${myconf} MALLOC=yes"
-	fi
-
-	emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}"
-}
-
-src_install() {
-	insinto /etc/
-	doins redis.conf sentinel.conf
-	use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
-	fperms 0644 /etc/{redis,sentinel}.conf
-
-	newconfd "${FILESDIR}/redis.confd" redis
-	newinitd "${FILESDIR}/redis.initd-4" redis
-
-	systemd_dounit "${FILESDIR}/redis.service"
-	systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf
-
-	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README
-
-	dobin src/redis-cli
-	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-dump
-	fperms 0750 /usr/sbin/redis-benchmark
-	dosym /usr/sbin/redis-server /usr/sbin/redis-sentinel
-
-	if use prefix; then
-		diropts -m0750
-	else
-		diropts -m0750 -o redis -g redis
-	fi
-	keepdir /var/{log,lib}/redis
-}

diff --git a/dev-db/redis/redis-2.8.23.ebuild b/dev-db/redis/redis-2.8.23.ebuild
deleted file mode 100644
index cf195902c9..0000000000
--- a/dev-db/redis/redis-2.8.23.ebuild
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools eutils flag-o-matic systemd toolchain-funcs user
-
-DESCRIPTION="A persistent caching system, key-value and data structures database"
-HOMEPAGE="http://redis.io/"
-SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD"
-KEYWORDS="~amd64 ~amd64-linux ~hppa ~x86 ~x86-linux ~x86-macos ~x86-solaris"
-IUSE="+jemalloc tcmalloc test"
-SLOT="0"
-
-RDEPEND=">=dev-lang/lua-5.1:*
-	tcmalloc? ( dev-util/google-perftools )
-	jemalloc? ( >=dev-libs/jemalloc-3.2 )"
-DEPEND="virtual/pkgconfig
-	>=sys-devel/autoconf-2.63
-	test? ( dev-lang/tcl:0= )
-	${RDEPEND}"
-REQUIRED_USE="?? ( tcmalloc jemalloc )"
-
-S="${WORKDIR}/${PN}-${PV/_/-}"
-
-pkg_setup() {
-	enewgroup redis 75
-	enewuser redis 75 -1 /var/lib/redis redis
-}
-
-src_prepare() {
-	epatch "${FILESDIR}"/${PN}-2.8.3-shared.patch
-	epatch "${FILESDIR}"/${PN}-2.8.17-config.patch
-	epatch "${FILESDIR}"/${PN}-2.8.19-sharedlua.patch
-
-	# Copy lua modules into build dir
-	cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
-	cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
-	# Append cflag for lua_cjson
-	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
-	append-cflags "-DENABLE_CJSON_GLOBAL"
-
-	# Avoid glibc noise
-	# https://github.com/antirez/redis/pull/2189
-	[[ ${CHOST} == *linux* ]] && append-cflags "-D_DEFAULT_SOURCE"
-
-	# now we will rewrite present Makefiles
-	local makefiles=""
-	for MKF in $(find -name 'Makefile' | cut -b 3-); do
-		mv "${MKF}" "${MKF}.in"
-		sed -i	-e 's:$(CC):@CC@:g' \
-			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
-			-e 's: $(DEBUG)::g' \
-			-e 's:$(OBJARCH)::g' \
-			-e 's:ARCH:TARCH:g' \
-			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
-			"${MKF}.in" \
-		|| die "Sed failed for ${MKF}"
-		makefiles+=" ${MKF}"
-	done
-	# autodetection of compiler and settings; generates the modified Makefiles
-	cp "${FILESDIR}"/configure.ac-2.2 configure.ac
-	sed -i	-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
-		configure.ac || die "Sed failed for configure.ac"
-	eautoconf
-}
-
-src_configure() {
-	econf
-
-	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
-	# also, don't define ANSI/c99 for lua twice
-	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
-	tc-export CC AR RANLIB
-
-	local myconf=""
-
-	if use tcmalloc ; then
-		myconf="${myconf} USE_TCMALLOC=yes"
-	elif use jemalloc ; then
-		myconf="${myconf} JEMALLOC_SHARED=yes"
-	else
-		myconf="${myconf} MALLOC=yes"
-	fi
-
-	emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}"
-}
-
-src_install() {
-	insinto /etc/
-	doins redis.conf sentinel.conf
-	use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
-	fperms 0644 /etc/{redis,sentinel}.conf
-
-	newconfd "${FILESDIR}/redis.confd" redis
-	newinitd "${FILESDIR}/redis.initd-4" redis
-
-	systemd_newunit "${FILESDIR}/redis.service-2" redis.service
-	systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf
-
-	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README
-
-	dobin src/redis-cli
-	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-dump
-	fperms 0750 /usr/sbin/redis-benchmark
-	dosym /usr/sbin/redis-server /usr/sbin/redis-sentinel
-
-	if use prefix; then
-		diropts -m0750
-	else
-		diropts -m0750 -o redis -g redis
-	fi
-	keepdir /var/{log,lib}/redis
-}

diff --git a/dev-db/redis/redis-3.0.4.ebuild b/dev-db/redis/redis-3.0.4.ebuild
deleted file mode 100644
index 5d5082b2f7..0000000000
--- a/dev-db/redis/redis-3.0.4.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools eutils flag-o-matic systemd toolchain-funcs user
-
-DESCRIPTION="A persistent caching system, key-value and data structures database"
-HOMEPAGE="http://redis.io/"
-SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD"
-KEYWORDS="amd64 ~arm hppa ~ppc ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
-IUSE="+jemalloc tcmalloc test"
-SLOT="0"
-
-RDEPEND=">=dev-lang/lua-5.1:*
-	tcmalloc? ( dev-util/google-perftools )
-	jemalloc? ( >=dev-libs/jemalloc-3.2 )"
-DEPEND="virtual/pkgconfig
-	>=sys-devel/autoconf-2.63
-	test? ( dev-lang/tcl:0= )
-	${RDEPEND}"
-REQUIRED_USE="?? ( tcmalloc jemalloc )"
-
-S="${WORKDIR}/${PN}-${PV/_/-}"
-
-pkg_setup() {
-	enewgroup redis 75
-	enewuser redis 75 -1 /var/lib/redis redis
-}
-
-src_prepare() {
-	epatch "${FILESDIR}"/${PN}-2.8.3-shared.patch
-	epatch "${FILESDIR}"/${PN}-2.8.17-config.patch
-	epatch "${FILESDIR}"/${PN}-3.0.0-sharedlua.patch
-
-	# Copy lua modules into build dir
-	cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
-	cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
-	# Append cflag for lua_cjson
-	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
-	append-cflags "-DENABLE_CJSON_GLOBAL"
-
-	# now we will rewrite present Makefiles
-	local makefiles=""
-	for MKF in $(find -name 'Makefile' | cut -b 3-); do
-		mv "${MKF}" "${MKF}.in"
-		sed -i	-e 's:$(CC):@CC@:g' \
-			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
-			-e 's: $(DEBUG)::g' \
-			-e 's:$(OBJARCH)::g' \
-			-e 's:ARCH:TARCH:g' \
-			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
-			"${MKF}.in" \
-		|| die "Sed failed for ${MKF}"
-		makefiles+=" ${MKF}"
-	done
-	# autodetection of compiler and settings; generates the modified Makefiles
-	cp "${FILESDIR}"/configure.ac-2.2 configure.ac
-	sed -i	-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
-		configure.ac || die "Sed failed for configure.ac"
-	eautoconf
-}
-
-src_configure() {
-	econf
-
-	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
-	# also, don't define ANSI/c99 for lua twice
-	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
-	tc-export CC AR RANLIB
-
-	local myconf=""
-
-	if use tcmalloc ; then
-		myconf="${myconf} USE_TCMALLOC=yes"
-	elif use jemalloc ; then
-		myconf="${myconf} JEMALLOC_SHARED=yes"
-	else
-		myconf="${myconf} MALLOC=yes"
-	fi
-
-	emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}"
-}
-
-src_install() {
-	insinto /etc/
-	doins redis.conf sentinel.conf
-	use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
-	fperms 0644 /etc/{redis,sentinel}.conf
-
-	newconfd "${FILESDIR}/redis.confd" redis
-	newinitd "${FILESDIR}/redis.initd-4" redis
-
-	systemd_newunit "${FILESDIR}/redis.service-2" redis.service
-	systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf
-
-	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README
-
-	dobin src/redis-cli
-	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-dump
-	fperms 0750 /usr/sbin/redis-benchmark
-	dosym /usr/sbin/redis-server /usr/sbin/redis-sentinel
-
-	if use prefix; then
-		diropts -m0750
-	else
-		diropts -m0750 -o redis -g redis
-	fi
-	keepdir /var/{log,lib}/redis
-}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/
@ 2017-08-16 22:39 Robin H. Johnson
  0 siblings, 0 replies; 17+ messages in thread
From: Robin H. Johnson @ 2017-08-16 22:39 UTC (permalink / raw
  To: gentoo-commits

commit:     8e47a75c9f108787156127127368da681c8241d6
Author:     Tomas Mozes <hydrapolic <AT> gmail <DOT> com>
AuthorDate: Tue Aug 15 14:12:25 2017 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Wed Aug 16 22:39:16 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8e47a75c

dev-db/redis: bump to 4.0.1

Fixes: https://github.com/gentoo/gentoo/pull/5429
Package-Manager: Portage-2.3.7, Repoman-2.3.2
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

 dev-db/redis/Manifest                          |   1 +
 dev-db/redis/files/redis-4.0.1-shared.patch    |  32 +++++++
 dev-db/redis/files/redis-4.0.1-sharedlua.patch |  60 ++++++++++++
 dev-db/redis/redis-4.0.1.ebuild                | 122 +++++++++++++++++++++++++
 4 files changed, 215 insertions(+)

diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index b6d97a7ef1c..a3318518cfb 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -2,3 +2,4 @@ DIST redis-3.0.7.tar.gz 1375200 SHA256 b2a791c4ea3bb7268795c45c6321ea5abcc244571
 DIST redis-3.2.5.tar.gz 1544040 SHA256 8509ceb1efd849d6b2346a72a8e926b5a4f6ed3cc7c3cd8d9f36b2e9ba085315 SHA512 4ecf6277c8fdf4411223b9f5a5c8308829da9bd756b45de5217d469e9def8faad8c05b6348c06aef99eca9245d45abfd52df056c3c819723da66a2ca20c381dd WHIRLPOOL db1eecac5e407734002d39cc16f708fcb1f506829df4dabda53bffc7012746a23ea2342cded4d90f39db72ba61eda349b80b4a3e4f1eba06dbaa6cad8c50264e
 DIST redis-3.2.6.tar.gz 1544806 SHA256 2e1831c5a315e400d72bda4beaa98c0cfbe3f4eb8b20c269371634390cf729fa SHA512 15f2e55a7cc56e7e652a3a8d344fceb6d0d33cf53caa81854e6b1977ec68f7e92ac06d0d66999bfc577f185eba19e0927a81014bdb5cd484eecb080b6a6e16bc WHIRLPOOL a3dd92e565cdfbc65bfccd452efde8fc4124ede1133ca74a30c69f68eb5021b5fb1bbc7dc30d3ea9993c42bc9c4ce2716564329bd5be142a5764a9ab807a9d14
 DIST redis-3.2.8.tar.gz 1547237 SHA256 61b373c23d18e6cc752a69d5ab7f676c6216dc2853e46750a8c4ed791d68482c SHA512 7334faf73af3644f7f9dcaddd322955d5df1e88a1640b509ae623f322615a20f6dc143eb57dd89ff3a278557df309ac4215c3fb458235682ce28e16c817068ba WHIRLPOOL 50ffecd1891051a3e28028065bfaf090b2eec42a757cdf61c6d22b051c8ba4fc78809b3198182d2333bedb4715d9a8d70bf04f605030abe6e33cc6b9b7161cf7
+DIST redis-4.0.1.tar.gz 1711660 SHA256 2049cd6ae9167f258705081a6ef23bb80b7eff9ff3d0d7481e89510f27457591 SHA512 62dec537aebd12340b9642f5f8b07fd98757c9e648dcd539a0411f207db3495923c5a6a9941036c56b2d574ee38b46d08558668111e322345ef549f93fada26f WHIRLPOOL 90b6a7a81e6d5302a28c49a8a1ea479f80f7924eb2f69d0b17d48cf15c9ba769a8ef425ae9bec44d3cbd81816b43fe7997adeb73caa6d2b64f7657e60cb2fb82

diff --git a/dev-db/redis/files/redis-4.0.1-shared.patch b/dev-db/redis/files/redis-4.0.1-shared.patch
new file mode 100644
index 00000000000..945d114ae2f
--- /dev/null
+++ b/dev-db/redis/files/redis-4.0.1-shared.patch
@@ -0,0 +1,32 @@
+diff --git a/src/Makefile b/src/Makefile
+index 86e0b3fe..c7db0ee9 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -29,14 +29,7 @@ INSTALL_BIN=$(PREFIX)/bin
+ INSTALL=install
+ 
+ # Default allocator defaults to Jemalloc if it's not an ARM
+-MALLOC=libc
+-ifneq ($(uname_M),armv6l)
+-ifneq ($(uname_M),armv7l)
+-ifeq ($(uname_S),Linux)
+-	MALLOC=jemalloc
+-endif
+-endif
+-endif
++MALLOC?=jemalloc
+ 
+ # To get ARM stack traces if Redis crashes we need a special C flag.
+ ifneq (,$(findstring armv,$(uname_M)))
+@@ -120,9 +113,8 @@ ifeq ($(MALLOC),tcmalloc_minimal)
+ endif
+ 
+ ifeq ($(MALLOC),jemalloc)
+-	DEPENDENCY_TARGETS+= jemalloc
+-	FINAL_CFLAGS+= -DUSE_JEMALLOC -I../deps/jemalloc/include
+-	FINAL_LIBS+= ../deps/jemalloc/lib/libjemalloc.a
++	FINAL_CFLAGS+= -DUSE_JEMALLOC -DJEMALLOC_NO_DEMANGLE
++	FINAL_LIBS+= -ljemalloc -ldl
+ endif
+ 
+ REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS)

diff --git a/dev-db/redis/files/redis-4.0.1-sharedlua.patch b/dev-db/redis/files/redis-4.0.1-sharedlua.patch
new file mode 100644
index 00000000000..d2b572250e8
--- /dev/null
+++ b/dev-db/redis/files/redis-4.0.1-sharedlua.patch
@@ -0,0 +1,60 @@
+diff --git a/deps/lua/src/lua_cjson.c b/deps/lua/src/lua_cjson.c
+index c26c0d7b..fa50c410 100644
+--- a/deps/lua/src/lua_cjson.c
++++ b/deps/lua/src/lua_cjson.c
+@@ -46,7 +46,7 @@
+ #include "strbuf.h"
+ #include "fpconv.h"
+ 
+-#include "../../../src/solarisfixes.h"
++#include "solarisfixes.h"
+ 
+ #ifndef CJSON_MODNAME
+ #define CJSON_MODNAME   "cjson"
+diff --git a/src/Makefile b/src/Makefile
+index 86e0b3fe..09630321 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -16,7 +16,7 @@ release_hdr := $(shell sh -c './mkreleasehdr.sh')
+ 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
++DEPENDENCY_TARGETS=hiredis linenoise
+ NODEPS:=clean distclean
+ 
+ # Default settings
+@@ -66,6 +66,7 @@ endif
+ FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
+ FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
+ FINAL_LIBS=-lm
++FINAL_LIBS+=@LUA_LIBS@
+ DEBUG=-g -ggdb
+ 
+ ifeq ($(uname_S),SunOS)
+@@ -107,7 +108,7 @@ endif
+ 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 @LUA_CFLAGS@
+ 
+ ifeq ($(MALLOC),tcmalloc)
+ 	FINAL_CFLAGS+= -DUSE_TCMALLOC
+@@ -145,6 +146,7 @@ endif
+ 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 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 strbuf.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.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
+ REDIS_BENCHMARK_NAME=redis-benchmark
+@@ -196,7 +198,7 @@ endif
+ 
+ # redis-server
+ $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ)
+-	$(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)

diff --git a/dev-db/redis/redis-4.0.1.ebuild b/dev-db/redis/redis-4.0.1.ebuild
new file mode 100644
index 00000000000..cde8857bb18
--- /dev/null
+++ b/dev-db/redis/redis-4.0.1.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools eutils flag-o-matic systemd toolchain-funcs user
+
+DESCRIPTION="A persistent caching system, key-value and data structures database"
+HOMEPAGE="http://redis.io/"
+SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
+IUSE="+jemalloc tcmalloc luajit test"
+SLOT="0"
+
+RDEPEND="luajit? ( dev-lang/luajit:2 )
+	!luajit? ( >=dev-lang/lua-5.1:* )
+	tcmalloc? ( dev-util/google-perftools )
+	jemalloc? ( >=dev-libs/jemalloc-3.2 )"
+DEPEND="virtual/pkgconfig
+	>=sys-devel/autoconf-2.63
+	test? ( dev-lang/tcl:0= )
+	${RDEPEND}"
+REQUIRED_USE="?? ( tcmalloc jemalloc )"
+
+S="${WORKDIR}/${PN}-${PV/_/-}"
+
+pkg_setup() {
+	enewgroup redis 75
+	enewuser redis 75 -1 /var/lib/redis redis
+}
+
+src_prepare() {
+	epatch \
+		"${FILESDIR}"/${PN}-4.0.1-shared.patch \
+		"${FILESDIR}"/${PN}-3.2.3-config.patch \
+		"${FILESDIR}"/${PN}-4.0.1-sharedlua.patch
+	eapply_user
+
+	# Copy lua modules into build dir
+	cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
+	cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
+	# Append cflag for lua_cjson
+	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+	append-cflags "-DENABLE_CJSON_GLOBAL"
+
+	# now we will rewrite present Makefiles
+	local makefiles=""
+	for MKF in $(find -name 'Makefile' | cut -b 3-); do
+		mv "${MKF}" "${MKF}.in"
+		sed -i	-e 's:$(CC):@CC@:g' \
+			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+			-e 's: $(DEBUG)::g' \
+			-e 's:$(OBJARCH)::g' \
+			-e 's:ARCH:TARCH:g' \
+			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+			"${MKF}.in" \
+		|| die "Sed failed for ${MKF}"
+		makefiles+=" ${MKF}"
+	done
+	# autodetection of compiler and settings; generates the modified Makefiles
+	cp "${FILESDIR}"/configure.ac-3.2 configure.ac
+	sed -i	\
+		-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
+		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
+		-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,lua,g" \
+		configure.ac || die "Sed failed for configure.ac"
+	eautoreconf
+}
+
+src_configure() {
+	econf \
+		$(use_with luajit)
+
+	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
+	# also, don't define ANSI/c99 for lua twice
+	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
+}
+
+src_compile() {
+	tc-export CC AR RANLIB
+
+	local myconf=""
+
+	if use tcmalloc ; then
+		myconf="${myconf} USE_TCMALLOC=yes"
+	elif use jemalloc ; then
+		myconf="${myconf} JEMALLOC_SHARED=yes"
+	else
+		myconf="${myconf} MALLOC=yes"
+	fi
+
+	emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}"
+}
+
+src_install() {
+	insinto /etc/
+	doins redis.conf sentinel.conf
+	use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
+	fperms 0644 /etc/{redis,sentinel}.conf
+
+	newconfd "${FILESDIR}/redis.confd" redis
+	newinitd "${FILESDIR}/redis.initd-4" redis
+
+	systemd_newunit "${FILESDIR}/redis.service-2" redis.service
+	systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf
+
+	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
+
+	dobin src/redis-cli
+	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
+	fperms 0750 /usr/sbin/redis-benchmark
+	dosym /usr/sbin/redis-server /usr/sbin/redis-sentinel
+
+	if use prefix; then
+		diropts -m0750
+	else
+		diropts -m0750 -o redis -g redis
+	fi
+	keepdir /var/{log,lib}/redis
+}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/
@ 2017-12-19 10:13 Patrice Clement
  0 siblings, 0 replies; 17+ messages in thread
From: Patrice Clement @ 2017-12-19 10:13 UTC (permalink / raw
  To: gentoo-commits

commit:     8f4e968d986f3d551178ca19d78a42c579afceb0
Author:     Tomas Mozes <hydrapolic <AT> gmail <DOT> com>
AuthorDate: Fri Dec  8 08:26:50 2017 +0000
Commit:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
CommitDate: Tue Dec 19 10:13:29 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f4e968d

dev-db/redis: version bump to 4.0.6.

Closes: https://bugs.gentoo.org/574856
Closes: https://bugs.gentoo.org/599974
Closes: https://bugs.gentoo.org/639924
Closes: https://github.com/gentoo/gentoo/pull/6480
Package-Manager: Portage-2.3.16, Repoman-2.3.6

 dev-db/redis/Manifest                              |   1 +
 .../redis/files/redis-sentinel-4.0.6-config.patch  |   9 ++
 dev-db/redis/files/redis-sentinel.confd            |  16 +++
 dev-db/redis/files/redis-sentinel.initd            |  22 ++++
 dev-db/redis/files/redis.logrotate                 |   6 +
 dev-db/redis/redis-4.0.6.ebuild                    | 141 +++++++++++++++++++++
 6 files changed, 195 insertions(+)

diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index eeb83e7ebb0..46426aee5f1 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -3,3 +3,4 @@ DIST redis-3.2.5.tar.gz 1544040 BLAKE2B a67b46feacddcc7e4cafd91fb5d295a972f3a09d
 DIST redis-3.2.8.tar.gz 1547237 BLAKE2B fb03e263ad7b135dff38e018d9b830c4992cf331efc7c23c10b087c47e597abedb52f259d4dd9a9ee1d661685157fc29a2022d74bc21d406bb10c9b7dfab8b7e SHA512 7334faf73af3644f7f9dcaddd322955d5df1e88a1640b509ae623f322615a20f6dc143eb57dd89ff3a278557df309ac4215c3fb458235682ce28e16c817068ba
 DIST redis-4.0.1.tar.gz 1711660 BLAKE2B 0b8881baa78908df4adcc1aabfa0ea9554900f8b54d204ffa054752ba4355da2b56408501ede81a69cc1f34ebbb9fc984335738ea9f343ddcd4e9fb9a0d64c8e SHA512 62dec537aebd12340b9642f5f8b07fd98757c9e648dcd539a0411f207db3495923c5a6a9941036c56b2d574ee38b46d08558668111e322345ef549f93fada26f
 DIST redis-4.0.2.tar.gz 1713990 BLAKE2B 307ab76b336f7520e14a23a1577c46e1b63cc5a5a5b6afb725cb87934fbcb62107085671fd1072d1142ce8e92f069e6b6064c9f4468335bc6997897c8f494471 SHA512 1458909c6fc16cff8ca5e6dddff23b988ee1e447f2d0bccf5941553b22bab6abb851732b3fe53dafb8a69d6c0939c3ce7e0686d51e03be720fb018c038d3b1b4
+DIST redis-4.0.6.tar.gz 1723533 BLAKE2B 94c2a9b7eeaa676efaac75cd5c143b0f4b02440b5a21ecc9b2a68cc27ad4abc1fc4d7dbc903dea5d956ce737ca434ea5b5bdde4a35df3a3689da60c5fb0bddf1 SHA512 784aad612664df666c36f969cb6a9ab794f004abcf9aa761bd1f5f0f8fdb248d5b38f48a59b68c2de7d2a344755f1537efc9d5847de0d662302699ed94d40813

diff --git a/dev-db/redis/files/redis-sentinel-4.0.6-config.patch b/dev-db/redis/files/redis-sentinel-4.0.6-config.patch
new file mode 100644
index 00000000000..f2a75814951
--- /dev/null
+++ b/dev-db/redis/files/redis-sentinel-4.0.6-config.patch
@@ -0,0 +1,9 @@
+diff --git a/sentinel.conf b/sentinel.conf
+index 0e1b266..869a4b9 100644
+--- a/sentinel.conf
++++ b/sentinel.conf
+@@ -194,3 +194,4 @@ sentinel failover-timeout mymaster 180000
+ #
+ # sentinel client-reconfig-script mymaster /var/redis/reconfig.sh
+
++logfile "/var/log/redis/sentinel.log"

diff --git a/dev-db/redis/files/redis-sentinel.confd b/dev-db/redis/files/redis-sentinel.confd
new file mode 100644
index 00000000000..f465a5c3e91
--- /dev/null
+++ b/dev-db/redis/files/redis-sentinel.confd
@@ -0,0 +1,16 @@
+# Redis-sentinel user.
+REDIS_SENTINEL_USER="redis"
+
+# Redis-sentinel group.
+REDIS_SENTINEL_GROUP="redis"
+
+# Redis-sentinel configuration file.
+REDIS_SENTINEL_CONF="/etc/sentinel.conf"
+
+# Redis-sentinel working directory.
+REDIS_SENTINEL_DIR="/tmp"
+
+# Specify the network service that corresponds to the "bind" setting
+# in your sentinel.conf. For example, if you bind to 127.0.0.1, this should
+# be set to "net.lo" which provides the loopback interface.
+rc_need="net.lo"

diff --git a/dev-db/redis/files/redis-sentinel.initd b/dev-db/redis/files/redis-sentinel.initd
new file mode 100644
index 00000000000..6a22d08db69
--- /dev/null
+++ b/dev-db/redis/files/redis-sentinel.initd
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+: ${REDIS_SENTINEL_DIR:=/tmp}
+: ${REDIS_SENTINEL_CONF:=/etc/sentinel.conf}
+: ${REDIS_SENTINEL_USER:=redis}
+: ${REDIS_SENTINEL_GROUP:=redis}
+: ${REDIS_SENTINEL_TIMEOUT:=30}
+
+command="/usr/sbin/redis-sentinel"
+command_args="${REDIS_SENTINEL_CONF}"
+command_background="true"
+command_user="${REDIS_SENTINEL_USER}:${REDIS_SENTINEL_GROUP}"
+pidfile="/run/${RC_SVCNAME}.pid"
+retry="${REDIS_SENTINEL_TIMEOUT}"
+start_stop_daemon_args="--chdir \"${REDIS_SENTINEL_DIR}\""
+
+depend() {
+	use localmount logger
+	after keepalived redis
+}

diff --git a/dev-db/redis/files/redis.logrotate b/dev-db/redis/files/redis.logrotate
new file mode 100644
index 00000000000..2df390c2d1b
--- /dev/null
+++ b/dev-db/redis/files/redis.logrotate
@@ -0,0 +1,6 @@
+/var/log/redis/redis.log /var/log/redis/sentinel.log {
+	compress
+	delaycompress
+	notifempty
+	missingok
+}

diff --git a/dev-db/redis/redis-4.0.6.ebuild b/dev-db/redis/redis-4.0.6.ebuild
new file mode 100644
index 00000000000..92f1b4d63f3
--- /dev/null
+++ b/dev-db/redis/redis-4.0.6.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools eutils flag-o-matic systemd toolchain-funcs user
+
+DESCRIPTION="A persistent caching system, key-value and data structures database"
+HOMEPAGE="http://redis.io/"
+SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
+IUSE="+jemalloc tcmalloc luajit test"
+SLOT="0"
+
+# Redis does NOT build with Lua 5.2 or newer at this time.
+# This should link correctly with both unslotted & slotted Lua, without
+# changes.
+RDEPEND="
+	luajit? ( dev-lang/luajit:2 )
+	!luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) )
+	tcmalloc? ( dev-util/google-perftools )
+	jemalloc? ( >=dev-libs/jemalloc-3.2 )"
+
+DEPEND="
+	${RDEPEND}
+	virtual/pkgconfig
+	>=sys-devel/autoconf-2.63
+	test? ( dev-lang/tcl:0= )"
+
+REQUIRED_USE="?? ( tcmalloc jemalloc )"
+
+S="${WORKDIR}/${PN}-${PV/_/-}"
+
+pkg_setup() {
+	enewgroup redis 75
+	enewuser redis 75 -1 /var/lib/redis redis
+}
+
+src_prepare() {
+	eapply \
+		"${FILESDIR}"/${PN}-3.2.3-config.patch \
+		"${FILESDIR}"/${PN}-4.0.1-shared.patch \
+		"${FILESDIR}"/${PN}-4.0.1-sharedlua.patch \
+		"${FILESDIR}"/${PN}-sentinel-4.0.6-config.patch
+	eapply_user
+
+	# Copy lua modules into build dir
+	cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
+	cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
+	# Append cflag for lua_cjson
+	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+	append-cflags "-DENABLE_CJSON_GLOBAL"
+
+	# now we will rewrite present Makefiles
+	local makefiles="" MKF
+	for MKF in $(find -name 'Makefile' | cut -b 3-); do
+		mv "${MKF}" "${MKF}.in"
+		sed -i	-e 's:$(CC):@CC@:g' \
+			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+			-e 's: $(DEBUG)::g' \
+			-e 's:$(OBJARCH)::g' \
+			-e 's:ARCH:TARCH:g' \
+			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+			"${MKF}.in" \
+		|| die "Sed failed for ${MKF}"
+		makefiles+=" ${MKF}"
+	done
+	# autodetection of compiler and settings; generates the modified Makefiles
+	cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
+
+	# Use the correct pkgconfig name for Lua
+	has_version 'dev-lang/lua:5.1' \
+		&& LUAPKGCONFIG=lua5.1 \
+		|| LUAPKGCONFIG=lua
+	sed -i	\
+		-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
+		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
+		-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \
+		configure.ac || die "Sed failed for configure.ac"
+	eautoreconf
+}
+
+src_configure() {
+	econf \
+		$(use_with luajit)
+
+	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
+	# also, don't define ANSI/c99 for lua twice
+	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
+}
+
+src_compile() {
+	tc-export CC AR RANLIB
+
+	local myconf=""
+
+	if use tcmalloc; then
+		myconf="${myconf} USE_TCMALLOC=yes"
+	elif use jemalloc; then
+		myconf="${myconf} JEMALLOC_SHARED=yes"
+	else
+		myconf="${myconf} MALLOC=yes"
+	fi
+
+	emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}"
+}
+
+src_install() {
+	insinto /etc/
+	doins redis.conf sentinel.conf
+	use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
+	fperms 0644 /etc/{redis,sentinel}.conf
+
+	newconfd "${FILESDIR}/redis.confd-r1" redis
+	newinitd "${FILESDIR}/redis.initd-5" redis
+
+	systemd_newunit "${FILESDIR}/redis.service-2" redis.service
+	systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf
+
+	newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel
+	newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
+
+	dobin src/redis-cli
+	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
+	fperms 0750 /usr/sbin/redis-benchmark
+	dosym redis-server /usr/sbin/redis-sentinel
+
+	if use prefix; then
+		diropts -m0750
+	else
+		diropts -m0750 -o redis -g redis
+	fi
+	keepdir /var/{log,lib}/redis
+}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/
@ 2018-08-23  0:22 Thomas Deutschmann
  0 siblings, 0 replies; 17+ messages in thread
From: Thomas Deutschmann @ 2018-08-23  0:22 UTC (permalink / raw
  To: gentoo-commits

commit:     772fa4eaf2816bdeef6c2affe66814075b11bbe4
Author:     Tomas Mozes <hydrapolic <AT> gmail <DOT> com>
AuthorDate: Thu Aug 23 00:09:41 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Thu Aug 23 00:22:22 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=772fa4ea

dev-db/redis: bump to 5.0-rc4

Closes: https://github.com/gentoo/gentoo/pull/9472
Package-Manager: Portage-2.3.44, Repoman-2.3.10
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 dev-db/redis/Manifest                              |   1 +
 dev-db/redis/files/redis-5.0-shared.patch          |  32 +++++
 dev-db/redis/files/redis-5.0-sharedlua.patch       |  61 +++++++++
 dev-db/redis/files/redis-sentinel-5.0-config.patch |  10 ++
 dev-db/redis/redis-5.0_rc4.ebuild                  | 144 +++++++++++++++++++++
 5 files changed, 248 insertions(+)

diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index eae411b86c7..15ebee3a76e 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -7,3 +7,4 @@ DIST redis-4.0.6.tar.gz 1723533 BLAKE2B 94c2a9b7eeaa676efaac75cd5c143b0f4b02440b
 DIST redis-4.0.7.tar.gz 1729488 BLAKE2B 7a5337b868e4da4a7387b31bc9d6bd4c86abd701b9ba999f64296ed5188cbba7208ced466973a500730ca03e70a9a85fbab2fb4700fdc977e58defc0126487d1 SHA512 6f317d9e76224b2a2b047dc8f56b126ea85ee5c6112c4c6238cb5cdfa3a83756bff3a82b106b00d1124a93d210a900d836587b8d9563916f19274de0e84c4c6b
 DIST redis-4.0.8.tar.gz 1729973 BLAKE2B 32d82a07beba9ea8f0b08a8fc69da548a1974e5839f052a9803ffb0f52ef920df9b128092e061b5e693581a50efef4a1212c1f6310dc8492eff5ca841ff3b03a SHA512 11c126ddef3bedbceb02ee7a80a61374e081da8087055d77970b0097066a6f1c5e0c4f0d246c9851f8c3beca22f185c184669a9dc4f1c7c229f8cd2c34196ab6
 DIST redis-4.0.9.tar.gz 1737022 BLAKE2B 35a83d146062f5b14c023d7fd9f28d743ba6bec3e0e4bf9ce8e065a706bbd7508ffbcb8b1b4d18f6b6774589b5456540ba8717b9f449fcbd758c0f57dbd505a3 SHA512 a6cf63cb361f0a87da3955ba628190dc04cad342f7a664d18e44416ee67dd86ed6e3a46b9701e994f1417e56b819b3c6fc595f363c10bb4b83d5033919d29598
+DIST redis-5.0_rc4.tar.gz 1937238 BLAKE2B b8f768b83e27476bc038fc554193680f4873eb2405f238e0a6f2053cf68c4a9e6c45546730a263463b805d6811334c1ba056be0230676f19d0562d488a3d4c97 SHA512 75b308bca026fe3b7cff1a92df3990bab5bb7ffe24cdfbc263f4d522ebe7ec8d86a9ed66da1778fe67c08a39b6f0c83cb10c5a332818c6ad04621d01c4aa6add

diff --git a/dev-db/redis/files/redis-5.0-shared.patch b/dev-db/redis/files/redis-5.0-shared.patch
new file mode 100644
index 00000000000..32245079ab4
--- /dev/null
+++ b/dev-db/redis/files/redis-5.0-shared.patch
@@ -0,0 +1,32 @@
+diff --git a/src/Makefile b/src/Makefile
+index f5525bd..6f12a20 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -29,14 +29,7 @@ INSTALL_BIN=$(PREFIX)/bin
+ INSTALL=install
+ 
+ # Default allocator defaults to Jemalloc if it's not an ARM
+-MALLOC=libc
+-ifneq ($(uname_M),armv6l)
+-ifneq ($(uname_M),armv7l)
+-ifeq ($(uname_S),Linux)
+-	MALLOC=jemalloc
+-endif
+-endif
+-endif
++MALLOC?=jemalloc
+ 
+ # To get ARM stack traces if Redis crashes we need a special C flag.
+ ifneq (,$(filter aarch64 armv,$(uname_M)))
+@@ -120,9 +113,8 @@ ifeq ($(MALLOC),tcmalloc_minimal)
+ endif
+ 
+ ifeq ($(MALLOC),jemalloc)
+-	DEPENDENCY_TARGETS+= jemalloc
+-	FINAL_CFLAGS+= -DUSE_JEMALLOC -I../deps/jemalloc/include
+-	FINAL_LIBS := ../deps/jemalloc/lib/libjemalloc.a $(FINAL_LIBS)
++	FINAL_CFLAGS+= -DUSE_JEMALLOC -DJEMALLOC_NO_DEMANGLE
++	FINAL_LIBS+= -ljemalloc -ldl
+ endif
+ 
+ REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS)

diff --git a/dev-db/redis/files/redis-5.0-sharedlua.patch b/dev-db/redis/files/redis-5.0-sharedlua.patch
new file mode 100644
index 00000000000..3b97f913c60
--- /dev/null
+++ b/dev-db/redis/files/redis-5.0-sharedlua.patch
@@ -0,0 +1,61 @@
+diff --git a/deps/lua/src/lua_cjson.c b/deps/lua/src/lua_cjson.c
+index c26c0d7..fa50c41 100644
+--- a/deps/lua/src/lua_cjson.c
++++ b/deps/lua/src/lua_cjson.c
+@@ -46,7 +46,7 @@
+ #include "strbuf.h"
+ #include "fpconv.h"
+ 
+-#include "../../../src/solarisfixes.h"
++#include "solarisfixes.h"
+ 
+ #ifndef CJSON_MODNAME
+ #define CJSON_MODNAME   "cjson"
+diff --git a/src/Makefile b/src/Makefile
+index 6f12a20..205cd59 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -16,7 +16,7 @@ release_hdr := $(shell sh -c './mkreleasehdr.sh')
+ 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
++DEPENDENCY_TARGETS=hiredis linenoise
+ NODEPS:=clean distclean
+ 
+ # Default settings
+@@ -58,7 +58,7 @@ endif
+ 
+ FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
+ FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
+-FINAL_LIBS=-lm
++FINAL_LIBS=@LUA_LIBS@
+ DEBUG=-g -ggdb
+ 
+ ifeq ($(uname_S),SunOS)
+@@ -100,7 +100,7 @@ endif
+ 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 @LUA_CFLAGS@
+ 
+ ifeq ($(MALLOC),tcmalloc)
+ 	FINAL_CFLAGS+= -DUSE_TCMALLOC
+@@ -137,6 +137,7 @@ endif
+ 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 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 t_stream.o listpack.o localtime.o
++REDIS_SERVER_OBJ+=fpconv.o strbuf.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o
+ REDIS_CLI_NAME=redis-cli
+ REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o anet.o ae.o crc64.o siphash.o crc16.o
+ REDIS_BENCHMARK_NAME=redis-benchmark
+@@ -188,7 +189,7 @@ endif
+ 
+ # redis-server
+ $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ)
+-	$(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)

diff --git a/dev-db/redis/files/redis-sentinel-5.0-config.patch b/dev-db/redis/files/redis-sentinel-5.0-config.patch
new file mode 100644
index 00000000000..53299f11840
--- /dev/null
+++ b/dev-db/redis/files/redis-sentinel-5.0-config.patch
@@ -0,0 +1,10 @@
+diff --git a/sentinel.conf b/sentinel.conf
+index 3703c73..964ffa3 100644
+--- a/sentinel.conf
++++ b/sentinel.conf
+@@ -222,3 +222,5 @@ sentinel deny-scripts-reconfig yes
+ # case, so writing "config guessme" is the same in the example above.
+ #
+ # SENTINEL SET can also be used in order to perform this configuration at runtime.
++
++logfile "/var/log/redis/sentinel.log"

diff --git a/dev-db/redis/redis-5.0_rc4.ebuild b/dev-db/redis/redis-5.0_rc4.ebuild
new file mode 100644
index 00000000000..1b2b1a57ecf
--- /dev/null
+++ b/dev-db/redis/redis-5.0_rc4.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools eutils flag-o-matic systemd toolchain-funcs user
+
+MY_PV="${PV/_/-}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="A persistent caching system, key-value and data structures database"
+HOMEPAGE="https://redis.io"
+SRC_URI="https://github.com/antirez/redis/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
+IUSE="+jemalloc tcmalloc luajit test"
+SLOT="0"
+
+# Redis does NOT build with Lua 5.2 or newer at this time.
+# This should link correctly with both unslotted & slotted Lua, without
+# changes.
+RDEPEND="
+	luajit? ( dev-lang/luajit:2 )
+	!luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) )
+	tcmalloc? ( dev-util/google-perftools )
+	jemalloc? ( >=dev-libs/jemalloc-3.2 )"
+
+DEPEND="
+	${RDEPEND}
+	virtual/pkgconfig
+	>=sys-devel/autoconf-2.63
+	test? ( dev-lang/tcl:0= )"
+
+REQUIRED_USE="?? ( tcmalloc jemalloc )"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+	enewgroup redis 75
+	enewuser redis 75 -1 /var/lib/redis redis
+}
+
+src_prepare() {
+	eapply \
+		"${FILESDIR}"/${PN}-3.2.3-config.patch \
+		"${FILESDIR}"/${PN}-5.0-shared.patch \
+		"${FILESDIR}"/${PN}-5.0-sharedlua.patch \
+		"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
+	eapply_user
+
+	# Copy lua modules into build dir
+	cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
+	cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
+	# Append cflag for lua_cjson
+	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+	append-cflags "-DENABLE_CJSON_GLOBAL"
+
+	# now we will rewrite present Makefiles
+	local makefiles="" MKF
+	for MKF in $(find -name 'Makefile' | cut -b 3-); do
+		mv "${MKF}" "${MKF}.in"
+		sed -i	-e 's:$(CC):@CC@:g' \
+			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+			-e 's: $(DEBUG)::g' \
+			-e 's:$(OBJARCH)::g' \
+			-e 's:ARCH:TARCH:g' \
+			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+			"${MKF}.in" \
+		|| die "Sed failed for ${MKF}"
+		makefiles+=" ${MKF}"
+	done
+	# autodetection of compiler and settings; generates the modified Makefiles
+	cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
+
+	# Use the correct pkgconfig name for Lua
+	has_version 'dev-lang/lua:5.1' \
+		&& LUAPKGCONFIG=lua5.1 \
+		|| LUAPKGCONFIG=lua
+	sed -i	\
+		-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
+		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
+		-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \
+		configure.ac || die "Sed failed for configure.ac"
+	eautoreconf
+}
+
+src_configure() {
+	econf \
+		$(use_with luajit)
+
+	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
+	# also, don't define ANSI/c99 for lua twice
+	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
+}
+
+src_compile() {
+	tc-export CC AR RANLIB
+
+	local myconf=""
+
+	if use tcmalloc; then
+		myconf="${myconf} USE_TCMALLOC=yes"
+	elif use jemalloc; then
+		myconf="${myconf} JEMALLOC_SHARED=yes"
+	else
+		myconf="${myconf} MALLOC=yes"
+	fi
+
+	emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}"
+}
+
+src_install() {
+	insinto /etc/
+	doins redis.conf sentinel.conf
+	use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
+	fperms 0644 /etc/{redis,sentinel}.conf
+
+	newconfd "${FILESDIR}/redis.confd-r1" redis
+	newinitd "${FILESDIR}/redis.initd-5" redis
+
+	systemd_newunit "${FILESDIR}/redis.service-2" redis.service
+	systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf
+
+	newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel
+	newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
+
+	dobin src/redis-cli
+	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
+	fperms 0750 /usr/sbin/redis-benchmark
+	dosym redis-server /usr/sbin/redis-sentinel
+
+	if use prefix; then
+		diropts -m0750
+	else
+		diropts -m0750 -o redis -g redis
+	fi
+	keepdir /var/{log,lib}/redis
+}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/
@ 2020-03-20 14:53 Thomas Deutschmann
  0 siblings, 0 replies; 17+ messages in thread
From: Thomas Deutschmann @ 2020-03-20 14:53 UTC (permalink / raw
  To: gentoo-commits

commit:     cb20cb4fc5767f864df20caa4a499ab0c6599b13
Author:     Tomáš Mózes <hydrapolic <AT> gmail <DOT> com>
AuthorDate: Tue Mar 17 19:52:00 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Fri Mar 20 14:52:13 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb20cb4f

dev-db/redis: bump to 5.0.8

Closes: https://bugs.gentoo.org/652098
Tested-by: ernsteiswuerfel <erhard_f <AT> mailbox.org>
Signed-off-by: Tomáš Mózes <hydrapolic <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/14994
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 dev-db/redis/Manifest                           |   1 +
 dev-db/redis/files/redis-5.0.8-ppc-atomic.patch |  19 +++
 dev-db/redis/redis-5.0.8.ebuild                 | 160 ++++++++++++++++++++++++
 3 files changed, 180 insertions(+)

diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index ca3b67623d6..56ededd1ff2 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -2,3 +2,4 @@ DIST redis-4.0.14.tar.gz 1740967 BLAKE2B d9122565ba890416d8936db936bc1410af840cc
 DIST redis-4.0.2.tar.gz 1713990 BLAKE2B 307ab76b336f7520e14a23a1577c46e1b63cc5a5a5b6afb725cb87934fbcb62107085671fd1072d1142ce8e92f069e6b6064c9f4468335bc6997897c8f494471 SHA512 1458909c6fc16cff8ca5e6dddff23b988ee1e447f2d0bccf5941553b22bab6abb851732b3fe53dafb8a69d6c0939c3ce7e0686d51e03be720fb018c038d3b1b4
 DIST redis-5.0.5.tar.gz 1975750 BLAKE2B 3a0463685ae30f9d38e96d7324ae624474f02311e22e186460834920babc35ff343d84e8cb78a2cee0d45d9ba1c01944c783c88892b6580d83bc1cdec64a3e94 SHA512 78215ec02b7184e05788c7a368146ea53095a877a0e09174b4c9f175aeb9ba9174023c19e33bf62e4513b848e1841538d398e7c0a651c5c947255c1691cb4586
 DIST redis-5.0.7.tar.gz 1984203 BLAKE2B a4e65784ae5d673833d1a6df73800d95ca4d8db7ec045c166027d0c372291e2f5fa2ccc4fe8d4a081b7a967c154fcf03d4b097c5d7b05755a52b465e441ad7ee SHA512 75c1d4bcca3e28d80f6b6942f0153ff33538d706339c69bddd2646c36f88b901c77dde09fba5629ba90ace00077e45d37b0a822a863f9f737ef9a79eb7093d9d
+DIST redis-5.0.8.tar.gz 1985757 BLAKE2B e46af2133e066ccb91a8eb2c2fbfefe3747e1cfa71efa78dd50830e1bc1d83261f78ed6ff75b789b238709d9f72d5d401be2f2dd698bd19c41c091d10e0baf47 SHA512 106a74ab910267472fb418fdeb4f39e29efe9d73ed5af78b7847c91eaabd473dd729a63078e72d8e87c842169502946e9a0a97c42dea415db82732864c7c46dc

diff --git a/dev-db/redis/files/redis-5.0.8-ppc-atomic.patch b/dev-db/redis/files/redis-5.0.8-ppc-atomic.patch
new file mode 100644
index 00000000000..61a4cc721eb
--- /dev/null
+++ b/dev-db/redis/files/redis-5.0.8-ppc-atomic.patch
@@ -0,0 +1,19 @@
+diff --git a/src/Makefile b/src/Makefile
+index 4b2a31c..4ef853b 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -77,6 +77,14 @@ FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
+ FINAL_LIBS=-lm
+ DEBUG=-g -ggdb
+ 
++ifneq (,$(filter powerpc ppc,$(uname_M)))
++        FINAL_LIBS+=-latomic
++else
++ifneq (,$(findstring ppc,$(uname_M)))
++        FINAL_LIBS+=-latomic
++endif
++endif
++
+ # Linux ARM needs -latomic at linking time
+ ifneq (,$(filter aarch64 armv,$(uname_M)))
+         FINAL_LIBS+=-latomic

diff --git a/dev-db/redis/redis-5.0.8.ebuild b/dev-db/redis/redis-5.0.8.ebuild
new file mode 100644
index 00000000000..4544ce6393c
--- /dev/null
+++ b/dev-db/redis/redis-5.0.8.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic systemd toolchain-funcs
+
+DESCRIPTION="A persistent caching system, key-value and data structures database"
+HOMEPAGE="https://redis.io"
+SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="amd64 arm arm64 ~hppa ~ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
+IUSE="+jemalloc tcmalloc luajit test"
+RESTRICT="!test? ( test )"
+SLOT="0"
+
+# Redis does NOT build with Lua 5.2 or newer at this time.
+# This should link correctly with both unslotted & slotted Lua, without
+# changes.
+COMMON_DEPEND="
+	luajit? ( dev-lang/luajit:2 )
+	!luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) )
+	tcmalloc? ( dev-util/google-perftools )
+	jemalloc? ( >=dev-libs/jemalloc-5.1:= )"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	acct-group/redis
+	acct-user/redis"
+
+BDEPEND="
+	${COMMON_DEPEND}
+	virtual/pkgconfig"
+
+# Tcl is only needed in the CHOST test env
+DEPEND="
+	${COMMON_DEPEND}
+	test? ( dev-lang/tcl:0= )"
+
+REQUIRED_USE="?? ( tcmalloc jemalloc )"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.2.3-config.patch
+	"${FILESDIR}"/${PN}-5.0-shared.patch
+	"${FILESDIR}"/${PN}-5.0-sharedlua.patch
+	"${FILESDIR}"/${PN}-5.0.8-ppc-atomic.patch
+	"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
+)
+
+src_prepare() {
+	default
+
+	# Copy lua modules into build dir
+	cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
+	cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
+	# Append cflag for lua_cjson
+	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+	append-cflags "-DENABLE_CJSON_GLOBAL"
+
+	# now we will rewrite present Makefiles
+	local makefiles="" MKF
+	for MKF in $(find -name 'Makefile' | cut -b 3-); do
+		mv "${MKF}" "${MKF}.in"
+		sed -i	-e 's:$(CC):@CC@:g' \
+			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+			-e 's: $(DEBUG)::g' \
+			-e 's:$(OBJARCH)::g' \
+			-e 's:ARCH:TARCH:g' \
+			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+			"${MKF}.in" \
+		|| die "Sed failed for ${MKF}"
+		makefiles+=" ${MKF}"
+	done
+	# autodetection of compiler and settings; generates the modified Makefiles
+	cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
+
+	# Use the correct pkgconfig name for Lua
+	if false && has_version 'dev-lang/lua:5.3'; then
+		# Lua5.3 gives:
+		#lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
+		LUAPKGCONFIG=lua5.3
+	elif false && has_version 'dev-lang/lua:5.2'; then
+		# Lua5.2 fails with:
+		# scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
+		# Because lua_open because lua_newstate in 5.2
+		LUAPKGCONFIG=lua5.2
+	elif has_version 'dev-lang/lua:5.1'; then
+		LUAPKGCONFIG=lua5.1
+	else
+		LUAPKGCONFIG=lua
+	fi
+	# The upstream configure script handles luajit specially, and is not
+	# effected by these changes.
+	einfo "Selected LUAPKGCONFIG=${LUAPKGCONFIG}"
+	sed -i	\
+		-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
+		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
+		-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \
+		configure.ac || die "Sed failed for configure.ac"
+	eautoreconf
+}
+
+src_configure() {
+	econf \
+		$(use_with luajit)
+
+	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
+	# also, don't define ANSI/c99 for lua twice
+	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
+}
+
+src_compile() {
+	tc-export CC AR RANLIB
+
+	local myconf=""
+
+	if use tcmalloc; then
+		myconf="${myconf} USE_TCMALLOC=yes"
+	elif use jemalloc; then
+		myconf="${myconf} JEMALLOC_SHARED=yes"
+	else
+		myconf="${myconf} MALLOC=yes"
+	fi
+
+	emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}"
+}
+
+src_install() {
+	insinto /etc/
+	doins redis.conf sentinel.conf
+	use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
+	fperms 0644 /etc/{redis,sentinel}.conf
+
+	newconfd "${FILESDIR}/redis.confd-r1" redis
+	newinitd "${FILESDIR}/redis.initd-5" redis
+
+	systemd_newunit "${FILESDIR}/redis.service-3" redis.service
+	systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles-2" redis.conf
+
+	newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel
+	newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
+
+	dobin src/redis-cli
+	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
+	fperms 0750 /usr/sbin/redis-benchmark
+	dosym redis-server /usr/sbin/redis-sentinel
+
+	if use prefix; then
+		diropts -m0750
+	else
+		diropts -m0750 -o redis -g redis
+	fi
+	keepdir /var/{log,lib}/redis
+}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/
@ 2020-05-26 20:37 Thomas Deutschmann
  0 siblings, 0 replies; 17+ messages in thread
From: Thomas Deutschmann @ 2020-05-26 20:37 UTC (permalink / raw
  To: gentoo-commits

commit:     cd593a699d495cc0be13e01a4248d30ffbd35542
Author:     Tomáš Mózes <hydrapolic <AT> gmail <DOT> com>
AuthorDate: Sat May 23 13:16:18 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue May 26 20:37:42 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd593a69

dev-db/redis: bump to 6.0.3

Signed-off-by: Tomáš Mózes <hydrapolic <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/15924
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 dev-db/redis/Manifest                          |   1 +
 dev-db/redis/files/redis-6.0.3-sharedlua.patch |  60 ++++++++++
 dev-db/redis/redis-6.0.3.ebuild                | 160 +++++++++++++++++++++++++
 3 files changed, 221 insertions(+)

diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index a145d723191..5b28e06831b 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -4,3 +4,4 @@ DIST redis-5.0.5.tar.gz 1975750 BLAKE2B 3a0463685ae30f9d38e96d7324ae624474f02311
 DIST redis-5.0.7.tar.gz 1984203 BLAKE2B a4e65784ae5d673833d1a6df73800d95ca4d8db7ec045c166027d0c372291e2f5fa2ccc4fe8d4a081b7a967c154fcf03d4b097c5d7b05755a52b465e441ad7ee SHA512 75c1d4bcca3e28d80f6b6942f0153ff33538d706339c69bddd2646c36f88b901c77dde09fba5629ba90ace00077e45d37b0a822a863f9f737ef9a79eb7093d9d
 DIST redis-5.0.8.tar.gz 1985757 BLAKE2B e46af2133e066ccb91a8eb2c2fbfefe3747e1cfa71efa78dd50830e1bc1d83261f78ed6ff75b789b238709d9f72d5d401be2f2dd698bd19c41c091d10e0baf47 SHA512 106a74ab910267472fb418fdeb4f39e29efe9d73ed5af78b7847c91eaabd473dd729a63078e72d8e87c842169502946e9a0a97c42dea415db82732864c7c46dc
 DIST redis-5.0.9.tar.gz 1986574 BLAKE2B 7802d0556d11c9be8577b9bb3f4dbad8c2419b38659001421f96040e8a64a4a304e9dc1f06d82802ce1c92515d166cfd37c2f347df4c4cda0c2c4c2bb10d27c5 SHA512 d2c7bc1f769bc5d179bfe6e71954962813b50597eafc752a9b1edf2fd87e84707b7daf0910db56dd0e89cb3bdb3e551da7f111ae4899f505bac5f77f99744c13
+DIST redis-6.0.3.tar.gz 2210882 BLAKE2B 9a83f6373469dcebb95bb0cbf10ffd56d9cb7eddc68e099d871bd41961929a7a56745566ef3969ddee23e1ddb0f5519da0a1245bb639abbec3c9b45b7c494386 SHA512 88978285db62cb8aa6e27fcd2075bbdb13f2606eaa702491047080bd6396d79d59336f0310d049d88a57e8e7b7096d716f9408b41cc658788a3902627770a807

diff --git a/dev-db/redis/files/redis-6.0.3-sharedlua.patch b/dev-db/redis/files/redis-6.0.3-sharedlua.patch
new file mode 100644
index 00000000000..20df7983d7a
--- /dev/null
+++ b/dev-db/redis/files/redis-6.0.3-sharedlua.patch
@@ -0,0 +1,60 @@
+diff --git a/deps/lua/src/lua_cjson.c b/deps/lua/src/lua_cjson.c
+index c26c0d7..fa50c41 100644
+--- a/deps/lua/src/lua_cjson.c
++++ b/deps/lua/src/lua_cjson.c
+@@ -46,7 +46,7 @@
+ #include "strbuf.h"
+ #include "fpconv.h"
+ 
+-#include "../../../src/solarisfixes.h"
++#include "solarisfixes.h"
+ 
+ #ifndef CJSON_MODNAME
+ #define CJSON_MODNAME   "cjson"
+diff --git a/src/Makefile b/src/Makefile
+index b8c05c3..e5a7cc2 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -16,7 +16,7 @@ release_hdr := $(shell sh -c './mkreleasehdr.sh')
+ 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
++DEPENDENCY_TARGETS=hiredis linenoise
+ NODEPS:=clean distclean
+ 
+ # Default settings
+@@ -76,6 +76,7 @@ endif
+ FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
+ FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
+ FINAL_LIBS=-lm
++FINAL_LIBS+=@LUA_LIBS@
+ DEBUG=-g -ggdb
+ 
+ # Linux ARM needs -latomic at linking time
+@@ -149,7 +150,7 @@ endif
+ 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 @LUA_CFLAGS@
+ 
+ # Determine systemd support and/or build preference (defaulting to auto-detection)
+ BUILD_WITH_SYSTEMD=no
+@@ -217,6 +218,7 @@ endif
+ 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 crcspeed.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 t_stream.o listpack.o localtime.o lolwut.o lolwut5.o lolwut6.o acl.o gopher.o tracking.o connection.o tls.o sha256.o timeout.o setcpuaffinity.o
++REDIS_SERVER_OBJ+=fpconv.o strbuf.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o
+ REDIS_CLI_NAME=redis-cli
+ REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o crcspeed.o crc64.o siphash.o crc16.o
+ REDIS_BENCHMARK_NAME=redis-benchmark
+@@ -268,7 +270,7 @@ endif
+ 
+ # redis-server
+ $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ)
+-	$(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)

diff --git a/dev-db/redis/redis-6.0.3.ebuild b/dev-db/redis/redis-6.0.3.ebuild
new file mode 100644
index 00000000000..5e62c2dd9e4
--- /dev/null
+++ b/dev-db/redis/redis-6.0.3.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic systemd toolchain-funcs
+
+DESCRIPTION="A persistent caching system, key-value and data structures database"
+HOMEPAGE="https://redis.io"
+SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
+IUSE="+jemalloc luajit tcmalloc test"
+RESTRICT="!test? ( test )"
+SLOT="0"
+
+# Redis does NOT build with Lua 5.2 or newer at this time.
+# This should link correctly with both unslotted & slotted Lua, without
+# changes.
+COMMON_DEPEND="
+	jemalloc? ( >=dev-libs/jemalloc-5.1:= )
+	luajit? ( dev-lang/luajit:2 )
+	!luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) )
+	tcmalloc? ( dev-util/google-perftools )
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	acct-group/redis
+	acct-user/redis
+"
+
+BDEPEND="
+	${COMMON_DEPEND}
+	virtual/pkgconfig
+"
+
+# Tcl is only needed in the CHOST test env
+DEPEND="
+	${COMMON_DEPEND}
+	test? ( dev-lang/tcl:0= )"
+
+REQUIRED_USE="?? ( jemalloc tcmalloc )"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.2.3-config.patch
+	"${FILESDIR}"/${PN}-5.0-shared.patch
+	"${FILESDIR}"/${PN}-6.0.3-sharedlua.patch
+	"${FILESDIR}"/${PN}-5.0.8-ppc-atomic.patch
+	"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
+)
+
+src_prepare() {
+	default
+
+	# unstable on jemalloc
+	> tests/unit/memefficiency.tcl || die
+
+	# Copy lua modules into build dir
+	cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
+	cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
+	# Append cflag for lua_cjson
+	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+	append-cflags "-DENABLE_CJSON_GLOBAL"
+
+	# now we will rewrite present Makefiles
+	local makefiles="" MKF
+	for MKF in $(find -name 'Makefile' | cut -b 3-); do
+		mv "${MKF}" "${MKF}.in"
+		sed -i	-e 's:$(CC):@CC@:g' \
+			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+			-e 's: $(DEBUG)::g' \
+			-e 's:$(OBJARCH)::g' \
+			-e 's:ARCH:TARCH:g' \
+			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+			"${MKF}.in" \
+		|| die "Sed failed for ${MKF}"
+		makefiles+=" ${MKF}"
+	done
+	# autodetection of compiler and settings; generates the modified Makefiles
+	cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
+
+	# Use the correct pkgconfig name for Lua
+	if false && has_version 'dev-lang/lua:5.3'; then
+		# Lua5.3 gives:
+		#lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
+		LUAPKGCONFIG=lua5.3
+	elif false && has_version 'dev-lang/lua:5.2'; then
+		# Lua5.2 fails with:
+		# scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
+		# Because lua_open because lua_newstate in 5.2
+		LUAPKGCONFIG=lua5.2
+	elif has_version 'dev-lang/lua:5.1'; then
+		LUAPKGCONFIG=lua5.1
+	else
+		LUAPKGCONFIG=lua
+	fi
+	# The upstream configure script handles luajit specially, and is not
+	# effected by these changes.
+	einfo "Selected LUAPKGCONFIG=${LUAPKGCONFIG}"
+	sed -i	\
+		-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
+		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
+		-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \
+		configure.ac || die "Sed failed for configure.ac"
+	eautoreconf
+}
+
+src_configure() {
+	econf $(use_with luajit)
+}
+
+src_compile() {
+	local myconf=""
+
+	if use jemalloc; then
+		myconf+="MALLOC=jemalloc"
+	elif use tcmalloc; then
+		myconf+="MALLOC=tcmalloc"
+	else
+		myconf+="MALLOC=libc"
+	fi
+
+	tc-export CC
+	emake V=1 ${myconf} CC="${CC}"
+}
+
+src_install() {
+	insinto /etc/
+	doins redis.conf sentinel.conf
+	use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
+	fperms 0644 /etc/{redis,sentinel}.conf
+
+	newconfd "${FILESDIR}/redis.confd-r1" redis
+	newinitd "${FILESDIR}/redis.initd-5" redis
+
+	systemd_newunit "${FILESDIR}/redis.service-3" redis.service
+	systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles-2" redis.conf
+
+	newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel
+	newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
+
+	dobin src/redis-cli
+	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
+	fperms 0750 /usr/sbin/redis-benchmark
+	dosym redis-server /usr/sbin/redis-sentinel
+
+	if use prefix; then
+		diropts -m0750
+	else
+		diropts -m0750 -o redis -g redis
+	fi
+	keepdir /var/{log,lib}/redis
+}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/
@ 2021-03-04  4:37 Sam James
  0 siblings, 0 replies; 17+ messages in thread
From: Sam James @ 2021-03-04  4:37 UTC (permalink / raw
  To: gentoo-commits

commit:     4c9ade0291d86a8a9a53f3aa60d7bf9bc135c452
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Mar  4 04:36:58 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar  4 04:36:58 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c9ade02

dev-db/redis: version bump 6.2.1

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-db/redis/Manifest                          |   1 +
 dev-db/redis/files/redis-6.2.1-config.patch    |  40 ++++++
 dev-db/redis/files/redis-6.2.1-sharedlua.patch |  60 ++++++++
 dev-db/redis/redis-6.2.1.ebuild                | 184 +++++++++++++++++++++++++
 4 files changed, 285 insertions(+)

diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index 6ba10ecc61f..dd22bd2a200 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -2,3 +2,4 @@ DIST redis-5.0.12.tar.gz 1995069 BLAKE2B 03bb5956fb1206ecfa7f621b22b3101d1ebad62
 DIST redis-5.0.9.tar.gz 1986574 BLAKE2B 7802d0556d11c9be8577b9bb3f4dbad8c2419b38659001421f96040e8a64a4a304e9dc1f06d82802ce1c92515d166cfd37c2f347df4c4cda0c2c4c2bb10d27c5 SHA512 d2c7bc1f769bc5d179bfe6e71954962813b50597eafc752a9b1edf2fd87e84707b7daf0910db56dd0e89cb3bdb3e551da7f111ae4899f505bac5f77f99744c13
 DIST redis-6.0.12.tar.gz 2276349 BLAKE2B ab49b0278420c65fc995a90e850130971ccaf3df34a08a5cc10a8c211239eba8449b87fe67684189c71816cf259a70a23a77935ec61e8baa787daa61cb994201 SHA512 9dd8e3bed51e1356470e1bf08892f771744c0c9418ff874c16ea932ad1f471a908ffd8479efe1f32531d7f63cd7af5224273ce50f2fe7aa26c47716e0e78330b
 DIST redis-6.0.9.tar.gz 2261418 BLAKE2B 93e64e2c682320d11e468021fd13a2888dd6b15430c15eaaa9468242d9b4d8b60e29dfe656e677774dc88ed751471284d1adf94c723521085019b375785abe7a SHA512 ebae2b09637fdbdc71dd22b72ccea24e2c21beb81c6ff5c4bae8b341886a7d847ce868f52dc917079bab8aa250ff61c83efe8acbb8a1cbc5e285c7842b0aefa3
+DIST redis-6.2.1.tar.gz 2438367 BLAKE2B 8717630771eafaf8a15dd371d46475f81f15bbcdc9a4fabd8f270ab6e09fbfb3ee2a1cddddb6c7778922d3552bcf5ee475eec7ba0623147ec36a5c5422cb0de0 SHA512 7c339cc360fc3125bb67c5748bb4fe940977faa937e3a86294829bde472479a811df8ea0ce4961d8128ec8d4ffba5d5a943c2957589c8da0cfc3f109f82e4af6

diff --git a/dev-db/redis/files/redis-6.2.1-config.patch b/dev-db/redis/files/redis-6.2.1-config.patch
new file mode 100644
index 00000000000..6db49913d2d
--- /dev/null
+++ b/dev-db/redis/files/redis-6.2.1-config.patch
@@ -0,0 +1,40 @@
+diff --git a/redis.conf b/redis.conf
+index 465d56f..ef56037 100644
+--- a/redis.conf
++++ b/redis.conf
+@@ -276,7 +276,7 @@ daemonize no
+ #
+ # Note that on modern Linux systems "/run/redis.pid" is more conforming
+ # and should be used instead.
+-pidfile /var/run/redis_6379.pid
++pidfile /run/redis/redis.pid
+ 
+ # Specify the server verbosity level.
+ # This can be one of:
+@@ -289,7 +289,7 @@ loglevel notice
+ # Specify the log file name. Also the empty string can be used to force
+ # Redis to log on the standard output. Note that if you use standard
+ # output for logging but daemonize, logs will be sent to /dev/null
+-logfile ""
++logfile /var/log/redis/redis.log
+ 
+ # To enable logging to the system logger, just set 'syslog-enabled' to yes,
+ # and optionally update the other syslog parameters to suit your needs.
+@@ -441,7 +441,7 @@ rdb-del-sync-files no
+ # The Append Only File will also be created inside this directory.
+ #
+ # Note that you must specify a directory here, not a file name.
+-dir ./
++dir /var/lib/redis/
+ 
+ ################################# REPLICATION #################################
+ 
+@@ -967,7 +967,7 @@ acllog-max-len 128
+ # limit for maxmemory so that there is some free RAM on the system for replica
+ # output buffers (but this is not needed if the policy is 'noeviction').
+ #
+-# maxmemory <bytes>
++maxmemory 64MB
+ 
+ # MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
+ # is reached. You can select one from the following behaviors:

diff --git a/dev-db/redis/files/redis-6.2.1-sharedlua.patch b/dev-db/redis/files/redis-6.2.1-sharedlua.patch
new file mode 100644
index 00000000000..cf8aa8532d7
--- /dev/null
+++ b/dev-db/redis/files/redis-6.2.1-sharedlua.patch
@@ -0,0 +1,60 @@
+diff --git a/deps/lua/src/lua_cjson.c b/deps/lua/src/lua_cjson.c
+index c26c0d7..fa50c41 100644
+--- a/deps/lua/src/lua_cjson.c
++++ b/deps/lua/src/lua_cjson.c
+@@ -46,7 +46,7 @@
+ #include "strbuf.h"
+ #include "fpconv.h"
+ 
+-#include "../../../src/solarisfixes.h"
++#include "solarisfixes.h"
+ 
+ #ifndef CJSON_MODNAME
+ #define CJSON_MODNAME   "cjson"
+diff --git a/src/Makefile b/src/Makefile
+index 6f0fd84..6546b5d 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -16,7 +16,7 @@ release_hdr := $(shell sh -c './mkreleasehdr.sh')
+ 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 hdr_histogram
++DEPENDENCY_TARGETS=hiredis linenoise hdr_histogram
+ NODEPS:=clean distclean
+ 
+ # Default settings
+@@ -84,6 +84,7 @@ endif
+ FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
+ FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
+ FINAL_LIBS=-lm
++FINAL_LIBS+=@LUA_LIBS@
+ DEBUG=-g -ggdb
+ 
+ # Linux ARM needs -latomic at linking time
+@@ -186,7 +187,7 @@ endif
+ endif
+ endif
+ # Include paths to dependencies
+-FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram
++FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise @LUA_CFLAGS@ -I../deps/hdr_histogram
+ 
+ # Determine systemd support and/or build preference (defaulting to auto-detection)
+ BUILD_WITH_SYSTEMD=no
+@@ -268,6 +269,7 @@ endif
+ REDIS_SERVER_NAME=redis-server$(PROG_SUFFIX)
+ REDIS_SENTINEL_NAME=redis-sentinel$(PROG_SUFFIX)
+ 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 crcspeed.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 t_stream.o listpack.o localtime.o lolwut.o lolwut5.o lolwut6.o acl.o gopher.o tracking.o connection.o tls.o sha256.o timeout.o setcpuaffinity.o monotonic.o mt19937-64.o
++REDIS_SERVER_OBJ+=fpconv.o strbuf.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o
+ REDIS_CLI_NAME=redis-cli$(PROG_SUFFIX)
+ REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o crcspeed.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o
+ REDIS_BENCHMARK_NAME=redis-benchmark$(PROG_SUFFIX)
+@@ -321,7 +323,7 @@ endif
+ 
+ # redis-server
+ $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ)
+-	$(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)

diff --git a/dev-db/redis/redis-6.2.1.ebuild b/dev-db/redis/redis-6.2.1.ebuild
new file mode 100644
index 00000000000..666ef8d8409
--- /dev/null
+++ b/dev-db/redis/redis-6.2.1.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Redis does NOT build with Lua 5.2 or newer at this time:
+#  - 5.3 and 5.4 give:
+# lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
+#  - 5.2 fails with:
+# scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
+#    because lua_open became lua_newstate in 5.2
+LUA_COMPAT=( lua5-1 luajit )
+
+inherit autotools flag-o-matic lua-single systemd toolchain-funcs
+
+DESCRIPTION="A persistent caching system, key-value and data structures database"
+HOMEPAGE="https://redis.io"
+SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="+jemalloc ssl tcmalloc test"
+RESTRICT="!test? ( test )"
+SLOT="0"
+
+COMMON_DEPEND="
+	${LUA_DEPS}
+	jemalloc? ( >=dev-libs/jemalloc-5.1:= )
+	ssl? ( dev-libs/openssl:0= )
+	tcmalloc? ( dev-util/google-perftools )
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	acct-group/redis
+	acct-user/redis
+"
+
+BDEPEND="
+	${COMMON_DEPEND}
+	virtual/pkgconfig
+"
+
+# Tcl is only needed in the CHOST test env
+DEPEND="
+	${COMMON_DEPEND}
+	test? (
+		dev-lang/tcl:0=
+		ssl? ( dev-tcltk/tls )
+	)"
+
+REQUIRED_USE="?? ( jemalloc tcmalloc )
+	${LUA_REQUIRED_USE}"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-6.2.1-config.patch
+	"${FILESDIR}"/${PN}-5.0-shared.patch
+	"${FILESDIR}"/${PN}-6.2.1-sharedlua.patch
+	"${FILESDIR}"/${PN}-5.0.8-ppc-atomic.patch
+	"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
+)
+
+src_prepare() {
+	default
+
+	# unstable on jemalloc
+	> tests/unit/memefficiency.tcl || die
+
+	# Copy lua modules into build dir
+	cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
+	cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
+	# Append cflag for lua_cjson
+	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+	append-cflags "-DENABLE_CJSON_GLOBAL"
+
+	# now we will rewrite present Makefiles
+	local makefiles="" MKF
+	for MKF in $(find -name 'Makefile' | cut -b 3-); do
+		mv "${MKF}" "${MKF}.in"
+		sed -i	-e 's:$(CC):@CC@:g' \
+			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+			-e 's: $(DEBUG)::g' \
+			-e 's:$(OBJARCH)::g' \
+			-e 's:ARCH:TARCH:g' \
+			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+			"${MKF}.in" \
+		|| die "Sed failed for ${MKF}"
+		makefiles+=" ${MKF}"
+	done
+	# autodetection of compiler and settings; generates the modified Makefiles
+	cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
+
+	# Use the correct pkgconfig name for Lua.
+	# The upstream configure script handles luajit specially, and is not
+	# effected by these changes.
+	sed -i	\
+		-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
+		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
+		-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${ELUA},g" \
+		configure.ac || die "Sed failed for configure.ac"
+	eautoreconf
+}
+
+src_configure() {
+	econf $(use_with lua_single_target_luajit luajit)
+
+	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
+	# also, don't define ANSI/c99 for lua twice
+	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
+}
+
+src_compile() {
+	local myconf=""
+
+	if use jemalloc; then
+		myconf+="MALLOC=jemalloc"
+	elif use tcmalloc; then
+		myconf+="MALLOC=tcmalloc"
+	else
+		myconf+="MALLOC=libc"
+	fi
+
+	if use ssl; then
+		myconf+=" BUILD_TLS=yes"
+	fi
+
+	tc-export AR CC RANLIB
+	emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
+}
+
+src_test() {
+	# Known to fail with FEATURES=usersandbox
+	if has usersandbox ${FEATURES}; then
+		ewarn "You are emerging ${P} with 'usersandbox' enabled." \
+			"Expect some test failures or emerge with 'FEATURES=-usersandbox'!"
+	fi
+
+	if use ssl; then
+		./utils/gen-test-certs.sh
+		./runtest --tls
+	else
+		./runtest
+	fi
+}
+
+src_install() {
+	insinto /etc/redis
+	doins redis.conf sentinel.conf
+	use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
+	fperms 0750 /etc/redis
+	fperms 0644 /etc/redis/{redis,sentinel}.conf
+
+	newconfd "${FILESDIR}/redis.confd-r2" redis
+	newinitd "${FILESDIR}/redis.initd-6" redis
+
+	systemd_newunit "${FILESDIR}/redis.service-4" redis.service
+	systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles-2" redis.conf
+
+	newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
+	newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
+
+	dobin src/redis-cli
+	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
+	fperms 0750 /usr/sbin/redis-benchmark
+	dosym redis-server /usr/sbin/redis-sentinel
+
+	if use prefix; then
+		diropts -m0750
+	else
+		diropts -m0750 -o redis -g redis
+	fi
+	keepdir /var/{log,lib}/redis
+}
+
+pkg_postinst() {
+	ewarn "The default redis configuration file location changed to:"
+	ewarn "  /etc/redis/{redis,sentinel}.conf"
+	ewarn "Please apply your changes to the new configuration files."
+}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/
@ 2021-05-04 21:41 Sam James
  0 siblings, 0 replies; 17+ messages in thread
From: Sam James @ 2021-05-04 21:41 UTC (permalink / raw
  To: gentoo-commits

commit:     8427ef73ba9e6ad18fbf873e1f07f607edc88392
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue May  4 21:41:02 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue May  4 21:41:35 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8427ef73

dev-db/redis: add 6.2.3

Bug: https://bugs.gentoo.org/788211
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-db/redis/Manifest                           |   1 +
 dev-db/redis/files/redis-6.2.3-ppc-atomic.patch |  19 +++
 dev-db/redis/redis-6.2.3.ebuild                 | 185 ++++++++++++++++++++++++
 3 files changed, 205 insertions(+)

diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index ce702a566d2..21d25556dc4 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -2,3 +2,4 @@ DIST redis-5.0.12.tar.gz 1995069 BLAKE2B 03bb5956fb1206ecfa7f621b22b3101d1ebad62
 DIST redis-6.0.12.tar.gz 2276349 BLAKE2B ab49b0278420c65fc995a90e850130971ccaf3df34a08a5cc10a8c211239eba8449b87fe67684189c71816cf259a70a23a77935ec61e8baa787daa61cb994201 SHA512 9dd8e3bed51e1356470e1bf08892f771744c0c9418ff874c16ea932ad1f471a908ffd8479efe1f32531d7f63cd7af5224273ce50f2fe7aa26c47716e0e78330b
 DIST redis-6.0.13.tar.gz 2276777 BLAKE2B 735ebc7068b26e7e424e5ce701bb80cfbdf09f65734cbdd5760b75d78141ff542d1a91f2f58f7ef97ea4a1e9e225e96189736384e1dd0c8195e4ca651da75492 SHA512 5053cd60df354c8a00e5864179c6354db6b0243d56717d5dc44954405908ad8b3b09ba9f069312825705dd8abc83d533dd7a5a60485a30e8f4adf166fa058549
 DIST redis-6.2.1.tar.gz 2438367 BLAKE2B 8717630771eafaf8a15dd371d46475f81f15bbcdc9a4fabd8f270ab6e09fbfb3ee2a1cddddb6c7778922d3552bcf5ee475eec7ba0623147ec36a5c5422cb0de0 SHA512 7c339cc360fc3125bb67c5748bb4fe940977faa937e3a86294829bde472479a811df8ea0ce4961d8128ec8d4ffba5d5a943c2957589c8da0cfc3f109f82e4af6
+DIST redis-6.2.3.tar.gz 2456050 BLAKE2B f41096c790a373bdfbe2b9af0be867fdf4c9cdcf5b76e92c50786de917d9e52bd65e65bd43127fd5ad040bc3fed50fda9caa145cd261f79bcfa16ddf369315e9 SHA512 0a020aaa5664ed419a30e85d3b5c79fe69353067b755421c702f89ca923f1ba7794b4792f4a44049e38936f221363153c9ffcfb6fa232731b224d20c2982ac68

diff --git a/dev-db/redis/files/redis-6.2.3-ppc-atomic.patch b/dev-db/redis/files/redis-6.2.3-ppc-atomic.patch
new file mode 100644
index 00000000000..8990b00ccdc
--- /dev/null
+++ b/dev-db/redis/files/redis-6.2.3-ppc-atomic.patch
@@ -0,0 +1,19 @@
+diff --git a/src/Makefile b/src/Makefile
+index 5b2cf1c..9e1239d 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -87,6 +87,14 @@ FINAL_LIBS=-lm
+ FINAL_LIBS+=@LUA_LIBS@
+ DEBUG=-g -ggdb
+ 
++ifneq (,$(filter powerpc ppc,$(uname_M)))
++        FINAL_LIBS+=-latomic
++else
++ifneq (,$(findstring ppc,$(uname_M)))
++        FINAL_LIBS+=-latomic
++endif
++endif
++
+ # Linux ARM32 needs -latomic at linking time
+ ifneq (,$(findstring armv,$(uname_M)))
+         FINAL_LIBS+=-latomic

diff --git a/dev-db/redis/redis-6.2.3.ebuild b/dev-db/redis/redis-6.2.3.ebuild
new file mode 100644
index 00000000000..db5733af1dd
--- /dev/null
+++ b/dev-db/redis/redis-6.2.3.ebuild
@@ -0,0 +1,185 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Redis does NOT build with Lua 5.2 or newer at this time:
+#  - 5.3 and 5.4 give:
+# lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
+#  - 5.2 fails with:
+# scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
+#    because lua_open became lua_newstate in 5.2
+LUA_COMPAT=( lua5-1 luajit )
+
+inherit autotools flag-o-matic lua-single systemd toolchain-funcs tmpfiles
+
+DESCRIPTION="A persistent caching system, key-value and data structures database"
+HOMEPAGE="https://redis.io"
+SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="+jemalloc ssl systemd tcmalloc test"
+RESTRICT="!test? ( test )"
+SLOT="0"
+
+COMMON_DEPEND="
+	${LUA_DEPS}
+	jemalloc? ( >=dev-libs/jemalloc-5.1:= )
+	ssl? ( dev-libs/openssl:0= )
+	systemd? ( sys-apps/systemd:= )
+	tcmalloc? ( dev-util/google-perftools )
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	acct-group/redis
+	acct-user/redis
+"
+
+BDEPEND="
+	${COMMON_DEPEND}
+	virtual/pkgconfig
+"
+
+# Tcl is only needed in the CHOST test env
+DEPEND="
+	${COMMON_DEPEND}
+	test? (
+		dev-lang/tcl:0=
+		ssl? ( dev-tcltk/tls )
+	)"
+
+REQUIRED_USE="?? ( jemalloc tcmalloc )
+	${LUA_REQUIRED_USE}"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-6.2.1-config.patch
+	"${FILESDIR}"/${PN}-5.0-shared.patch
+	"${FILESDIR}"/${PN}-6.2.1-sharedlua.patch
+	"${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
+	"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
+)
+
+src_prepare() {
+	default
+
+	# unstable on jemalloc
+	> tests/unit/memefficiency.tcl || die
+
+	# Copy lua modules into build dir
+	cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
+	cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
+	# Append cflag for lua_cjson
+	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+	append-cflags "-DENABLE_CJSON_GLOBAL"
+
+	# now we will rewrite present Makefiles
+	local makefiles="" MKF
+	for MKF in $(find -name 'Makefile' | cut -b 3-); do
+		mv "${MKF}" "${MKF}.in"
+		sed -i	-e 's:$(CC):@CC@:g' \
+			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+			-e 's: $(DEBUG)::g' \
+			-e 's:$(OBJARCH)::g' \
+			-e 's:ARCH:TARCH:g' \
+			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+			"${MKF}.in" \
+		|| die "Sed failed for ${MKF}"
+		makefiles+=" ${MKF}"
+	done
+	# autodetection of compiler and settings; generates the modified Makefiles
+	cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
+
+	# Use the correct pkgconfig name for Lua.
+	# The upstream configure script handles luajit specially, and is not
+	# effected by these changes.
+	sed -i	\
+		-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
+		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
+		-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${ELUA},g" \
+		configure.ac || die "Sed failed for configure.ac"
+	eautoreconf
+}
+
+src_configure() {
+	econf $(use_with lua_single_target_luajit luajit)
+
+	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
+	# also, don't define ANSI/c99 for lua twice
+	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
+}
+
+src_compile() {
+	local myconf=""
+
+	if use jemalloc; then
+		myconf+="MALLOC=jemalloc"
+	elif use tcmalloc; then
+		myconf+="MALLOC=tcmalloc"
+	else
+		myconf+="MALLOC=libc"
+	fi
+
+	if use ssl; then
+		myconf+=" BUILD_TLS=yes"
+	fi
+
+	tc-export AR CC RANLIB
+	emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
+}
+
+src_test() {
+	# Known to fail with FEATURES=usersandbox
+	if has usersandbox ${FEATURES}; then
+		ewarn "You are emerging ${P} with 'usersandbox' enabled." \
+			"Expect some test failures or emerge with 'FEATURES=-usersandbox'!"
+	fi
+
+	if use ssl; then
+		./utils/gen-test-certs.sh
+		./runtest --tls
+	else
+		./runtest
+	fi
+}
+
+src_install() {
+	insinto /etc/redis
+	doins redis.conf sentinel.conf
+	use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
+	fperms 0750 /etc/redis
+	fperms 0644 /etc/redis/{redis,sentinel}.conf
+
+	newconfd "${FILESDIR}/redis.confd-r2" redis
+	newinitd "${FILESDIR}/redis.initd-6" redis
+
+	systemd_newunit "${FILESDIR}/redis.service-4" redis.service
+	newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
+
+	newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
+	newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
+
+	dobin src/redis-cli
+	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
+	fperms 0750 /usr/sbin/redis-benchmark
+	dosym redis-server /usr/sbin/redis-sentinel
+
+	if use prefix; then
+		diropts -m0750
+	else
+		diropts -m0750 -o redis -g redis
+	fi
+	keepdir /var/{log,lib}/redis
+}
+
+pkg_postinst() {
+	ewarn "The default redis configuration file location changed to:"
+	ewarn "  /etc/redis/{redis,sentinel}.conf"
+	ewarn "Please apply your changes to the new configuration files."
+}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/
@ 2022-07-10 12:53 Sam James
  0 siblings, 0 replies; 17+ messages in thread
From: Sam James @ 2022-07-10 12:53 UTC (permalink / raw
  To: gentoo-commits

commit:     03485050cb1becab6da142ab138b15d3fd118ccd
Author:     Petr Vaněk <arkamar <AT> atlas <DOT> cz>
AuthorDate: Sun Jul 10 09:58:27 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jul 10 12:53:32 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=03485050

dev-db/redis: drop 5.0.14, EOL

5.0 line is not supported by upstream anymore and it suffers with known
vulnerabilities.

Bug: https://bugs.gentoo.org/841404
Signed-off-by: Petr Vaněk <arkamar <AT> atlas.cz>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-db/redis/Manifest                        |   1 -
 dev-db/redis/files/redis-5.0-sharedlua.patch |  60 ----------
 dev-db/redis/files/redis-sentinel.confd      |  16 ---
 dev-db/redis/files/redis-sentinel.initd      |  22 ----
 dev-db/redis/files/redis.confd-r1            |  20 ----
 dev-db/redis/files/redis.initd-5             |  25 ----
 dev-db/redis/files/redis.service-3           |  14 ---
 dev-db/redis/files/redis.tmpfiles            |   2 -
 dev-db/redis/redis-5.0.14.ebuild             | 170 ---------------------------
 9 files changed, 330 deletions(-)

diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index 2941f463918f..a7c720cf4851 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -1,4 +1,3 @@
-DIST redis-5.0.14.tar.gz 2000179 BLAKE2B 77d3ed09a81450dbf806edd017785b82c50bb059aab44c82bc4ab784b7f03d5c58f9372b96c857831f84d278771dcf223f42ca05af790f0dc10ecdde211fd149 SHA512 513299ae8b967a659d54812fab4dfdfaf0081b20136a3d89b6a761e93548583c96436fedb84baa4d23385b42110ef615527efc3690b873f5bec7793403fe7eaf
 DIST redis-6.0.16.tar.gz 2288647 BLAKE2B f3552cc0d27cbc5cf6556792da9a75d01ff70d372484c95d2af8b24ec902a8086b9c3f4e53513df982fe135963432bfb527334926dd494e50d2cc618ab813f39 SHA512 83bb72448f9943e3d015cb4d961eb2eae21602ef1f90ca52ca8ab7c6918b0ab979db9f61f3981df27b2286894f4864f4588c3a52fa988e30e9419b0967998845
 DIST redis-6.2.6.tar.gz 2476542 BLAKE2B d139479432171294911d99e7e8c2327dbbc6682ea49de761c4bb4089a2efd814926f2f8823dca1826b4a61dd9ccf79abb22878c9463ac92870481b43d8a7fff7 SHA512 9b947d26fd9e208627ed22d318ab3d0775ab0be46d98db1c1d158feac671b984e75ce33e647d196face9643f80768af47e678be1b4e1ddd3eb56dff467c46022
 DIST redis-6.2.7.tar.gz 2487287 BLAKE2B 06f1b1e16cdf06c38b67c1f1dcccc025da50cc3719688b8c2bf23077d77dd97ea546909043fb65e60478ac3661cc033fa6e8d7a38e361e69eb93ba3db07b7c66 SHA512 d113094b8e31754915db7f0317d9b7969e034af3a7bac2ae0cbfad6cc61ba3aae35e9709c435abc1024a96f914df7a760b3cd18d06c375b541cfa837d1c5b953

diff --git a/dev-db/redis/files/redis-5.0-sharedlua.patch b/dev-db/redis/files/redis-5.0-sharedlua.patch
deleted file mode 100644
index 3e14f41733b0..000000000000
--- a/dev-db/redis/files/redis-5.0-sharedlua.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff --git a/deps/lua/src/lua_cjson.c b/deps/lua/src/lua_cjson.c
-index c26c0d7..fa50c41 100644
---- a/deps/lua/src/lua_cjson.c
-+++ b/deps/lua/src/lua_cjson.c
-@@ -46,7 +46,7 @@
- #include "strbuf.h"
- #include "fpconv.h"
- 
--#include "../../../src/solarisfixes.h"
-+#include "solarisfixes.h"
- 
- #ifndef CJSON_MODNAME
- #define CJSON_MODNAME   "cjson"
-diff --git a/src/Makefile b/src/Makefile
-index 773d3b2..2d120d4 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -16,7 +16,7 @@ release_hdr := $(shell sh -c './mkreleasehdr.sh')
- 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
-+DEPENDENCY_TARGETS=hiredis linenoise
- NODEPS:=clean distclean
- 
- # Default settings
-@@ -66,6 +66,7 @@ endif
- FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
- FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
- FINAL_LIBS=-lm
-+FINAL_LIBS+=@LUA_LIBS@
- DEBUG=-g -ggdb
- 
- ifeq ($(uname_S),SunOS)
-@@ -107,7 +108,7 @@ endif
- 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 @LUA_CFLAGS@
- 
- ifeq ($(MALLOC),tcmalloc)
- 	FINAL_CFLAGS+= -DUSE_TCMALLOC
-@@ -145,6 +146,7 @@ endif
- 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 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 t_stream.o listpack.o localtime.o lolwut.o lolwut5.o
-+REDIS_SERVER_OBJ+=fpconv.o strbuf.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o
- REDIS_CLI_NAME=redis-cli
- REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o anet.o ae.o crc64.o siphash.o crc16.o
- REDIS_BENCHMARK_NAME=redis-benchmark
-@@ -196,7 +198,7 @@ endif
- 
- # redis-server
- $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ)
--	$(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)

diff --git a/dev-db/redis/files/redis-sentinel.confd b/dev-db/redis/files/redis-sentinel.confd
deleted file mode 100644
index f465a5c3e91f..000000000000
--- a/dev-db/redis/files/redis-sentinel.confd
+++ /dev/null
@@ -1,16 +0,0 @@
-# Redis-sentinel user.
-REDIS_SENTINEL_USER="redis"
-
-# Redis-sentinel group.
-REDIS_SENTINEL_GROUP="redis"
-
-# Redis-sentinel configuration file.
-REDIS_SENTINEL_CONF="/etc/sentinel.conf"
-
-# Redis-sentinel working directory.
-REDIS_SENTINEL_DIR="/tmp"
-
-# Specify the network service that corresponds to the "bind" setting
-# in your sentinel.conf. For example, if you bind to 127.0.0.1, this should
-# be set to "net.lo" which provides the loopback interface.
-rc_need="net.lo"

diff --git a/dev-db/redis/files/redis-sentinel.initd b/dev-db/redis/files/redis-sentinel.initd
deleted file mode 100644
index 6a22d08db697..000000000000
--- a/dev-db/redis/files/redis-sentinel.initd
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-: ${REDIS_SENTINEL_DIR:=/tmp}
-: ${REDIS_SENTINEL_CONF:=/etc/sentinel.conf}
-: ${REDIS_SENTINEL_USER:=redis}
-: ${REDIS_SENTINEL_GROUP:=redis}
-: ${REDIS_SENTINEL_TIMEOUT:=30}
-
-command="/usr/sbin/redis-sentinel"
-command_args="${REDIS_SENTINEL_CONF}"
-command_background="true"
-command_user="${REDIS_SENTINEL_USER}:${REDIS_SENTINEL_GROUP}"
-pidfile="/run/${RC_SVCNAME}.pid"
-retry="${REDIS_SENTINEL_TIMEOUT}"
-start_stop_daemon_args="--chdir \"${REDIS_SENTINEL_DIR}\""
-
-depend() {
-	use localmount logger
-	after keepalived redis
-}

diff --git a/dev-db/redis/files/redis.confd-r1 b/dev-db/redis/files/redis.confd-r1
deleted file mode 100644
index 1f4ff23f211b..000000000000
--- a/dev-db/redis/files/redis.confd-r1
+++ /dev/null
@@ -1,20 +0,0 @@
-# Redis user.
-REDIS_USER="redis"
-
-# Redis group.
-REDIS_GROUP="redis"
-
-# Redis configuration file.
-REDIS_CONF="/etc/redis.conf"
-
-# Redis dump directory.
-REDIS_DIR="/var/lib/redis"
-
-# Redis options.
-# (Redis expects the first argument to be the configuration file.)
-REDIS_OPTS="${REDIS_CONF}"
-
-# Specify the network service that corresponds to the "bind" setting
-# in your redis.conf. For example, if you bind to 127.0.0.1, this should
-# be set to "net.lo" which provides the loopback interface.
-rc_need="net.lo"

diff --git a/dev-db/redis/files/redis.initd-5 b/dev-db/redis/files/redis.initd-5
deleted file mode 100644
index bfeeb6925ec0..000000000000
--- a/dev-db/redis/files/redis.initd-5
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-: ${REDIS_DIR:=/var/lib/redis}
-: ${REDIS_CONF:=/etc/redis.conf}
-: ${REDIS_OPTS:="${REDIS_CONF}"}
-: ${REDIS_USER:=redis}
-: ${REDIS_GROUP:=redis}
-: ${REDIS_TIMEOUT:=30}
-
-# https://bugs.gentoo.org/631002#c10
-# Force '--daemonize no' to override the config file 
-command="/usr/sbin/redis-server"
-command_args="${REDIS_OPTS} --daemonize no"
-command_background="true"
-command_user="${REDIS_USER}:${REDIS_GROUP}"
-pidfile="/run/${RC_SVCNAME}.pid"
-retry="${REDIS_TIMEOUT}"
-start_stop_daemon_args="--chdir \"${REDIS_DIR}\""
-
-depend() {
-	use localmount logger
-	after keepalived
-}

diff --git a/dev-db/redis/files/redis.service-3 b/dev-db/redis/files/redis.service-3
deleted file mode 100644
index 1c733fcec172..000000000000
--- a/dev-db/redis/files/redis.service-3
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=A persistent key-value database
-After=syslog.target network.target
-
-[Service]
-Type=simple
-PIDFile=/run/redis/redis.pid
-ExecStart=/usr/sbin/redis-server /etc/redis.conf
-User=redis
-Group=redis
-
-[Install]
-WantedBy=multi-user.target
-

diff --git a/dev-db/redis/files/redis.tmpfiles b/dev-db/redis/files/redis.tmpfiles
deleted file mode 100644
index 657d8a551d4b..000000000000
--- a/dev-db/redis/files/redis.tmpfiles
+++ /dev/null
@@ -1,2 +0,0 @@
-# redis runtime directory
-d /var/run/redis 0755 redis root -

diff --git a/dev-db/redis/redis-5.0.14.ebuild b/dev-db/redis/redis-5.0.14.ebuild
deleted file mode 100644
index 5064cb59f2ec..000000000000
--- a/dev-db/redis/redis-5.0.14.ebuild
+++ /dev/null
@@ -1,170 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools edo flag-o-matic multiprocessing systemd tmpfiles toolchain-funcs
-
-DESCRIPTION="A persistent caching system, key-value and data structures database"
-HOMEPAGE="https://redis.io"
-SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="+jemalloc tcmalloc luajit selinux test"
-RESTRICT="!test? ( test )"
-
-# Redis does NOT build with Lua 5.2 or newer at this time.
-COMMON_DEPEND="
-	luajit? ( dev-lang/luajit:2 )
-	!luajit? ( dev-lang/lua:5.1 )
-	tcmalloc? ( dev-util/google-perftools )
-	jemalloc? ( >=dev-libs/jemalloc-5.1:= )"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	acct-group/redis
-	acct-user/redis
-	selinux? ( sec-policy/selinux-redis )"
-
-BDEPEND="
-	${COMMON_DEPEND}
-	virtual/pkgconfig"
-
-# Tcl is only needed in the CHOST test env
-DEPEND="
-	${COMMON_DEPEND}
-	test? ( dev-lang/tcl:0= )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc )"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-3.2.3-config.patch
-	"${FILESDIR}"/${PN}-5.0-shared.patch
-	"${FILESDIR}"/${PN}-5.0-sharedlua.patch
-	"${FILESDIR}"/${PN}-5.0.8-ppc-atomic.patch
-	"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
-	"${FILESDIR}"/${PN}-5.0-luajit-2.1-fix.patch
-)
-
-src_prepare() {
-	default
-
-	# don't call ar directly
-	sed -e '/^STLIB_MAKE_CMD/s/ar/$(AR)/g' \
-		-i deps/hiredis/Makefile || die
-
-	# Copy lua modules into build dir
-	cp deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c src/ || die
-	cp deps/lua/src/{fpconv,strbuf}.h src/ || die
-	# Append cflag for lua_cjson
-	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
-	append-cflags "-DENABLE_CJSON_GLOBAL"
-
-	# now we will rewrite present Makefiles
-	local makefiles="" MKF
-	for MKF in $(find -name 'Makefile' | cut -b 3-); do
-		mv "${MKF}" "${MKF}.in"
-		sed -i	-e 's:$(CC):@CC@:g' \
-			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
-			-e 's: $(DEBUG)::g' \
-			-e 's:$(OBJARCH)::g' \
-			-e 's:ARCH:TARCH:g' \
-			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
-			"${MKF}.in" \
-		|| die "Sed failed for ${MKF}"
-		makefiles+=" ${MKF}"
-	done
-	# autodetection of compiler and settings; generates the modified Makefiles
-	cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
-
-	# Use the correct pkgconfig name for Lua
-	if false && has_version 'dev-lang/lua:5.3'; then
-		# Lua5.3 gives:
-		#lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
-		LUAPKGCONFIG=lua5.3
-	elif false && has_version 'dev-lang/lua:5.2'; then
-		# Lua5.2 fails with:
-		# scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
-		# Because lua_open because lua_newstate in 5.2
-		LUAPKGCONFIG=lua5.2
-	elif has_version 'dev-lang/lua:5.1'; then
-		LUAPKGCONFIG=lua5.1
-	else
-		LUAPKGCONFIG=lua
-	fi
-	# The upstream configure script handles luajit specially, and is not
-	# affected by these changes.
-	einfo "Selected LUAPKGCONFIG=${LUAPKGCONFIG}"
-	sed -i	\
-		-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
-		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
-		-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \
-		configure.ac || die "Sed failed for configure.ac"
-	eautoreconf
-}
-
-src_configure() {
-	econf $(use_with luajit)
-
-	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
-	# also, don't define ANSI/c99 for lua twice
-	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
-	local myconf=""
-
-	if use tcmalloc; then
-		myconf="${myconf} USE_TCMALLOC=yes"
-	elif use jemalloc; then
-		myconf="${myconf} JEMALLOC_SHARED=yes"
-	else
-		myconf="${myconf} MALLOC=yes"
-	fi
-
-	tc-export AR CC RANLIB
-	emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-src_test() {
-	edo ./runtest --clients "$(makeopts_jobs)"
-}
-
-src_install() {
-	insinto /etc/
-	doins redis.conf sentinel.conf
-	use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
-	fperms 0644 /etc/{redis,sentinel}.conf
-
-	newconfd "${FILESDIR}/redis.confd-r1" redis
-	newinitd "${FILESDIR}/redis.initd-5" redis
-
-	systemd_newunit "${FILESDIR}/redis.service-3" redis.service
-	newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
-	newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel
-	newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
-	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
-
-	dobin src/redis-cli
-	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
-	fperms 0750 /usr/sbin/redis-benchmark
-	dosym redis-server /usr/sbin/redis-sentinel
-
-	if use prefix; then
-		diropts -m0750
-	else
-		diropts -m0750 -o redis -g redis
-	fi
-	keepdir /var/{log,lib}/redis
-}
-
-pkg_postinst() {
-	tmpfiles_process redis.conf
-}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/
@ 2022-07-18 23:33 Sam James
  0 siblings, 0 replies; 17+ messages in thread
From: Sam James @ 2022-07-18 23:33 UTC (permalink / raw
  To: gentoo-commits

commit:     e26f3cfacab6d82c401e7ca113d9210360c59fec
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 18 23:32:27 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jul 18 23:32:34 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e26f3cfa

dev-db/redis: add 7.0.4

Bug: https://bugs.gentoo.org/859181
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-db/redis/Manifest                         |   1 +
 dev-db/redis/files/redis-7.0.4-no-which.patch |  66 +++++++++
 dev-db/redis/redis-7.0.4.ebuild               | 187 ++++++++++++++++++++++++++
 3 files changed, 254 insertions(+)

diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index 259087e0e51b..52c3687e7b3d 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -4,3 +4,4 @@ DIST redis-6.2.7.tar.gz 2487287 BLAKE2B 06f1b1e16cdf06c38b67c1f1dcccc025da50cc37
 DIST redis-7.0.1.tar.gz 2955839 BLAKE2B 67ff36e5e78ab9a90d4404d0f0bddbe9b539166c826d8a1b314bb32cdece7d40caf5eff57302cd641548ed3b1e19aff1b657ed31a20233550636708b6386c2db SHA512 e61d27695fd2d439f204612b97a3ea245ebf92d418949460f7144026191ade4fac1647717bbb48a2b3e238856f0392af08b4fdb4358d04f2ccd1088ff9d3dac4
 DIST redis-7.0.2.tar.gz 2956784 BLAKE2B 418f6114662c9b9b67dc7f28f89f58fefee3eb5fec84a6193ca50034366c963986a56d1c96dadfdd88a88ea1ddd4542ed910b89c8a81c95b38aa4f7bdc5ae571 SHA512 bc8d679ecaad0220318b87be70476653f42b76815af61ff6f4e8885f5a5d17d41cea754fbf448f9e18e9a9f90227c5ac198fa9bc523370752f590ba01418a1b0
 DIST redis-7.0.3.tar.gz 2962858 BLAKE2B f523d96140e8ede263a5697ec8d88d02ee309a482b861ecbcdbd9063d94da4b1a801c3b8f01f50863a132b0dd33bfe09ec9b3f1c8ea2d12ea8a6f22d7f770263 SHA512 d4419c596577d58195478ff2414bedcfd81658067de733781fe8d41b79938c4dacb46b456779b94e30343d1e717140579b73db1715a6d721827afe1842d548e3
+DIST redis-7.0.4.tar.gz 2963216 BLAKE2B 95ad18547b4be0b199fccc4b0f534b00d2f442609b604b02ef83f44cef4283048d1f8b89e383a14208a00842eb3d6655649d32169a2a6586ed6fac1792e19d5a SHA512 7edecfa667b30584666be0a2dbcb2ac25a6764fa5b8db49ab421602ad20272eeab99ccff0b7c2f789c30a0425d80b774515b03c849e517451cbe597d37eb0247

diff --git a/dev-db/redis/files/redis-7.0.4-no-which.patch b/dev-db/redis/files/redis-7.0.4-no-which.patch
new file mode 100644
index 000000000000..e8c775d8bce1
--- /dev/null
+++ b/dev-db/redis/files/redis-7.0.4-no-which.patch
@@ -0,0 +1,66 @@
+--- a/runtest
++++ b/runtest
+@@ -3,7 +3,7 @@ TCL_VERSIONS="8.5 8.6 8.7"
+ TCLSH=""
+ 
+ for VERSION in $TCL_VERSIONS; do
+-	TCL=`which tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
++	TCL=`command -v tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
+ done
+ 
+ if [ -z $TCLSH ]
+--- a/runtest-cluster
++++ b/runtest-cluster
+@@ -3,7 +3,7 @@ TCL_VERSIONS="8.5 8.6 8.7"
+ TCLSH=""
+ 
+ for VERSION in $TCL_VERSIONS; do
+-	TCL=`which tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
++	TCL=`command -v tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
+ done
+ 
+ if [ -z $TCLSH ]
+--- a/runtest-moduleapi
++++ b/runtest-moduleapi
+@@ -4,7 +4,7 @@ TCLSH=""
+ [ -z "$MAKE" ] && MAKE=make
+ 
+ for VERSION in $TCL_VERSIONS; do
+-	TCL=`which tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
++	TCL=`command -v tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
+ done
+ 
+ if [ -z $TCLSH ]
+--- a/runtest-sentinel
++++ b/runtest-sentinel
+@@ -3,7 +3,7 @@ TCL_VERSIONS="8.5 8.6 8.7"
+ TCLSH=""
+ 
+ for VERSION in $TCL_VERSIONS; do
+-	TCL=`which tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
++	TCL=`command -v tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
+ done
+ 
+ if [ -z $TCLSH ]
+--- a/utils/generate-module-api-doc.rb
++++ b/utils/generate-module-api-doc.rb
+@@ -164,7 +164,7 @@ end
+ # Populate the 'since' map (name => version) if we're in a git repo.
+ $since = {}
+ git_dir = File.dirname(__FILE__) ++ "/../.git"
+-if File.directory?(git_dir) && `which git` != ""
++if File.directory?(git_dir) && `comamnd -v git` != ""
+     `git --git-dir="#{git_dir}" tag --sort=v:refname`.each_line do |version|
+         next if version !~ /^(\d+)\.\d+\.\d+?$/ || $1.to_i < 4
+         version.chomp!
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -52,7 +52,7 @@ INSTALL=install
+ PKG_CONFIG?=pkg-config
+ 
+ ifndef PYTHON
+-PYTHON := $(shell which python3 || which python)
++PYTHON := $(shell command -v python3 || command -v python)
+ endif
+ 
+ # Default allocator defaults to Jemalloc if it's not an ARM

diff --git a/dev-db/redis/redis-7.0.4.ebuild b/dev-db/redis/redis-7.0.4.ebuild
new file mode 100644
index 000000000000..d16e991e2f8b
--- /dev/null
+++ b/dev-db/redis/redis-7.0.4.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# N.B.: It is no clue in porting to Lua eclasses, as upstream have deviated
+# too far from vanilla Lua, adding their own APIs like lua_enablereadonlytable
+
+inherit autotools edo flag-o-matic multiprocessing systemd tmpfiles toolchain-funcs
+
+DESCRIPTION="A persistent caching system, key-value, and data structures database"
+HOMEPAGE="https://redis.io"
+SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="+jemalloc selinux ssl systemd tcmalloc test"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+	jemalloc? ( >=dev-libs/jemalloc-5.1:= )
+	ssl? ( dev-libs/openssl:0= )
+	systemd? ( sys-apps/systemd:= )
+	tcmalloc? ( dev-util/google-perftools )
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	acct-group/redis
+	acct-user/redis
+	selinux? ( sec-policy/selinux-redis )
+"
+
+BDEPEND="
+	${COMMON_DEPEND}
+	virtual/pkgconfig
+"
+
+# Tcl is only needed in the CHOST test env
+DEPEND="
+	${COMMON_DEPEND}
+	test? (
+		dev-lang/tcl:0=
+		ssl? ( dev-tcltk/tls )
+	)"
+
+REQUIRED_USE="?? ( jemalloc tcmalloc )"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-6.2.1-config.patch
+	"${FILESDIR}"/${PN}-5.0-shared.patch
+	"${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
+	"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
+	"${FILESDIR}"/${PN}-7.0.4-no-which.patch
+)
+
+src_prepare() {
+	default
+
+	# Append cflag for lua_cjson
+	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+	append-cflags "-DENABLE_CJSON_GLOBAL"
+
+	# now we will rewrite present Makefiles
+	local makefiles="" MKF
+	for MKF in $(find -name 'Makefile' | cut -b 3-); do
+		mv "${MKF}" "${MKF}.in"
+		sed -i	-e 's:$(CC):@CC@:g' \
+			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+			-e 's: $(DEBUG)::g' \
+			-e 's:$(OBJARCH)::g' \
+			-e 's:ARCH:TARCH:g' \
+			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+			"${MKF}.in" \
+		|| die "Sed failed for ${MKF}"
+		makefiles+=" ${MKF}"
+	done
+	# autodetection of compiler and settings; generates the modified Makefiles
+	cp "${FILESDIR}"/configure.ac-7.0 configure.ac || die
+
+	sed -i	\
+		-e "/^AC_INIT/s|, __PV__, |, $PV, |" \
+		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
+		configure.ac || die "Sed failed for configure.ac"
+	eautoreconf
+}
+
+src_configure() {
+	econf
+
+	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
+	# also, don't define ANSI/c99 for lua twice
+	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
+}
+
+src_compile() {
+	local myconf=""
+
+	if use jemalloc; then
+		myconf+="MALLOC=jemalloc"
+	elif use tcmalloc; then
+		myconf+="MALLOC=tcmalloc"
+	else
+		myconf+="MALLOC=libc"
+	fi
+
+	if use ssl; then
+		myconf+=" BUILD_TLS=yes"
+	fi
+
+	export USE_SYSTEMD=$(usex systemd)
+
+	tc-export AR CC RANLIB
+	emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
+}
+
+src_test() {
+	local runtestargs=(
+		--clients "$(makeopts_jobs)" # see bug #649868
+
+		--skiptest "Active defrag eval scripts" # see bug #851654
+	)
+
+	if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
+		ewarn "oom-score-adj related tests will be skipped." \
+			"They are known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
+
+		runtestargs+=(
+			# unit/oom-score-adj was introduced in version 6.2.0
+			--skipunit unit/oom-score-adj # see bug #756382
+
+			# Following test was added in version 7.0.0 to unit/introspection.
+			# It also tries to adjust OOM score.
+			--skiptest "CONFIG SET rollback on apply error"
+		)
+	fi
+
+	if use ssl; then
+		edo ./utils/gen-test-certs.sh
+		runtestargs+=( --tls )
+	fi
+
+	edo ./runtest "${runtestargs[@]}"
+}
+
+src_install() {
+	insinto /etc/redis
+	doins redis.conf sentinel.conf
+	use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
+	fperms 0750 /etc/redis
+	fperms 0644 /etc/redis/{redis,sentinel}.conf
+
+	newconfd "${FILESDIR}/redis.confd-r2" redis
+	newinitd "${FILESDIR}/redis.initd-6" redis
+
+	systemd_newunit "${FILESDIR}/redis.service-4" redis.service
+	newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
+
+	newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
+	newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+	dodoc 00-RELEASENOTES BUGS CONTRIBUTING.md MANIFESTO README.md
+
+	dobin src/redis-cli
+	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
+	fperms 0750 /usr/sbin/redis-benchmark
+	dosym redis-server /usr/sbin/redis-sentinel
+
+	if use prefix; then
+		diropts -m0750
+	else
+		diropts -m0750 -o redis -g redis
+	fi
+	keepdir /var/{log,lib}/redis
+}
+
+pkg_postinst() {
+	tmpfiles_process redis.conf
+
+	ewarn "The default redis configuration file location changed to:"
+	ewarn "  /etc/redis/{redis,sentinel}.conf"
+	ewarn "Please apply your changes to the new configuration files."
+}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/
@ 2022-09-25  1:21 Sam James
  0 siblings, 0 replies; 17+ messages in thread
From: Sam James @ 2022-09-25  1:21 UTC (permalink / raw
  To: gentoo-commits

commit:     bde898c8b53f0c35e30431177dd0036f7f19949f
Author:     Petr Vaněk <arkamar <AT> atlas <DOT> cz>
AuthorDate: Fri Sep 23 10:45:25 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 25 01:20:27 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bde898c8

dev-db/redis: drop 6.2.6

Bug: https://bugs.gentoo.org/841404
Signed-off-by: Petr Vaněk <arkamar <AT> atlas.cz>
Closes: https://github.com/gentoo/gentoo/pull/27408
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-db/redis/Manifest                          |   1 -
 dev-db/redis/files/redis-6.2.1-sharedlua.patch |  60 --------
 dev-db/redis/redis-6.2.6.ebuild                | 194 -------------------------
 3 files changed, 255 deletions(-)

diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index a53a39f78f6d..6d0144bd033b 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -1,5 +1,4 @@
 DIST redis-6.0.16.tar.gz 2288647 BLAKE2B f3552cc0d27cbc5cf6556792da9a75d01ff70d372484c95d2af8b24ec902a8086b9c3f4e53513df982fe135963432bfb527334926dd494e50d2cc618ab813f39 SHA512 83bb72448f9943e3d015cb4d961eb2eae21602ef1f90ca52ca8ab7c6918b0ab979db9f61f3981df27b2286894f4864f4588c3a52fa988e30e9419b0967998845
-DIST redis-6.2.6.tar.gz 2476542 BLAKE2B d139479432171294911d99e7e8c2327dbbc6682ea49de761c4bb4089a2efd814926f2f8823dca1826b4a61dd9ccf79abb22878c9463ac92870481b43d8a7fff7 SHA512 9b947d26fd9e208627ed22d318ab3d0775ab0be46d98db1c1d158feac671b984e75ce33e647d196face9643f80768af47e678be1b4e1ddd3eb56dff467c46022
 DIST redis-6.2.7.tar.gz 2487287 BLAKE2B 06f1b1e16cdf06c38b67c1f1dcccc025da50cc3719688b8c2bf23077d77dd97ea546909043fb65e60478ac3661cc033fa6e8d7a38e361e69eb93ba3db07b7c66 SHA512 d113094b8e31754915db7f0317d9b7969e034af3a7bac2ae0cbfad6cc61ba3aae35e9709c435abc1024a96f914df7a760b3cd18d06c375b541cfa837d1c5b953
 DIST redis-7.0.4.tar.gz 2963216 BLAKE2B 95ad18547b4be0b199fccc4b0f534b00d2f442609b604b02ef83f44cef4283048d1f8b89e383a14208a00842eb3d6655649d32169a2a6586ed6fac1792e19d5a SHA512 7edecfa667b30584666be0a2dbcb2ac25a6764fa5b8db49ab421602ad20272eeab99ccff0b7c2f789c30a0425d80b774515b03c849e517451cbe597d37eb0247
 DIST redis-7.0.5.tar.gz 2968205 BLAKE2B c319a2f656e4bd26637735ef73e58eecc306e202b57d6da3a38150a02d738a414c6696e261b8ab88033e117aee4f02308aab9ca4a5f382d66ec3a10f3e020580 SHA512 16ff920cb8df4d82e78ef34209285024aa98189be8acbca86b10fb3064dcc70eac60206aadece6af08406860ed01a004ce3aaa86be896ea36c7f486686646753

diff --git a/dev-db/redis/files/redis-6.2.1-sharedlua.patch b/dev-db/redis/files/redis-6.2.1-sharedlua.patch
deleted file mode 100644
index cf8aa8532d77..000000000000
--- a/dev-db/redis/files/redis-6.2.1-sharedlua.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff --git a/deps/lua/src/lua_cjson.c b/deps/lua/src/lua_cjson.c
-index c26c0d7..fa50c41 100644
---- a/deps/lua/src/lua_cjson.c
-+++ b/deps/lua/src/lua_cjson.c
-@@ -46,7 +46,7 @@
- #include "strbuf.h"
- #include "fpconv.h"
- 
--#include "../../../src/solarisfixes.h"
-+#include "solarisfixes.h"
- 
- #ifndef CJSON_MODNAME
- #define CJSON_MODNAME   "cjson"
-diff --git a/src/Makefile b/src/Makefile
-index 6f0fd84..6546b5d 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -16,7 +16,7 @@ release_hdr := $(shell sh -c './mkreleasehdr.sh')
- 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 hdr_histogram
-+DEPENDENCY_TARGETS=hiredis linenoise hdr_histogram
- NODEPS:=clean distclean
- 
- # Default settings
-@@ -84,6 +84,7 @@ endif
- FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
- FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
- FINAL_LIBS=-lm
-+FINAL_LIBS+=@LUA_LIBS@
- DEBUG=-g -ggdb
- 
- # Linux ARM needs -latomic at linking time
-@@ -186,7 +187,7 @@ endif
- endif
- endif
- # Include paths to dependencies
--FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram
-+FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise @LUA_CFLAGS@ -I../deps/hdr_histogram
- 
- # Determine systemd support and/or build preference (defaulting to auto-detection)
- BUILD_WITH_SYSTEMD=no
-@@ -268,6 +269,7 @@ endif
- REDIS_SERVER_NAME=redis-server$(PROG_SUFFIX)
- REDIS_SENTINEL_NAME=redis-sentinel$(PROG_SUFFIX)
- 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 crcspeed.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 t_stream.o listpack.o localtime.o lolwut.o lolwut5.o lolwut6.o acl.o gopher.o tracking.o connection.o tls.o sha256.o timeout.o setcpuaffinity.o monotonic.o mt19937-64.o
-+REDIS_SERVER_OBJ+=fpconv.o strbuf.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o
- REDIS_CLI_NAME=redis-cli$(PROG_SUFFIX)
- REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o crcspeed.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o
- REDIS_BENCHMARK_NAME=redis-benchmark$(PROG_SUFFIX)
-@@ -321,7 +323,7 @@ endif
- 
- # redis-server
- $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ)
--	$(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)

diff --git a/dev-db/redis/redis-6.2.6.ebuild b/dev-db/redis/redis-6.2.6.ebuild
deleted file mode 100644
index 364e49a7adb2..000000000000
--- a/dev-db/redis/redis-6.2.6.ebuild
+++ /dev/null
@@ -1,194 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# Redis does NOT build with Lua 5.2 or newer at this time:
-#  - 5.3 and 5.4 give:
-# lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
-#  - 5.2 fails with:
-# scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
-#    because lua_open became lua_newstate in 5.2
-LUA_COMPAT=( lua5-1 luajit )
-
-inherit autotools edo flag-o-matic lua-single multiprocessing systemd tmpfiles toolchain-funcs
-
-DESCRIPTION="A persistent caching system, key-value and data structures database"
-HOMEPAGE="https://redis.io"
-SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="+jemalloc selinux ssl systemd tcmalloc test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
-	${LUA_DEPS}
-	jemalloc? ( >=dev-libs/jemalloc-5.1:= )
-	ssl? ( dev-libs/openssl:0= )
-	systemd? ( sys-apps/systemd:= )
-	tcmalloc? ( dev-util/google-perftools )
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	acct-group/redis
-	acct-user/redis
-	selinux? ( sec-policy/selinux-redis )
-"
-
-BDEPEND="
-	${COMMON_DEPEND}
-	virtual/pkgconfig
-"
-
-# Tcl is only needed in the CHOST test env
-DEPEND="
-	${COMMON_DEPEND}
-	test? (
-		dev-lang/tcl:0=
-		ssl? ( dev-tcltk/tls )
-	)"
-
-REQUIRED_USE="?? ( jemalloc tcmalloc )
-	${LUA_REQUIRED_USE}"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-6.2.1-config.patch
-	"${FILESDIR}"/${PN}-5.0-shared.patch
-	"${FILESDIR}"/${PN}-6.2.1-sharedlua.patch
-	"${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
-	"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
-	"${FILESDIR}"/${PN}-5.0-luajit-2.1-fix.patch
-)
-
-src_prepare() {
-	default
-
-	# Copy lua modules into build dir
-	cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
-	cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
-	# Append cflag for lua_cjson
-	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
-	append-cflags "-DENABLE_CJSON_GLOBAL"
-
-	# now we will rewrite present Makefiles
-	local makefiles="" MKF
-	for MKF in $(find -name 'Makefile' | cut -b 3-); do
-		mv "${MKF}" "${MKF}.in"
-		sed -i	-e 's:$(CC):@CC@:g' \
-			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
-			-e 's: $(DEBUG)::g' \
-			-e 's:$(OBJARCH)::g' \
-			-e 's:ARCH:TARCH:g' \
-			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
-			"${MKF}.in" \
-		|| die "Sed failed for ${MKF}"
-		makefiles+=" ${MKF}"
-	done
-	# autodetection of compiler and settings; generates the modified Makefiles
-	cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
-
-	# Use the correct pkgconfig name for Lua.
-	# The upstream configure script handles luajit specially, and is not
-	# affected by these changes.
-	sed -i	\
-		-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
-		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
-		-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${ELUA},g" \
-		configure.ac || die "Sed failed for configure.ac"
-	eautoreconf
-}
-
-src_configure() {
-	econf $(use_with lua_single_target_luajit luajit)
-
-	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
-	# also, don't define ANSI/c99 for lua twice
-	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
-	local myconf=""
-
-	if use jemalloc; then
-		myconf+="MALLOC=jemalloc"
-	elif use tcmalloc; then
-		myconf+="MALLOC=tcmalloc"
-	else
-		myconf+="MALLOC=libc"
-	fi
-
-	if use ssl; then
-		myconf+=" BUILD_TLS=yes"
-	fi
-
-	export USE_SYSTEMD=$(usex systemd)
-
-	tc-export AR CC RANLIB
-	emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-src_test() {
-	local runtestargs=(
-		--clients "$(makeopts_jobs)" # see bug #649868
-	)
-
-	if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
-		ewarn "unit/oom-score-adj test will be skipped." \
-			"It is known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
-
-		# unit/oom-score-adj was introduced in version 6.2.0
-		runtestargs+=( --skipunit unit/oom-score-adj ) # see bug #756382
-	fi
-
-	if use ssl; then
-		edo ./utils/gen-test-certs.sh
-		runtestargs+=( --tls )
-	fi
-
-	edo ./runtest "${runtestargs[@]}"
-}
-
-src_install() {
-	insinto /etc/redis
-	doins redis.conf sentinel.conf
-	use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
-	fperms 0750 /etc/redis
-	fperms 0644 /etc/redis/{redis,sentinel}.conf
-
-	newconfd "${FILESDIR}/redis.confd-r2" redis
-	newinitd "${FILESDIR}/redis.initd-6" redis
-
-	systemd_newunit "${FILESDIR}/redis.service-4" redis.service
-	newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
-	newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
-	newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
-	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
-
-	dobin src/redis-cli
-	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
-	fperms 0750 /usr/sbin/redis-benchmark
-	dosym redis-server /usr/sbin/redis-sentinel
-
-	if use prefix; then
-		diropts -m0750
-	else
-		diropts -m0750 -o redis -g redis
-	fi
-	keepdir /var/{log,lib}/redis
-}
-
-pkg_postinst() {
-	tmpfiles_process redis.conf
-
-	ewarn "The default redis configuration file location changed to:"
-	ewarn "  /etc/redis/{redis,sentinel}.conf"
-	ewarn "Please apply your changes to the new configuration files."
-}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/
@ 2022-09-26 14:58 Sam James
  0 siblings, 0 replies; 17+ messages in thread
From: Sam James @ 2022-09-26 14:58 UTC (permalink / raw
  To: gentoo-commits

commit:     8f1f88154c6ed0311dacb5433296d5b424e8af78
Author:     Petr Vaněk <arkamar <AT> atlas <DOT> cz>
AuthorDate: Sun Sep 25 06:06:46 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 26 14:58:16 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f1f8815

dev-db/redis: drop 6.0.16

The 6.0 line did not receive any fix in last 12 months, 6.0.16
potentially suffers with security issues and 6.2.7 should be
sufficient replacement for those needing <dev-db/redis-7.

Bug: https://bugs.gentoo.org/841404
Signed-off-by: Petr Vaněk <arkamar <AT> atlas.cz>
Closes: https://github.com/gentoo/gentoo/pull/27470
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-db/redis/Manifest                             |   1 -
 dev-db/redis/files/redis-3.2.3-config.patch       |  40 -----
 dev-db/redis/files/redis-5.0-luajit-2.1-fix.patch |  47 -----
 dev-db/redis/files/redis-5.0.8-ppc-atomic.patch   |  19 --
 dev-db/redis/files/redis-6.0.12-sharedlua.patch   |  60 -------
 dev-db/redis/redis-6.0.16.ebuild                  | 200 ----------------------
 6 files changed, 367 deletions(-)

diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index 6d0144bd033b..75331b184be9 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -1,4 +1,3 @@
-DIST redis-6.0.16.tar.gz 2288647 BLAKE2B f3552cc0d27cbc5cf6556792da9a75d01ff70d372484c95d2af8b24ec902a8086b9c3f4e53513df982fe135963432bfb527334926dd494e50d2cc618ab813f39 SHA512 83bb72448f9943e3d015cb4d961eb2eae21602ef1f90ca52ca8ab7c6918b0ab979db9f61f3981df27b2286894f4864f4588c3a52fa988e30e9419b0967998845
 DIST redis-6.2.7.tar.gz 2487287 BLAKE2B 06f1b1e16cdf06c38b67c1f1dcccc025da50cc3719688b8c2bf23077d77dd97ea546909043fb65e60478ac3661cc033fa6e8d7a38e361e69eb93ba3db07b7c66 SHA512 d113094b8e31754915db7f0317d9b7969e034af3a7bac2ae0cbfad6cc61ba3aae35e9709c435abc1024a96f914df7a760b3cd18d06c375b541cfa837d1c5b953
 DIST redis-7.0.4.tar.gz 2963216 BLAKE2B 95ad18547b4be0b199fccc4b0f534b00d2f442609b604b02ef83f44cef4283048d1f8b89e383a14208a00842eb3d6655649d32169a2a6586ed6fac1792e19d5a SHA512 7edecfa667b30584666be0a2dbcb2ac25a6764fa5b8db49ab421602ad20272eeab99ccff0b7c2f789c30a0425d80b774515b03c849e517451cbe597d37eb0247
 DIST redis-7.0.5.tar.gz 2968205 BLAKE2B c319a2f656e4bd26637735ef73e58eecc306e202b57d6da3a38150a02d738a414c6696e261b8ab88033e117aee4f02308aab9ca4a5f382d66ec3a10f3e020580 SHA512 16ff920cb8df4d82e78ef34209285024aa98189be8acbca86b10fb3064dcc70eac60206aadece6af08406860ed01a004ce3aaa86be896ea36c7f486686646753

diff --git a/dev-db/redis/files/redis-3.2.3-config.patch b/dev-db/redis/files/redis-3.2.3-config.patch
deleted file mode 100644
index bde0ef7cbaf1..000000000000
--- a/dev-db/redis/files/redis-3.2.3-config.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git a/redis.conf b/redis.conf
-index 22e00bc..b09de57 100644
---- a/redis.conf
-+++ b/redis.conf
-@@ -147,7 +147,7 @@ supervised no
- #
- # Creating a pid file is best effort: if Redis is not able to create it
- # nothing bad happens, the server will start and run normally.
--pidfile /var/run/redis_6379.pid
-+pidfile /run/redis/redis.pid
- 
- # Specify the server verbosity level.
- # This can be one of:
-@@ -160,7 +160,7 @@ loglevel notice
- # Specify the log file name. Also the empty string can be used to force
- # Redis to log on the standard output. Note that if you use standard
- # output for logging but daemonize, logs will be sent to /dev/null
--logfile ""
-+logfile /var/log/redis/redis.log
- 
- # To enable logging to the system logger, just set 'syslog-enabled' to yes,
- # and optionally update the other syslog parameters to suit your needs.
-@@ -244,7 +244,7 @@ dbfilename dump.rdb
- # The Append Only File will also be created inside this directory.
- #
- # Note that you must specify a directory here, not a file name.
--dir ./
-+dir /var/lib/redis/
- 
- ################################# REPLICATION #################################
- 
-@@ -534,7 +534,7 @@ slave-priority 100
- # limit for maxmemory so that there is some free RAM on the system for slave
- # output buffers (but this is not needed if the policy is 'noeviction').
- #
--# maxmemory <bytes>
-+maxmemory 64MB
- 
- # MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
- # is reached. You can select among five behaviors:

diff --git a/dev-db/redis/files/redis-5.0-luajit-2.1-fix.patch b/dev-db/redis/files/redis-5.0-luajit-2.1-fix.patch
deleted file mode 100644
index 968fc865da86..000000000000
--- a/dev-db/redis/files/redis-5.0-luajit-2.1-fix.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Backported from https://github.com/openresty/lua-cjson
-
-Upstream-commit: 638ac2741a7f ("optimize: improved forward-compatibility with older versions of Lua/LuaJIT.")
-Link: https://github.com/openresty/lua-cjson/commit/638ac2741a7f274979ac3fe2e1ea5fd6487702fe
-Upstream-PR: https://github.com/openresty/lua-cjson/pull/32
-See-also: https://www.freelists.org/post/luajit/ANN-LuaJIT210beta3,3
-
-diff --git a/deps/lua/src/lua_cjson.c b/deps/lua/src/lua_cjson.c
-index c26c0d7b8..af9e4ca54 100644
---- a/deps/lua/src/lua_cjson.c
-+++ b/deps/lua/src/lua_cjson.c
-@@ -1293,11 +1293,13 @@ static int json_decode(lua_State *l)
- /* ===== INITIALISATION ===== */
- 
- #if !defined(LUA_VERSION_NUM) || LUA_VERSION_NUM < 502
--/* Compatibility for Lua 5.1.
-+/* Compatibility for Lua 5.1 and older LuaJIT.
-  *
-- * luaL_setfuncs() is used to create a module table where the functions have
-- * json_config_t as their first upvalue. Code borrowed from Lua 5.2 source. */
--static void luaL_setfuncs (lua_State *l, const luaL_Reg *reg, int nup)
-+ * compat_luaL_setfuncs() is used to create a module table where the functions
-+ * have json_config_t as their first upvalue. Code borrowed from Lua 5.2
-+ * source's luaL_setfuncs().
-+ */
-+static void compat_luaL_setfuncs(lua_State *l, const luaL_Reg *reg, int nup)
- {
-     int i;
- 
-@@ -1310,6 +1312,8 @@ static void luaL_setfuncs (lua_State *l, const luaL_Reg *reg, int nup)
-     }
-     lua_pop(l, nup);  /* remove upvalues */
- }
-+#else
-+#define compat_luaL_setfuncs(L, reg, nup) luaL_setfuncs(L, reg, nup)
- #endif
- 
- /* Call target function in protected mode with all supplied args.
-@@ -1365,7 +1369,7 @@ static int lua_cjson_new(lua_State *l)
- 
-     /* Register functions with config data as upvalue */
-     json_create_config(l);
--    luaL_setfuncs(l, reg, 1);
-+    compat_luaL_setfuncs(l, reg, 1);
- 
-     /* Set cjson.null */
-     lua_pushlightuserdata(l, NULL);

diff --git a/dev-db/redis/files/redis-5.0.8-ppc-atomic.patch b/dev-db/redis/files/redis-5.0.8-ppc-atomic.patch
deleted file mode 100644
index 61a4cc721eb1..000000000000
--- a/dev-db/redis/files/redis-5.0.8-ppc-atomic.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/src/Makefile b/src/Makefile
-index 4b2a31c..4ef853b 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -77,6 +77,14 @@ FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
- FINAL_LIBS=-lm
- DEBUG=-g -ggdb
- 
-+ifneq (,$(filter powerpc ppc,$(uname_M)))
-+        FINAL_LIBS+=-latomic
-+else
-+ifneq (,$(findstring ppc,$(uname_M)))
-+        FINAL_LIBS+=-latomic
-+endif
-+endif
-+
- # Linux ARM needs -latomic at linking time
- ifneq (,$(filter aarch64 armv,$(uname_M)))
-         FINAL_LIBS+=-latomic

diff --git a/dev-db/redis/files/redis-6.0.12-sharedlua.patch b/dev-db/redis/files/redis-6.0.12-sharedlua.patch
deleted file mode 100644
index 3707bcf30788..000000000000
--- a/dev-db/redis/files/redis-6.0.12-sharedlua.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff --git a/deps/lua/src/lua_cjson.c b/deps/lua/src/lua_cjson.c
-index c26c0d7..fa50c41 100644
---- a/deps/lua/src/lua_cjson.c
-+++ b/deps/lua/src/lua_cjson.c
-@@ -46,7 +46,7 @@
- #include "strbuf.h"
- #include "fpconv.h"
- 
--#include "../../../src/solarisfixes.h"
-+#include "solarisfixes.h"
- 
- #ifndef CJSON_MODNAME
- #define CJSON_MODNAME   "cjson"
-diff --git a/src/Makefile b/src/Makefile
-index cfecbb2..86c3127 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -16,7 +16,7 @@ release_hdr := $(shell sh -c './mkreleasehdr.sh')
- 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
-+DEPENDENCY_TARGETS=hiredis linenoise
- NODEPS:=clean distclean
- 
- # Default settings
-@@ -69,6 +69,7 @@ endif
- FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
- FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
- FINAL_LIBS=-lm
-+FINAL_LIBS+=@LUA_LIBS@
- DEBUG=-g -ggdb
- 
- # Linux ARM needs -latomic at linking time
-@@ -159,7 +160,7 @@ endif
- 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 @LUA_CFLAGS@
- 
- # Determine systemd support and/or build preference (defaulting to auto-detection)
- BUILD_WITH_SYSTEMD=no
-@@ -238,6 +239,7 @@ endif
- REDIS_SERVER_NAME=redis-server$(PROG_SUFFIX)
- REDIS_SENTINEL_NAME=redis-sentinel$(PROG_SUFFIX)
- 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 crcspeed.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 t_stream.o listpack.o localtime.o lolwut.o lolwut5.o lolwut6.o acl.o gopher.o tracking.o connection.o tls.o sha256.o timeout.o setcpuaffinity.o mt19937-64.o
-+REDIS_SERVER_OBJ+=fpconv.o strbuf.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o
- REDIS_CLI_NAME=redis-cli$(PROG_SUFFIX)
- REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o crcspeed.o crc64.o siphash.o crc16.o mt19937-64.o
- REDIS_BENCHMARK_NAME=redis-benchmark$(PROG_SUFFIX)
-@@ -291,7 +293,7 @@ endif
- 
- # redis-server
- $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ)
--	$(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)

diff --git a/dev-db/redis/redis-6.0.16.ebuild b/dev-db/redis/redis-6.0.16.ebuild
deleted file mode 100644
index 9c1f2e88c2da..000000000000
--- a/dev-db/redis/redis-6.0.16.ebuild
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# Redis does NOT build with Lua 5.2 or newer at this time:
-#  - 5.3 and 5.4 give:
-# lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
-#  - 5.2 fails with:
-# scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
-#    because lua_open became lua_newstate in 5.2
-LUA_COMPAT=( lua5-1 luajit )
-
-inherit autotools edo flag-o-matic lua-single multiprocessing systemd tmpfiles toolchain-funcs
-
-DESCRIPTION="A persistent caching system, key-value and data structures database"
-HOMEPAGE="https://redis.io"
-SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="+jemalloc selinux ssl systemd tcmalloc test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
-	${LUA_DEPS}
-	jemalloc? ( >=dev-libs/jemalloc-5.1:= )
-	ssl? ( dev-libs/openssl:0= )
-	systemd? ( sys-apps/systemd:= )
-	tcmalloc? ( dev-util/google-perftools )
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	acct-group/redis
-	acct-user/redis
-	selinux? ( sec-policy/selinux-redis )
-"
-
-BDEPEND="
-	${COMMON_DEPEND}
-	virtual/pkgconfig
-"
-
-# Tcl is only needed in the CHOST test env
-DEPEND="
-	${COMMON_DEPEND}
-	test? (
-		dev-lang/tcl:0=
-		ssl? ( dev-tcltk/tls )
-	)"
-
-REQUIRED_USE="?? ( jemalloc tcmalloc )
-	${LUA_REQUIRED_USE}"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-3.2.3-config.patch
-	"${FILESDIR}"/${PN}-5.0-shared.patch
-	"${FILESDIR}"/${PN}-6.0.12-sharedlua.patch
-	"${FILESDIR}"/${PN}-5.0.8-ppc-atomic.patch
-	"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
-	"${FILESDIR}"/${PN}-5.0-luajit-2.1-fix.patch
-)
-
-src_prepare() {
-	default
-
-	# Copy lua modules into build dir
-	cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
-	cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
-	# Append cflag for lua_cjson
-	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
-	append-cflags "-DENABLE_CJSON_GLOBAL"
-
-	# now we will rewrite present Makefiles
-	local makefiles="" MKF
-	for MKF in $(find -name 'Makefile' | cut -b 3-); do
-		mv "${MKF}" "${MKF}.in"
-		sed -i	-e 's:$(CC):@CC@:g' \
-			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
-			-e 's: $(DEBUG)::g' \
-			-e 's:$(OBJARCH)::g' \
-			-e 's:ARCH:TARCH:g' \
-			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
-			"${MKF}.in" \
-		|| die "Sed failed for ${MKF}"
-		makefiles+=" ${MKF}"
-	done
-	# autodetection of compiler and settings; generates the modified Makefiles
-	cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
-
-	# Use the correct pkgconfig name for Lua.
-	# The upstream configure script handles luajit specially, and is not
-	# affected by these changes.
-	sed -i	\
-		-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
-		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
-		-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${ELUA},g" \
-		configure.ac || die "Sed failed for configure.ac"
-	eautoreconf
-}
-
-src_configure() {
-	econf $(use_with lua_single_target_luajit luajit)
-
-	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
-	# also, don't define ANSI/c99 for lua twice
-	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
-	local myconf=""
-
-	if use jemalloc; then
-		myconf+="MALLOC=jemalloc"
-	elif use tcmalloc; then
-		myconf+="MALLOC=tcmalloc"
-	else
-		myconf+="MALLOC=libc"
-	fi
-
-	if use ssl; then
-		myconf+=" BUILD_TLS=yes"
-	fi
-
-	export USE_SYSTEMD=$(usex systemd)
-
-	tc-export AR CC RANLIB
-	emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-src_test() {
-	local runtestargs=(
-		--clients "$(makeopts_jobs)" # see bug #649868
-
-		# unstable on jemalloc, see https://github.com/gentoo/gentoo/pull/15924
-		--skiptest "Active defrag"
-		--skiptest "Active defrag big keys"
-		--skiptest "Active defrag big list"
-		--skiptest "Active defrag edge case"
-	)
-
-	if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
-		ewarn "unit/oom-score-adj test will be skipped." \
-			"It is known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
-
-		# unit/oom-score-adj was introduced in version 6.2.0 and it was later backported to 6.0.7
-		runtestargs+=( --skipunit unit/oom-score-adj ) # see bug #756382
-	fi
-
-	if use ssl; then
-		edo ./utils/gen-test-certs.sh
-		runtestargs+=( --tls )
-	fi
-
-	edo ./runtest "${runtestargs[@]}"
-}
-
-src_install() {
-	insinto /etc/redis
-	doins redis.conf sentinel.conf
-	use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
-	fperms 0750 /etc/redis
-	fperms 0644 /etc/redis/{redis,sentinel}.conf
-
-	newconfd "${FILESDIR}/redis.confd-r2" redis
-	newinitd "${FILESDIR}/redis.initd-6" redis
-
-	systemd_newunit "${FILESDIR}/redis.service-4" redis.service
-	newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
-	newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
-	newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
-	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
-
-	dobin src/redis-cli
-	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
-	fperms 0750 /usr/sbin/redis-benchmark
-	dosym redis-server /usr/sbin/redis-sentinel
-
-	if use prefix; then
-		diropts -m0750
-	else
-		diropts -m0750 -o redis -g redis
-	fi
-	keepdir /var/{log,lib}/redis
-}
-
-pkg_postinst() {
-	tmpfiles_process redis.conf
-
-	ewarn "The default redis configuration file location changed to:"
-	ewarn "  /etc/redis/{redis,sentinel}.conf"
-	ewarn "Please apply your changes to the new configuration files."
-}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/
@ 2022-11-11 15:10 Joonas Niilola
  0 siblings, 0 replies; 17+ messages in thread
From: Joonas Niilola @ 2022-11-11 15:10 UTC (permalink / raw
  To: gentoo-commits

commit:     355ad01f1b82d113b950ea3e483a7c2bc54bed6d
Author:     Petr Vaněk <arkamar <AT> atlas <DOT> cz>
AuthorDate: Sat Oct 22 09:43:38 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri Nov 11 15:10:06 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=355ad01f

dev-db/redis: apply recommended patch for CVE-2022-3647 to 7.0.5

The patch is taken from upstream as is.

Upstream-commit: https://github.com/redis/redis/commit/0bf90d944313919eb8e63d3588bf63a367f020a3
Bug: https://bugs.gentoo.org/877863
Signed-off-by: Petr Vaněk <arkamar <AT> atlas.cz>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 dev-db/redis/files/redis-7.0.5-cve-2022-3647.patch | 173 +++++++++++++++++++
 dev-db/redis/redis-7.0.5-r1.ebuild                 | 191 +++++++++++++++++++++
 2 files changed, 364 insertions(+)

diff --git a/dev-db/redis/files/redis-7.0.5-cve-2022-3647.patch b/dev-db/redis/files/redis-7.0.5-cve-2022-3647.patch
new file mode 100644
index 000000000000..8f5eaff13fed
--- /dev/null
+++ b/dev-db/redis/files/redis-7.0.5-cve-2022-3647.patch
@@ -0,0 +1,173 @@
+This is the patch recommended to apply in order to fix CVE-2022-3647.
+
+Upstream-commit: https://github.com/redis/redis/commit/0bf90d944313919eb8e63d3588bf63a367f020a3
+Bug: https://bugs.gentoo.org/877863
+
+diff --git a/src/debug.c b/src/debug.c
+index 8cc811be4..b15ac8780 100644
+--- a/src/debug.c
++++ b/src/debug.c
+@@ -1123,73 +1123,88 @@ void bugReportStart(void) {
+ }
+ 
+ #ifdef HAVE_BACKTRACE
+-static void *getMcontextEip(ucontext_t *uc) {
++
++/* Returns the current eip and set it to the given new value (if its not NULL) */
++static void* getAndSetMcontextEip(ucontext_t *uc, void *eip) {
+ #define NOT_SUPPORTED() do {\
+     UNUSED(uc);\
++    UNUSED(eip);\
+     return NULL;\
+ } while(0)
++#define GET_SET_RETURN(target_var, new_val) do {\
++    void *old_val = (void*)target_var; \
++    if (new_val) { \
++        void **temp = (void**)&target_var; \
++        *temp = new_val; \
++    } \
++    return old_val; \
++} while(0)
+ #if defined(__APPLE__) && !defined(MAC_OS_X_VERSION_10_6)
+     /* OSX < 10.6 */
+     #if defined(__x86_64__)
+-    return (void*) uc->uc_mcontext->__ss.__rip;
++    GET_SET_RETURN(uc->uc_mcontext->__ss.__rip, eip);
+     #elif defined(__i386__)
+-    return (void*) uc->uc_mcontext->__ss.__eip;
++    GET_SET_RETURN(uc->uc_mcontext->__ss.__eip, eip);
+     #else
+-    return (void*) uc->uc_mcontext->__ss.__srr0;
++    GET_SET_RETURN(uc->uc_mcontext->__ss.__srr0, eip);
+     #endif
+ #elif defined(__APPLE__) && defined(MAC_OS_X_VERSION_10_6)
+     /* OSX >= 10.6 */
+     #if defined(_STRUCT_X86_THREAD_STATE64) && !defined(__i386__)
+-    return (void*) uc->uc_mcontext->__ss.__rip;
++    GET_SET_RETURN(uc->uc_mcontext->__ss.__rip, eip);
+     #elif defined(__i386__)
+-    return (void*) uc->uc_mcontext->__ss.__eip;
++    GET_SET_RETURN(uc->uc_mcontext->__ss.__eip, eip);
+     #else
+     /* OSX ARM64 */
+-    return (void*) arm_thread_state64_get_pc(uc->uc_mcontext->__ss);
++    void *old_val = (void*)arm_thread_state64_get_pc(uc->uc_mcontext->__ss);
++    if (eip) {
++        arm_thread_state64_set_pc_fptr(uc->uc_mcontext->__ss, eip);
++    }
++    return old_val;
+     #endif
+ #elif defined(__linux__)
+     /* Linux */
+     #if defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
+-    return (void*) uc->uc_mcontext.gregs[14]; /* Linux 32 */
++    GET_SET_RETURN(uc->uc_mcontext.gregs[14], eip);
+     #elif defined(__X86_64__) || defined(__x86_64__)
+-    return (void*) uc->uc_mcontext.gregs[16]; /* Linux 64 */
++    GET_SET_RETURN(uc->uc_mcontext.gregs[16], eip);
+     #elif defined(__ia64__) /* Linux IA64 */
+-    return (void*) uc->uc_mcontext.sc_ip;
++    GET_SET_RETURN(uc->uc_mcontext.sc_ip, eip);
+     #elif defined(__arm__) /* Linux ARM */
+-    return (void*) uc->uc_mcontext.arm_pc;
++    GET_SET_RETURN(uc->uc_mcontext.arm_pc, eip);
+     #elif defined(__aarch64__) /* Linux AArch64 */
+-    return (void*) uc->uc_mcontext.pc;
++    GET_SET_RETURN(uc->uc_mcontext.pc, eip);
+     #else
+     NOT_SUPPORTED();
+     #endif
+ #elif defined(__FreeBSD__)
+     /* FreeBSD */
+     #if defined(__i386__)
+-    return (void*) uc->uc_mcontext.mc_eip;
++    GET_SET_RETURN(uc->uc_mcontext.mc_eip, eip);
+     #elif defined(__x86_64__)
+-    return (void*) uc->uc_mcontext.mc_rip;
++    GET_SET_RETURN(uc->uc_mcontext.mc_rip, eip);
+     #else
+     NOT_SUPPORTED();
+     #endif
+ #elif defined(__OpenBSD__)
+     /* OpenBSD */
+     #if defined(__i386__)
+-    return (void*) uc->sc_eip;
++    GET_SET_RETURN(uc->sc_eip, eip);
+     #elif defined(__x86_64__)
+-    return (void*) uc->sc_rip;
++    GET_SET_RETURN(uc->sc_rip, eip);
+     #else
+     NOT_SUPPORTED();
+     #endif
+ #elif defined(__NetBSD__)
+     #if defined(__i386__)
+-    return (void*) uc->uc_mcontext.__gregs[_REG_EIP];
++    GET_SET_RETURN(uc->uc_mcontext.__gregs[_REG_EIP], eip);
+     #elif defined(__x86_64__)
+-    return (void*) uc->uc_mcontext.__gregs[_REG_RIP];
++    GET_SET_RETURN(uc->uc_mcontext.__gregs[_REG_RIP], eip);
+     #else
+     NOT_SUPPORTED();
+     #endif
+ #elif defined(__DragonFly__)
+-    return (void*) uc->uc_mcontext.mc_rip;
++    GET_SET_RETURN(uc->uc_mcontext.mc_rip, eip);
+ #else
+     NOT_SUPPORTED();
+ #endif
+@@ -1951,6 +1966,10 @@ void dumpCodeAroundEIP(void *eip) {
+     }
+ }
+ 
++void invalidFunctionWasCalled() {}
++
++typedef void (*invalidFunctionWasCalledType)();
++
+ void sigsegvHandler(int sig, siginfo_t *info, void *secret) {
+     UNUSED(secret);
+     UNUSED(info);
+@@ -1968,13 +1987,30 @@ void sigsegvHandler(int sig, siginfo_t *info, void *secret) {
+ 
+ #ifdef HAVE_BACKTRACE
+     ucontext_t *uc = (ucontext_t*) secret;
+-    void *eip = getMcontextEip(uc);
++    void *eip = getAndSetMcontextEip(uc, NULL);
+     if (eip != NULL) {
+         serverLog(LL_WARNING,
+         "Crashed running the instruction at: %p", eip);
+     }
+ 
+-    logStackTrace(getMcontextEip(uc), 1);
++    if (eip == info->si_addr) {
++        /* When eip matches the bad address, it's an indication that we crashed when calling a non-mapped
++         * function pointer. In that case the call to backtrace will crash trying to access that address and we
++         * won't get a crash report logged. Set it to a valid point to avoid that crash. */
++
++        /* This trick allow to avoid compiler warning */
++        void *ptr;
++        invalidFunctionWasCalledType *ptr_ptr = (invalidFunctionWasCalledType*)&ptr;
++        *ptr_ptr = invalidFunctionWasCalled;
++        getAndSetMcontextEip(uc, ptr);
++    }
++
++    logStackTrace(eip, 1);
++
++    if (eip == info->si_addr) {
++        /* Restore old eip */
++        getAndSetMcontextEip(uc, eip);
++    }
+ 
+     logRegisters(uc);
+ #endif
+@@ -2079,7 +2115,7 @@ void watchdogSignalHandler(int sig, siginfo_t *info, void *secret) {
+ 
+     serverLogFromHandler(LL_WARNING,"\n--- WATCHDOG TIMER EXPIRED ---");
+ #ifdef HAVE_BACKTRACE
+-    logStackTrace(getMcontextEip(uc), 1);
++    logStackTrace(getAndSetMcontextEip(uc, NULL), 1);
+ #else
+     serverLogFromHandler(LL_WARNING,"Sorry: no support for backtrace().");
+ #endif
+-- 
+2.37.4
+

diff --git a/dev-db/redis/redis-7.0.5-r1.ebuild b/dev-db/redis/redis-7.0.5-r1.ebuild
new file mode 100644
index 000000000000..83d9c9646600
--- /dev/null
+++ b/dev-db/redis/redis-7.0.5-r1.ebuild
@@ -0,0 +1,191 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# N.B.: It is no clue in porting to Lua eclasses, as upstream have deviated
+# too far from vanilla Lua, adding their own APIs like lua_enablereadonlytable
+
+inherit autotools edo flag-o-matic multiprocessing systemd tmpfiles toolchain-funcs
+
+DESCRIPTION="A persistent caching system, key-value, and data structures database"
+HOMEPAGE="https://redis.io"
+SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="+jemalloc selinux ssl systemd tcmalloc test"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+	jemalloc? ( >=dev-libs/jemalloc-5.1:= )
+	ssl? ( dev-libs/openssl:0= )
+	systemd? ( sys-apps/systemd:= )
+	tcmalloc? ( dev-util/google-perftools )
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	acct-group/redis
+	acct-user/redis
+	selinux? ( sec-policy/selinux-redis )
+"
+
+BDEPEND="
+	${COMMON_DEPEND}
+	virtual/pkgconfig
+"
+
+# Tcl is only needed in the CHOST test env
+DEPEND="
+	${COMMON_DEPEND}
+	test? (
+		dev-lang/tcl:0=
+		ssl? ( dev-tcltk/tls )
+	)"
+
+REQUIRED_USE="?? ( jemalloc tcmalloc )"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-6.2.1-config.patch
+	"${FILESDIR}"/${PN}-5.0-shared.patch
+	"${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
+	"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
+	"${FILESDIR}"/${PN}-7.0.4-no-which.patch
+	"${FILESDIR}"/${PN}-7.0.4-replica-tests-fix.patch
+
+	# see bug 877863
+	"${FILESDIR}/${PN}-7.0.5-cve-2022-3647.patch"
+)
+
+src_prepare() {
+	default
+
+	# Append cflag for lua_cjson
+	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+	append-cflags "-DENABLE_CJSON_GLOBAL"
+
+	# now we will rewrite present Makefiles
+	local makefiles="" MKF
+	for MKF in $(find -name 'Makefile' | cut -b 3-); do
+		mv "${MKF}" "${MKF}.in"
+		sed -i	-e 's:$(CC):@CC@:g' \
+			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+			-e 's: $(DEBUG)::g' \
+			-e 's:$(OBJARCH)::g' \
+			-e 's:ARCH:TARCH:g' \
+			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+			"${MKF}.in" \
+		|| die "Sed failed for ${MKF}"
+		makefiles+=" ${MKF}"
+	done
+	# autodetection of compiler and settings; generates the modified Makefiles
+	cp "${FILESDIR}"/configure.ac-7.0 configure.ac || die
+
+	sed -i	\
+		-e "/^AC_INIT/s|, __PV__, |, $PV, |" \
+		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
+		configure.ac || die "Sed failed for configure.ac"
+	eautoreconf
+}
+
+src_configure() {
+	econf
+
+	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
+	# also, don't define ANSI/c99 for lua twice
+	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
+}
+
+src_compile() {
+	local myconf=""
+
+	if use jemalloc; then
+		myconf+="MALLOC=jemalloc"
+	elif use tcmalloc; then
+		myconf+="MALLOC=tcmalloc"
+	else
+		myconf+="MALLOC=libc"
+	fi
+
+	if use ssl; then
+		myconf+=" BUILD_TLS=yes"
+	fi
+
+	export USE_SYSTEMD=$(usex systemd)
+
+	tc-export AR CC RANLIB
+	emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
+}
+
+src_test() {
+	local runtestargs=(
+		--clients "$(makeopts_jobs)" # see bug #649868
+
+		--skiptest "Active defrag eval scripts" # see bug #851654
+	)
+
+	if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
+		ewarn "oom-score-adj related tests will be skipped." \
+			"They are known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
+
+		runtestargs+=(
+			# unit/oom-score-adj was introduced in version 6.2.0
+			--skipunit unit/oom-score-adj # see bug #756382
+
+			# Following test was added in version 7.0.0 to unit/introspection.
+			# It also tries to adjust OOM score.
+			--skiptest "CONFIG SET rollback on apply error"
+		)
+	fi
+
+	if use ssl; then
+		edo ./utils/gen-test-certs.sh
+		runtestargs+=( --tls )
+	fi
+
+	edo ./runtest "${runtestargs[@]}"
+}
+
+src_install() {
+	insinto /etc/redis
+	doins redis.conf sentinel.conf
+	use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
+	fperms 0750 /etc/redis
+	fperms 0644 /etc/redis/{redis,sentinel}.conf
+
+	newconfd "${FILESDIR}/redis.confd-r2" redis
+	newinitd "${FILESDIR}/redis.initd-6" redis
+
+	systemd_newunit "${FILESDIR}/redis.service-4" redis.service
+	newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
+
+	newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
+	newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+	dodoc 00-RELEASENOTES BUGS CONTRIBUTING.md MANIFESTO README.md
+
+	dobin src/redis-cli
+	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
+	fperms 0750 /usr/sbin/redis-benchmark
+	dosym redis-server /usr/sbin/redis-sentinel
+
+	if use prefix; then
+		diropts -m0750
+	else
+		diropts -m0750 -o redis -g redis
+	fi
+	keepdir /var/{log,lib}/redis
+}
+
+pkg_postinst() {
+	tmpfiles_process redis.conf
+
+	ewarn "The default redis configuration file location changed to:"
+	ewarn "  /etc/redis/{redis,sentinel}.conf"
+	ewarn "Please apply your changes to the new configuration files."
+}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/
@ 2022-11-11 15:10 Joonas Niilola
  0 siblings, 0 replies; 17+ messages in thread
From: Joonas Niilola @ 2022-11-11 15:10 UTC (permalink / raw
  To: gentoo-commits

commit:     85442e23f002bbdbfe137a7fc15314eb6b048982
Author:     Petr Vaněk <arkamar <AT> atlas <DOT> cz>
AuthorDate: Sat Oct 22 09:52:31 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri Nov 11 15:10:06 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85442e23

dev-db/redis: backport recommended patch for CVE-2022-3647 to 6.2.7

The original patch does not apply cleanly, it was necessary to backport it.

Upstream-commit: https://github.com/redis/redis/commit/0bf90d944313919eb8e63d3588bf63a367f020a3
Bug: https://bugs.gentoo.org/877863
Signed-off-by: Petr Vaněk <arkamar <AT> atlas.cz>
Closes: https://github.com/gentoo/gentoo/pull/27893
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 dev-db/redis/files/redis-6.2.7-cve-2022-3647.patch | 173 ++++++++++++++++++
 dev-db/redis/redis-6.2.7-r2.ebuild                 | 198 +++++++++++++++++++++
 2 files changed, 371 insertions(+)

diff --git a/dev-db/redis/files/redis-6.2.7-cve-2022-3647.patch b/dev-db/redis/files/redis-6.2.7-cve-2022-3647.patch
new file mode 100644
index 000000000000..8c3a2358c8eb
--- /dev/null
+++ b/dev-db/redis/files/redis-6.2.7-cve-2022-3647.patch
@@ -0,0 +1,173 @@
+This is backported patch from upstream commit for version 6.2.7 which fixes CVE-2022-3647.
+
+Upstream-commit: https://github.com/redis/redis/commit/0bf90d944313919eb8e63d3588bf63a367f020a3
+Bug: https://bugs.gentoo.org/877863
+
+diff --git a/src/debug.c b/src/debug.c
+index 71ef51f8b..40fffec52 100644
+--- a/src/debug.c
++++ b/src/debug.c
+@@ -1019,61 +1019,88 @@ void bugReportStart(void) {
+ }
+ 
+ #ifdef HAVE_BACKTRACE
+-static void *getMcontextEip(ucontext_t *uc) {
++
++/* Returns the current eip and set it to the given new value (if its not NULL) */
++static void* getAndSetMcontextEip(ucontext_t *uc, void *eip) {
++#define NOT_SUPPORTED() do {\
++    UNUSED(uc);\
++    UNUSED(eip);\
++    return NULL;\
++} while(0)
++#define GET_SET_RETURN(target_var, new_val) do {\
++    void *old_val = (void*)target_var; \
++    if (new_val) { \
++        void **temp = (void**)&target_var; \
++        *temp = new_val; \
++    } \
++    return old_val; \
++} while(0)
+ #if defined(__APPLE__) && !defined(MAC_OS_X_VERSION_10_6)
+     /* OSX < 10.6 */
+     #if defined(__x86_64__)
+-    return (void*) uc->uc_mcontext->__ss.__rip;
++    GET_SET_RETURN(uc->uc_mcontext->__ss.__rip, eip);
+     #elif defined(__i386__)
+-    return (void*) uc->uc_mcontext->__ss.__eip;
++    GET_SET_RETURN(uc->uc_mcontext->__ss.__eip, eip);
+     #else
+-    return (void*) uc->uc_mcontext->__ss.__srr0;
++    GET_SET_RETURN(uc->uc_mcontext->__ss.__srr0, eip);
+     #endif
+ #elif defined(__APPLE__) && defined(MAC_OS_X_VERSION_10_6)
+     /* OSX >= 10.6 */
+     #if defined(_STRUCT_X86_THREAD_STATE64) && !defined(__i386__)
+-    return (void*) uc->uc_mcontext->__ss.__rip;
++    GET_SET_RETURN(uc->uc_mcontext->__ss.__rip, eip);
+     #elif defined(__i386__)
+-    return (void*) uc->uc_mcontext->__ss.__eip;
++    GET_SET_RETURN(uc->uc_mcontext->__ss.__eip, eip);
+     #else
+     /* OSX ARM64 */
+-    return (void*) arm_thread_state64_get_pc(uc->uc_mcontext->__ss);
++    void *old_val = (void*)arm_thread_state64_get_pc(uc->uc_mcontext->__ss);
++    if (eip) {
++        arm_thread_state64_set_pc_fptr(uc->uc_mcontext->__ss, eip);
++    }
++    return old_val;
+     #endif
+ #elif defined(__linux__)
+     /* Linux */
+     #if defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
+-    return (void*) uc->uc_mcontext.gregs[14]; /* Linux 32 */
++    GET_SET_RETURN(uc->uc_mcontext.gregs[14], eip);
+     #elif defined(__X86_64__) || defined(__x86_64__)
+-    return (void*) uc->uc_mcontext.gregs[16]; /* Linux 64 */
++    GET_SET_RETURN(uc->uc_mcontext.gregs[16], eip);
+     #elif defined(__ia64__) /* Linux IA64 */
+-    return (void*) uc->uc_mcontext.sc_ip;
++    GET_SET_RETURN(uc->uc_mcontext.sc_ip, eip);
+     #elif defined(__arm__) /* Linux ARM */
+-    return (void*) uc->uc_mcontext.arm_pc;
++    GET_SET_RETURN(uc->uc_mcontext.arm_pc, eip);
+     #elif defined(__aarch64__) /* Linux AArch64 */
+-    return (void*) uc->uc_mcontext.pc;
++    GET_SET_RETURN(uc->uc_mcontext.pc, eip);
++    #else
++    NOT_SUPPORTED();
+     #endif
+ #elif defined(__FreeBSD__)
+     /* FreeBSD */
+     #if defined(__i386__)
+-    return (void*) uc->uc_mcontext.mc_eip;
++    GET_SET_RETURN(uc->uc_mcontext.mc_eip, eip);
+     #elif defined(__x86_64__)
+-    return (void*) uc->uc_mcontext.mc_rip;
++    GET_SET_RETURN(uc->uc_mcontext.mc_rip, eip);
++    #else
++    NOT_SUPPORTED();
+     #endif
+ #elif defined(__OpenBSD__)
+     /* OpenBSD */
+     #if defined(__i386__)
+-    return (void*) uc->sc_eip;
++    GET_SET_RETURN(uc->sc_eip, eip);
+     #elif defined(__x86_64__)
+-    return (void*) uc->sc_rip;
++    GET_SET_RETURN(uc->sc_rip, eip);
++    #else
++    NOT_SUPPORTED();
+     #endif
+ #elif defined(__NetBSD__)
+     #if defined(__i386__)
+-    return (void*) uc->uc_mcontext.__gregs[_REG_EIP];
++    GET_SET_RETURN(uc->uc_mcontext.__gregs[_REG_EIP], eip);
+     #elif defined(__x86_64__)
+-    return (void*) uc->uc_mcontext.__gregs[_REG_RIP];
++    GET_SET_RETURN(uc->uc_mcontext.__gregs[_REG_RIP], eip);
++    #else
++    NOT_SUPPORTED();
+     #endif
+ #elif defined(__DragonFly__)
+-    return (void*) uc->uc_mcontext.mc_rip;
++    GET_SET_RETURN(uc->uc_mcontext.mc_rip, eip);
+ #else
+     return NULL;
+ #endif
+@@ -1800,6 +1827,10 @@ void dumpCodeAroundEIP(void *eip) {
+     }
+ }
+ 
++void invalidFunctionWasCalled() {}
++
++typedef void (*invalidFunctionWasCalledType)();
++
+ void sigsegvHandler(int sig, siginfo_t *info, void *secret) {
+     UNUSED(secret);
+     UNUSED(info);
+@@ -1817,13 +1848,30 @@ void sigsegvHandler(int sig, siginfo_t *info, void *secret) {
+ 
+ #ifdef HAVE_BACKTRACE
+     ucontext_t *uc = (ucontext_t*) secret;
+-    void *eip = getMcontextEip(uc);
++    void *eip = getAndSetMcontextEip(uc, NULL);
+     if (eip != NULL) {
+         serverLog(LL_WARNING,
+         "Crashed running the instruction at: %p", eip);
+     }
+ 
+-    logStackTrace(getMcontextEip(uc), 1);
++    if (eip == info->si_addr) {
++        /* When eip matches the bad address, it's an indication that we crashed when calling a non-mapped
++         * function pointer. In that case the call to backtrace will crash trying to access that address and we
++         * won't get a crash report logged. Set it to a valid point to avoid that crash. */
++
++        /* This trick allow to avoid compiler warning */
++        void *ptr;
++        invalidFunctionWasCalledType *ptr_ptr = (invalidFunctionWasCalledType*)&ptr;
++        *ptr_ptr = invalidFunctionWasCalled;
++        getAndSetMcontextEip(uc, ptr);
++    }
++
++    logStackTrace(eip, 1);
++
++    if (eip == info->si_addr) {
++        /* Restore old eip */
++        getAndSetMcontextEip(uc, eip);
++    }
+ 
+     logRegisters(uc);
+ #endif
+@@ -1918,7 +1966,7 @@ void watchdogSignalHandler(int sig, siginfo_t *info, void *secret) {
+ 
+     serverLogFromHandler(LL_WARNING,"\n--- WATCHDOG TIMER EXPIRED ---");
+ #ifdef HAVE_BACKTRACE
+-    logStackTrace(getMcontextEip(uc), 1);
++    logStackTrace(getAndSetMcontextEip(uc, NULL), 1);
+ #else
+     serverLogFromHandler(LL_WARNING,"Sorry: no support for backtrace().");
+ #endif
+-- 
+2.37.4
+

diff --git a/dev-db/redis/redis-6.2.7-r2.ebuild b/dev-db/redis/redis-6.2.7-r2.ebuild
new file mode 100644
index 000000000000..012ad4d40847
--- /dev/null
+++ b/dev-db/redis/redis-6.2.7-r2.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Redis does NOT build with Lua 5.2 or newer at this time:
+#  - 5.3 and 5.4 give:
+# lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
+#  - 5.2 fails with:
+# scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
+#    because lua_open became lua_newstate in 5.2
+LUA_COMPAT=( lua5-1 luajit )
+
+# Upstream have deviated too far from vanilla Lua, adding their own APIs
+# like lua_enablereadonlytable, but we still need the eclass and such
+# for bug #841422.
+inherit autotools edo flag-o-matic lua-single multiprocessing systemd tmpfiles toolchain-funcs
+
+DESCRIPTION="A persistent caching system, key-value, and data structures database"
+HOMEPAGE="https://redis.io"
+SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="+jemalloc selinux ssl systemd tcmalloc test"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+	${LUA_DEPS}
+	jemalloc? ( >=dev-libs/jemalloc-5.1:= )
+	ssl? ( dev-libs/openssl:0= )
+	systemd? ( sys-apps/systemd:= )
+	tcmalloc? ( dev-util/google-perftools )
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	acct-group/redis
+	acct-user/redis
+	selinux? ( sec-policy/selinux-redis )
+"
+
+BDEPEND="
+	${COMMON_DEPEND}
+	virtual/pkgconfig
+"
+
+# Tcl is only needed in the CHOST test env
+DEPEND="
+	${COMMON_DEPEND}
+	test? (
+		dev-lang/tcl:0=
+		ssl? ( dev-tcltk/tls )
+	)"
+
+REQUIRED_USE="?? ( jemalloc tcmalloc )
+	${LUA_REQUIRED_USE}"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-6.2.1-config.patch
+	"${FILESDIR}"/${PN}-5.0-shared.patch
+	"${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
+	"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
+
+	# see bug 877863
+	"${FILESDIR}/${PN}-6.2.7-cve-2022-3647.patch"
+)
+
+src_prepare() {
+	default
+
+	# Copy lua modules into build dir
+	#cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
+	#cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
+	# Append cflag for lua_cjson
+	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+	append-cflags "-DENABLE_CJSON_GLOBAL"
+
+	# now we will rewrite present Makefiles
+	local makefiles="" MKF
+	for MKF in $(find -name 'Makefile' | cut -b 3-); do
+		mv "${MKF}" "${MKF}.in"
+		sed -i	-e 's:$(CC):@CC@:g' \
+			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+			-e 's: $(DEBUG)::g' \
+			-e 's:$(OBJARCH)::g' \
+			-e 's:ARCH:TARCH:g' \
+			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+			"${MKF}.in" \
+		|| die "Sed failed for ${MKF}"
+		makefiles+=" ${MKF}"
+	done
+	# autodetection of compiler and settings; generates the modified Makefiles
+	cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
+
+	# Use the correct pkgconfig name for Lua.
+	# The upstream configure script handles luajit specially, and is not
+	# affected by these changes.
+	sed -i	\
+		-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
+		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
+		-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${ELUA},g" \
+		configure.ac || die "Sed failed for configure.ac"
+	eautoreconf
+}
+
+src_configure() {
+	econf #$(use_with lua_single_target_luajit luajit)
+
+	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
+	# also, don't define ANSI/c99 for lua twice
+	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
+}
+
+src_compile() {
+	local myconf=""
+
+	if use jemalloc; then
+		myconf+="MALLOC=jemalloc"
+	elif use tcmalloc; then
+		myconf+="MALLOC=tcmalloc"
+	else
+		myconf+="MALLOC=libc"
+	fi
+
+	if use ssl; then
+		myconf+=" BUILD_TLS=yes"
+	fi
+
+	export USE_SYSTEMD=$(usex systemd)
+
+	tc-export AR CC RANLIB
+	emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
+}
+
+src_test() {
+	local runtestargs=(
+		--clients "$(makeopts_jobs)" # see bug #649868
+	)
+
+	if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
+		ewarn "unit/oom-score-adj test will be skipped." \
+			"It is known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
+
+		# unit/oom-score-adj was introduced in version 6.2.0
+		runtestargs+=( --skipunit unit/oom-score-adj ) # see bug #756382
+	fi
+
+	if use ssl; then
+		edo ./utils/gen-test-certs.sh
+		runtestargs+=( --tls )
+	fi
+
+	edo ./runtest "${runtestargs[@]}"
+}
+
+src_install() {
+	insinto /etc/redis
+	doins redis.conf sentinel.conf
+	use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
+	fperms 0750 /etc/redis
+	fperms 0644 /etc/redis/{redis,sentinel}.conf
+
+	newconfd "${FILESDIR}/redis.confd-r2" redis
+	newinitd "${FILESDIR}/redis.initd-6" redis
+
+	systemd_newunit "${FILESDIR}/redis.service-4" redis.service
+	newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
+
+	newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
+	newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
+
+	dobin src/redis-cli
+	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
+	fperms 0750 /usr/sbin/redis-benchmark
+	dosym redis-server /usr/sbin/redis-sentinel
+
+	if use prefix; then
+		diropts -m0750
+	else
+		diropts -m0750 -o redis -g redis
+	fi
+	keepdir /var/{log,lib}/redis
+}
+
+pkg_postinst() {
+	tmpfiles_process redis.conf
+
+	ewarn "The default redis configuration file location changed to:"
+	ewarn "  /etc/redis/{redis,sentinel}.conf"
+	ewarn "Please apply your changes to the new configuration files."
+}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/
@ 2024-01-09 14:24 Petr Vaněk
  0 siblings, 0 replies; 17+ messages in thread
From: Petr Vaněk @ 2024-01-09 14:24 UTC (permalink / raw
  To: gentoo-commits

commit:     40f0aeee0d9ab31c81a869f258821733048f7423
Author:     Petr Vaněk <arkamar <AT> gentoo <DOT> org>
AuthorDate: Tue Jan  9 14:12:04 2024 +0000
Commit:     Petr Vaněk <arkamar <AT> gentoo <DOT> org>
CommitDate: Tue Jan  9 14:23:54 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=40f0aeee

dev-db/redis: drop versions

This commit drops most of vulnerable versions, however, security
cleanups are still blocked because of 7.0.5 which is the last stable
version for arm.

Bug: https://bugs.gentoo.org/891169
Bug: https://bugs.gentoo.org/898464
Bug: https://bugs.gentoo.org/902501
Bug: https://bugs.gentoo.org/904486
Bug: https://bugs.gentoo.org/910191
Bug: https://bugs.gentoo.org/913741
Bug: https://bugs.gentoo.org/915989
Bug: https://bugs.gentoo.org/921662
Signed-off-by: Petr Vaněk <arkamar <AT> gentoo.org>

 dev-db/redis/Manifest                              |   7 -
 dev-db/redis/files/redis-6.2.7-cve-2022-3647.patch | 173 ------------------
 dev-db/redis/redis-6.2.11.ebuild                   | 195 --------------------
 dev-db/redis/redis-6.2.13.ebuild                   | 195 --------------------
 dev-db/redis/redis-6.2.7-r2.ebuild                 | 198 --------------------
 dev-db/redis/redis-7.0.12.ebuild                   | 187 -------------------
 dev-db/redis/redis-7.0.13.ebuild                   | 187 -------------------
 dev-db/redis/redis-7.0.9.ebuild                    | 187 -------------------
 dev-db/redis/redis-7.2.2.ebuild                    | 200 ---------------------
 9 files changed, 1529 deletions(-)

diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index 8a62b03ac9f9..6136540cfb05 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -1,14 +1,7 @@
-DIST redis-6.2.11.tar.gz 2492990 BLAKE2B edf046d86e295878abc5ba46ea6c8048c97f27b90d132ec1318350fa0634bb5e4cd1407757f07ef3c11abcb13b05ccc8a757bc17d7f1c9800644dfc0d2994d77 SHA512 9962446d7b1f14524a3007967768b33281dd33706567b8ac56e4cb7d3caa8533bcbc319ea899a163d56567be85cbc03cdcc440d9b1c9707372e10b53d1c1dcd7
-DIST redis-6.2.13.tar.gz 2496004 BLAKE2B 91b6fcd72c1330aca358443c082967ed6f1ec27ecc2c1ea50e3824fb615a503710e75bac1cdc1c5305b95f2bea3bd43be21646dcbbdab85d401e832a3b5c7eea SHA512 644d02f357300cac3ef632f689dcf1786ad8a2c2ca68202bcd6dc6abfd728cc805e3ad3d99dbbe5503bf2ef5ce0cb8c11d3eab29aed780ae787094562e99c702
 DIST redis-6.2.14.tar.gz 2496149 BLAKE2B 689a0c3b558e07f43f8b1480fbf7a083184bbc0ccde0b184dc8a1d89ed22bec9694b7c8605ff729c9e9d582e8cf47c8f9cd9ee0794ea15e07cdb0b886e93c116 SHA512 140d4b23c20d459b65be8c61996e281222f978b51c52cb048039d741801e4027775ad89ed354dc0dce3d47703a08610adafaf6253fea2f973d5b9d20bc1e59ce
-DIST redis-6.2.7.tar.gz 2487287 BLAKE2B 06f1b1e16cdf06c38b67c1f1dcccc025da50cc3719688b8c2bf23077d77dd97ea546909043fb65e60478ac3661cc033fa6e8d7a38e361e69eb93ba3db07b7c66 SHA512 d113094b8e31754915db7f0317d9b7969e034af3a7bac2ae0cbfad6cc61ba3aae35e9709c435abc1024a96f914df7a760b3cd18d06c375b541cfa837d1c5b953
-DIST redis-7.0.12.tar.gz 2992216 BLAKE2B 3aad6063d1d757568ebf249868b7728be49483c1e59f55cc84bc6407b1e9957abc68160f2ba2c4479679304cbe3878beba018cfbf89f818c015d3b1481ce9225 SHA512 27ed0ab054d262028d236694f323387e3ef0e007de782545878011a7535e188152ed0af898dea4d6c0a7fa385849bbce6a0d85661780cb0e69c7d89dea3825b8
-DIST redis-7.0.13.tar.gz 2993829 BLAKE2B fd6902d1a19dddabc6998bd0478f723cc13420807491a97a4ec4bb63046228b87e949a112b8b89f3a3d1d7c1e00dcbc53fcecd3b8b54af7ddfd39d96cb723607 SHA512 9abb170864b7c4ccdfd1b3f8cf95ff8ce544e68986da952cf33e0d9ba82097d22de6410271299d94cd180d67ffc5baeda03d471a838fceaa9b5c29844171fb01
 DIST redis-7.0.14.tar.gz 2994188 BLAKE2B ab4325df8f1af1f7b8c634265a1c7001486c305d4210e72045e6434207e4a447e67d41fa07bd3cd5a57da173e7f9893bf386b18b556156cf559019573a7c4f8b SHA512 31d851dd72cea7d1e48c0df5646c91a2f7b72696067c017936984c49912f6e846ba6469c1ee8e361e362c8683912a25f6eee3993ed1a73cfe70051e84ad79b8b
 DIST redis-7.0.15.tar.gz 2994329 BLAKE2B fa1bc85c89cb6a6fb18710a4d29c20db44a80ce445d217f39a234a2aad1d79031e9d1fc45415af7b0eb1c169bd88f45f1fe60cab35de38c6fadc839e2a27676d SHA512 83d58f98085f91754f6d87810e7da0d6cf11ffbe11a0f5d3581d5b2c63d2a752ba6b4eda921a04031aedc56ecebe349cd468ab5ad837493f55d2cac0ab3d015a
 DIST redis-7.0.5.tar.gz 2968205 BLAKE2B c319a2f656e4bd26637735ef73e58eecc306e202b57d6da3a38150a02d738a414c6696e261b8ab88033e117aee4f02308aab9ca4a5f382d66ec3a10f3e020580 SHA512 16ff920cb8df4d82e78ef34209285024aa98189be8acbca86b10fb3064dcc70eac60206aadece6af08406860ed01a004ce3aaa86be896ea36c7f486686646753
-DIST redis-7.0.9.tar.gz 2984823 BLAKE2B 9c2e79f40ad14f6412ec4bc79507a32f8780bf4b3a311b87dd309e74b6367536f1c91b8026efc6acb3d750ca7c49687a74660c66d104caa439ef385db3eab230 SHA512 e984a19583e4aae0a5dce85a434d3255f4f13725eba0f11a1fe1a1189b17035152a26b65f1a3a8834f0dd8218f4a65986c918f96386120ea9419bd02366c8293
 DIST redis-7.2.1.tar.gz 3383319 BLAKE2B 92784af3d1df338a8af7475ab7c598309f33f682ad4bb0b827f170c9f20c1a0879b433c6325c90dd6ba17e06e95bf7d8a9a665d6706065ff4c4c8c141d9c93c1 SHA512 7df4afd51dceea0edbb999027c84820a6aebdd58d71b2e93a4861120fa2b9c0801a0e61c70e695845dbff4e9b96907a4215dcacf72d3593ad014cfa584b5cad0
-DIST redis-7.2.2.tar.gz 3384618 BLAKE2B d169f7cbbba88999d3eb6c9b90c178991e4aac081e877eb8a7f061679e1f80d7055aa884fd5ed01b8907885d5b50f898ce884f2c9ac93b674e870550cf509deb SHA512 1ca6f245d6b224c4fa140e8b8d0911465403ed0a2e369f8a0f6e63495be64b76a4ebd4f214dcc4f5dae90203556d99b7884a0796c35a5c20b38c21cdbd4bd0e7
 DIST redis-7.2.3.tar.gz 3384816 BLAKE2B 6aaf1bae377f3885affd140365eb0c2c30079fe40d770af1ac75a50647ce811e6c4dccd4b886db315e7b78e60661fa0bee280d707c1c4490f32086d0793069c3 SHA512 2ce4bbb056372f1180ceb1863106d07b021d32af2379f1f5dfc61e930c2cd0303433af22c7231adc8890ab5581cb41be3b792f19a0b1645108735c86d9fdf68e
 DIST redis-7.2.4.tar.gz 3386861 BLAKE2B 852d55f875378248fa15e189308afbe36bca73c2aa2e5423a765a3d6f6895908ac1455148e032f6d1a1087f57af5869bccf8a932684817109f3fcf09b204e639 SHA512 78590fb6680f229905c240ed8ce7a9a7153e5f8563577dbbb26aebf9bfbdcd7495d687f452bd95e0a86c76d772e1c497b506cf8d29bc97b62c9267f7d1e76f72

diff --git a/dev-db/redis/files/redis-6.2.7-cve-2022-3647.patch b/dev-db/redis/files/redis-6.2.7-cve-2022-3647.patch
deleted file mode 100644
index 8c3a2358c8eb..000000000000
--- a/dev-db/redis/files/redis-6.2.7-cve-2022-3647.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-This is backported patch from upstream commit for version 6.2.7 which fixes CVE-2022-3647.
-
-Upstream-commit: https://github.com/redis/redis/commit/0bf90d944313919eb8e63d3588bf63a367f020a3
-Bug: https://bugs.gentoo.org/877863
-
-diff --git a/src/debug.c b/src/debug.c
-index 71ef51f8b..40fffec52 100644
---- a/src/debug.c
-+++ b/src/debug.c
-@@ -1019,61 +1019,88 @@ void bugReportStart(void) {
- }
- 
- #ifdef HAVE_BACKTRACE
--static void *getMcontextEip(ucontext_t *uc) {
-+
-+/* Returns the current eip and set it to the given new value (if its not NULL) */
-+static void* getAndSetMcontextEip(ucontext_t *uc, void *eip) {
-+#define NOT_SUPPORTED() do {\
-+    UNUSED(uc);\
-+    UNUSED(eip);\
-+    return NULL;\
-+} while(0)
-+#define GET_SET_RETURN(target_var, new_val) do {\
-+    void *old_val = (void*)target_var; \
-+    if (new_val) { \
-+        void **temp = (void**)&target_var; \
-+        *temp = new_val; \
-+    } \
-+    return old_val; \
-+} while(0)
- #if defined(__APPLE__) && !defined(MAC_OS_X_VERSION_10_6)
-     /* OSX < 10.6 */
-     #if defined(__x86_64__)
--    return (void*) uc->uc_mcontext->__ss.__rip;
-+    GET_SET_RETURN(uc->uc_mcontext->__ss.__rip, eip);
-     #elif defined(__i386__)
--    return (void*) uc->uc_mcontext->__ss.__eip;
-+    GET_SET_RETURN(uc->uc_mcontext->__ss.__eip, eip);
-     #else
--    return (void*) uc->uc_mcontext->__ss.__srr0;
-+    GET_SET_RETURN(uc->uc_mcontext->__ss.__srr0, eip);
-     #endif
- #elif defined(__APPLE__) && defined(MAC_OS_X_VERSION_10_6)
-     /* OSX >= 10.6 */
-     #if defined(_STRUCT_X86_THREAD_STATE64) && !defined(__i386__)
--    return (void*) uc->uc_mcontext->__ss.__rip;
-+    GET_SET_RETURN(uc->uc_mcontext->__ss.__rip, eip);
-     #elif defined(__i386__)
--    return (void*) uc->uc_mcontext->__ss.__eip;
-+    GET_SET_RETURN(uc->uc_mcontext->__ss.__eip, eip);
-     #else
-     /* OSX ARM64 */
--    return (void*) arm_thread_state64_get_pc(uc->uc_mcontext->__ss);
-+    void *old_val = (void*)arm_thread_state64_get_pc(uc->uc_mcontext->__ss);
-+    if (eip) {
-+        arm_thread_state64_set_pc_fptr(uc->uc_mcontext->__ss, eip);
-+    }
-+    return old_val;
-     #endif
- #elif defined(__linux__)
-     /* Linux */
-     #if defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
--    return (void*) uc->uc_mcontext.gregs[14]; /* Linux 32 */
-+    GET_SET_RETURN(uc->uc_mcontext.gregs[14], eip);
-     #elif defined(__X86_64__) || defined(__x86_64__)
--    return (void*) uc->uc_mcontext.gregs[16]; /* Linux 64 */
-+    GET_SET_RETURN(uc->uc_mcontext.gregs[16], eip);
-     #elif defined(__ia64__) /* Linux IA64 */
--    return (void*) uc->uc_mcontext.sc_ip;
-+    GET_SET_RETURN(uc->uc_mcontext.sc_ip, eip);
-     #elif defined(__arm__) /* Linux ARM */
--    return (void*) uc->uc_mcontext.arm_pc;
-+    GET_SET_RETURN(uc->uc_mcontext.arm_pc, eip);
-     #elif defined(__aarch64__) /* Linux AArch64 */
--    return (void*) uc->uc_mcontext.pc;
-+    GET_SET_RETURN(uc->uc_mcontext.pc, eip);
-+    #else
-+    NOT_SUPPORTED();
-     #endif
- #elif defined(__FreeBSD__)
-     /* FreeBSD */
-     #if defined(__i386__)
--    return (void*) uc->uc_mcontext.mc_eip;
-+    GET_SET_RETURN(uc->uc_mcontext.mc_eip, eip);
-     #elif defined(__x86_64__)
--    return (void*) uc->uc_mcontext.mc_rip;
-+    GET_SET_RETURN(uc->uc_mcontext.mc_rip, eip);
-+    #else
-+    NOT_SUPPORTED();
-     #endif
- #elif defined(__OpenBSD__)
-     /* OpenBSD */
-     #if defined(__i386__)
--    return (void*) uc->sc_eip;
-+    GET_SET_RETURN(uc->sc_eip, eip);
-     #elif defined(__x86_64__)
--    return (void*) uc->sc_rip;
-+    GET_SET_RETURN(uc->sc_rip, eip);
-+    #else
-+    NOT_SUPPORTED();
-     #endif
- #elif defined(__NetBSD__)
-     #if defined(__i386__)
--    return (void*) uc->uc_mcontext.__gregs[_REG_EIP];
-+    GET_SET_RETURN(uc->uc_mcontext.__gregs[_REG_EIP], eip);
-     #elif defined(__x86_64__)
--    return (void*) uc->uc_mcontext.__gregs[_REG_RIP];
-+    GET_SET_RETURN(uc->uc_mcontext.__gregs[_REG_RIP], eip);
-+    #else
-+    NOT_SUPPORTED();
-     #endif
- #elif defined(__DragonFly__)
--    return (void*) uc->uc_mcontext.mc_rip;
-+    GET_SET_RETURN(uc->uc_mcontext.mc_rip, eip);
- #else
-     return NULL;
- #endif
-@@ -1800,6 +1827,10 @@ void dumpCodeAroundEIP(void *eip) {
-     }
- }
- 
-+void invalidFunctionWasCalled() {}
-+
-+typedef void (*invalidFunctionWasCalledType)();
-+
- void sigsegvHandler(int sig, siginfo_t *info, void *secret) {
-     UNUSED(secret);
-     UNUSED(info);
-@@ -1817,13 +1848,30 @@ void sigsegvHandler(int sig, siginfo_t *info, void *secret) {
- 
- #ifdef HAVE_BACKTRACE
-     ucontext_t *uc = (ucontext_t*) secret;
--    void *eip = getMcontextEip(uc);
-+    void *eip = getAndSetMcontextEip(uc, NULL);
-     if (eip != NULL) {
-         serverLog(LL_WARNING,
-         "Crashed running the instruction at: %p", eip);
-     }
- 
--    logStackTrace(getMcontextEip(uc), 1);
-+    if (eip == info->si_addr) {
-+        /* When eip matches the bad address, it's an indication that we crashed when calling a non-mapped
-+         * function pointer. In that case the call to backtrace will crash trying to access that address and we
-+         * won't get a crash report logged. Set it to a valid point to avoid that crash. */
-+
-+        /* This trick allow to avoid compiler warning */
-+        void *ptr;
-+        invalidFunctionWasCalledType *ptr_ptr = (invalidFunctionWasCalledType*)&ptr;
-+        *ptr_ptr = invalidFunctionWasCalled;
-+        getAndSetMcontextEip(uc, ptr);
-+    }
-+
-+    logStackTrace(eip, 1);
-+
-+    if (eip == info->si_addr) {
-+        /* Restore old eip */
-+        getAndSetMcontextEip(uc, eip);
-+    }
- 
-     logRegisters(uc);
- #endif
-@@ -1918,7 +1966,7 @@ void watchdogSignalHandler(int sig, siginfo_t *info, void *secret) {
- 
-     serverLogFromHandler(LL_WARNING,"\n--- WATCHDOG TIMER EXPIRED ---");
- #ifdef HAVE_BACKTRACE
--    logStackTrace(getMcontextEip(uc), 1);
-+    logStackTrace(getAndSetMcontextEip(uc, NULL), 1);
- #else
-     serverLogFromHandler(LL_WARNING,"Sorry: no support for backtrace().");
- #endif
--- 
-2.37.4
-

diff --git a/dev-db/redis/redis-6.2.11.ebuild b/dev-db/redis/redis-6.2.11.ebuild
deleted file mode 100644
index 6f989b380184..000000000000
--- a/dev-db/redis/redis-6.2.11.ebuild
+++ /dev/null
@@ -1,195 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Redis does NOT build with Lua 5.2 or newer at this time:
-#  - 5.3 and 5.4 give:
-# lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
-#  - 5.2 fails with:
-# scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
-#    because lua_open became lua_newstate in 5.2
-LUA_COMPAT=( lua5-1 luajit )
-
-# Upstream have deviated too far from vanilla Lua, adding their own APIs
-# like lua_enablereadonlytable, but we still need the eclass and such
-# for bug #841422.
-inherit autotools edo flag-o-matic lua-single multiprocessing systemd tmpfiles toolchain-funcs
-
-DESCRIPTION="A persistent caching system, key-value, and data structures database"
-HOMEPAGE="https://redis.io"
-SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+jemalloc selinux ssl systemd tcmalloc test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
-	${LUA_DEPS}
-	jemalloc? ( >=dev-libs/jemalloc-5.1:= )
-	ssl? ( dev-libs/openssl:0= )
-	systemd? ( sys-apps/systemd:= )
-	tcmalloc? ( dev-util/google-perftools )
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	acct-group/redis
-	acct-user/redis
-	selinux? ( sec-policy/selinux-redis )
-"
-
-BDEPEND="
-	${COMMON_DEPEND}
-	virtual/pkgconfig
-"
-
-# Tcl is only needed in the CHOST test env
-DEPEND="
-	${COMMON_DEPEND}
-	test? (
-		dev-lang/tcl:0=
-		ssl? ( dev-tcltk/tls )
-	)"
-
-REQUIRED_USE="?? ( jemalloc tcmalloc )
-	${LUA_REQUIRED_USE}"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-6.2.1-config.patch
-	"${FILESDIR}"/${PN}-5.0-shared.patch
-	"${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
-	"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
-)
-
-src_prepare() {
-	default
-
-	# Copy lua modules into build dir
-	#cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
-	#cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
-	# Append cflag for lua_cjson
-	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
-	append-cflags "-DENABLE_CJSON_GLOBAL"
-
-	# now we will rewrite present Makefiles
-	local makefiles="" MKF
-	for MKF in $(find -name 'Makefile' | cut -b 3-); do
-		mv "${MKF}" "${MKF}.in"
-		sed -i	-e 's:$(CC):@CC@:g' \
-			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
-			-e 's: $(DEBUG)::g' \
-			-e 's:$(OBJARCH)::g' \
-			-e 's:ARCH:TARCH:g' \
-			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
-			"${MKF}.in" \
-		|| die "Sed failed for ${MKF}"
-		makefiles+=" ${MKF}"
-	done
-	# autodetection of compiler and settings; generates the modified Makefiles
-	cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
-
-	# Use the correct pkgconfig name for Lua.
-	# The upstream configure script handles luajit specially, and is not
-	# affected by these changes.
-	sed -i	\
-		-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
-		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
-		-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${ELUA},g" \
-		configure.ac || die "Sed failed for configure.ac"
-	eautoreconf
-}
-
-src_configure() {
-	econf #$(use_with lua_single_target_luajit luajit)
-
-	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
-	# also, don't define ANSI/c99 for lua twice
-	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
-	local myconf=""
-
-	if use jemalloc; then
-		myconf+="MALLOC=jemalloc"
-	elif use tcmalloc; then
-		myconf+="MALLOC=tcmalloc"
-	else
-		myconf+="MALLOC=libc"
-	fi
-
-	if use ssl; then
-		myconf+=" BUILD_TLS=yes"
-	fi
-
-	export USE_SYSTEMD=$(usex systemd)
-
-	tc-export AR CC RANLIB
-	emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-src_test() {
-	local runtestargs=(
-		--clients "$(makeopts_jobs)" # see bug #649868
-	)
-
-	if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
-		ewarn "unit/oom-score-adj test will be skipped." \
-			"It is known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
-
-		# unit/oom-score-adj was introduced in version 6.2.0
-		runtestargs+=( --skipunit unit/oom-score-adj ) # see bug #756382
-	fi
-
-	if use ssl; then
-		edo ./utils/gen-test-certs.sh
-		runtestargs+=( --tls )
-	fi
-
-	edo ./runtest "${runtestargs[@]}"
-}
-
-src_install() {
-	insinto /etc/redis
-	doins redis.conf sentinel.conf
-	use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
-	fperms 0750 /etc/redis
-	fperms 0644 /etc/redis/{redis,sentinel}.conf
-
-	newconfd "${FILESDIR}/redis.confd-r2" redis
-	newinitd "${FILESDIR}/redis.initd-6" redis
-
-	systemd_newunit "${FILESDIR}/redis.service-4" redis.service
-	newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
-	newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
-	newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
-	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
-
-	dobin src/redis-cli
-	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
-	fperms 0750 /usr/sbin/redis-benchmark
-	dosym redis-server /usr/sbin/redis-sentinel
-
-	if use prefix; then
-		diropts -m0750
-	else
-		diropts -m0750 -o redis -g redis
-	fi
-	keepdir /var/{log,lib}/redis
-}
-
-pkg_postinst() {
-	tmpfiles_process redis.conf
-
-	ewarn "The default redis configuration file location changed to:"
-	ewarn "  /etc/redis/{redis,sentinel}.conf"
-	ewarn "Please apply your changes to the new configuration files."
-}

diff --git a/dev-db/redis/redis-6.2.13.ebuild b/dev-db/redis/redis-6.2.13.ebuild
deleted file mode 100644
index 93779dea14c8..000000000000
--- a/dev-db/redis/redis-6.2.13.ebuild
+++ /dev/null
@@ -1,195 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Redis does NOT build with Lua 5.2 or newer at this time:
-#  - 5.3 and 5.4 give:
-# lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
-#  - 5.2 fails with:
-# scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
-#    because lua_open became lua_newstate in 5.2
-LUA_COMPAT=( lua5-1 luajit )
-
-# Upstream have deviated too far from vanilla Lua, adding their own APIs
-# like lua_enablereadonlytable, but we still need the eclass and such
-# for bug #841422.
-inherit autotools edo flag-o-matic lua-single multiprocessing systemd tmpfiles toolchain-funcs
-
-DESCRIPTION="A persistent caching system, key-value, and data structures database"
-HOMEPAGE="https://redis.io"
-SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+jemalloc selinux ssl systemd tcmalloc test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
-	${LUA_DEPS}
-	jemalloc? ( >=dev-libs/jemalloc-5.1:= )
-	ssl? ( dev-libs/openssl:0= )
-	systemd? ( sys-apps/systemd:= )
-	tcmalloc? ( dev-util/google-perftools )
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	acct-group/redis
-	acct-user/redis
-	selinux? ( sec-policy/selinux-redis )
-"
-
-BDEPEND="
-	${COMMON_DEPEND}
-	virtual/pkgconfig
-"
-
-# Tcl is only needed in the CHOST test env
-DEPEND="
-	${COMMON_DEPEND}
-	test? (
-		dev-lang/tcl:0=
-		ssl? ( dev-tcltk/tls )
-	)"
-
-REQUIRED_USE="?? ( jemalloc tcmalloc )
-	${LUA_REQUIRED_USE}"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-6.2.1-config.patch
-	"${FILESDIR}"/${PN}-5.0-shared.patch
-	"${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
-	"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
-)
-
-src_prepare() {
-	default
-
-	# Copy lua modules into build dir
-	#cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
-	#cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
-	# Append cflag for lua_cjson
-	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
-	append-cflags "-DENABLE_CJSON_GLOBAL"
-
-	# now we will rewrite present Makefiles
-	local makefiles="" MKF
-	for MKF in $(find -name 'Makefile' | cut -b 3-); do
-		mv "${MKF}" "${MKF}.in"
-		sed -i	-e 's:$(CC):@CC@:g' \
-			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
-			-e 's: $(DEBUG)::g' \
-			-e 's:$(OBJARCH)::g' \
-			-e 's:ARCH:TARCH:g' \
-			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
-			"${MKF}.in" \
-		|| die "Sed failed for ${MKF}"
-		makefiles+=" ${MKF}"
-	done
-	# autodetection of compiler and settings; generates the modified Makefiles
-	cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
-
-	# Use the correct pkgconfig name for Lua.
-	# The upstream configure script handles luajit specially, and is not
-	# affected by these changes.
-	sed -i	\
-		-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
-		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
-		-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${ELUA},g" \
-		configure.ac || die "Sed failed for configure.ac"
-	eautoreconf
-}
-
-src_configure() {
-	econf #$(use_with lua_single_target_luajit luajit)
-
-	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
-	# also, don't define ANSI/c99 for lua twice
-	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
-	local myconf=""
-
-	if use jemalloc; then
-		myconf+="MALLOC=jemalloc"
-	elif use tcmalloc; then
-		myconf+="MALLOC=tcmalloc"
-	else
-		myconf+="MALLOC=libc"
-	fi
-
-	if use ssl; then
-		myconf+=" BUILD_TLS=yes"
-	fi
-
-	export USE_SYSTEMD=$(usex systemd)
-
-	tc-export AR CC RANLIB
-	emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-src_test() {
-	local runtestargs=(
-		--clients "$(makeopts_jobs)" # see bug #649868
-	)
-
-	if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
-		ewarn "unit/oom-score-adj test will be skipped." \
-			"It is known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
-
-		# unit/oom-score-adj was introduced in version 6.2.0
-		runtestargs+=( --skipunit unit/oom-score-adj ) # see bug #756382
-	fi
-
-	if use ssl; then
-		edo ./utils/gen-test-certs.sh
-		runtestargs+=( --tls )
-	fi
-
-	edo ./runtest "${runtestargs[@]}"
-}
-
-src_install() {
-	insinto /etc/redis
-	doins redis.conf sentinel.conf
-	use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
-	fperms 0750 /etc/redis
-	fperms 0644 /etc/redis/{redis,sentinel}.conf
-
-	newconfd "${FILESDIR}/redis.confd-r2" redis
-	newinitd "${FILESDIR}/redis.initd-6" redis
-
-	systemd_newunit "${FILESDIR}/redis.service-4" redis.service
-	newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
-	newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
-	newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
-	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
-
-	dobin src/redis-cli
-	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
-	fperms 0750 /usr/sbin/redis-benchmark
-	dosym redis-server /usr/sbin/redis-sentinel
-
-	if use prefix; then
-		diropts -m0750
-	else
-		diropts -m0750 -o redis -g redis
-	fi
-	keepdir /var/{log,lib}/redis
-}
-
-pkg_postinst() {
-	tmpfiles_process redis.conf
-
-	ewarn "The default redis configuration file location changed to:"
-	ewarn "  /etc/redis/{redis,sentinel}.conf"
-	ewarn "Please apply your changes to the new configuration files."
-}

diff --git a/dev-db/redis/redis-6.2.7-r2.ebuild b/dev-db/redis/redis-6.2.7-r2.ebuild
deleted file mode 100644
index 8fb00f64a1f8..000000000000
--- a/dev-db/redis/redis-6.2.7-r2.ebuild
+++ /dev/null
@@ -1,198 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Redis does NOT build with Lua 5.2 or newer at this time:
-#  - 5.3 and 5.4 give:
-# lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
-#  - 5.2 fails with:
-# scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
-#    because lua_open became lua_newstate in 5.2
-LUA_COMPAT=( lua5-1 luajit )
-
-# Upstream have deviated too far from vanilla Lua, adding their own APIs
-# like lua_enablereadonlytable, but we still need the eclass and such
-# for bug #841422.
-inherit autotools edo flag-o-matic lua-single multiprocessing systemd tmpfiles toolchain-funcs
-
-DESCRIPTION="A persistent caching system, key-value, and data structures database"
-HOMEPAGE="https://redis.io"
-SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+jemalloc selinux ssl systemd tcmalloc test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
-	${LUA_DEPS}
-	jemalloc? ( >=dev-libs/jemalloc-5.1:= )
-	ssl? ( dev-libs/openssl:0= )
-	systemd? ( sys-apps/systemd:= )
-	tcmalloc? ( dev-util/google-perftools )
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	acct-group/redis
-	acct-user/redis
-	selinux? ( sec-policy/selinux-redis )
-"
-
-BDEPEND="
-	${COMMON_DEPEND}
-	virtual/pkgconfig
-"
-
-# Tcl is only needed in the CHOST test env
-DEPEND="
-	${COMMON_DEPEND}
-	test? (
-		dev-lang/tcl:0=
-		ssl? ( dev-tcltk/tls )
-	)"
-
-REQUIRED_USE="?? ( jemalloc tcmalloc )
-	${LUA_REQUIRED_USE}"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-6.2.1-config.patch
-	"${FILESDIR}"/${PN}-5.0-shared.patch
-	"${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
-	"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
-
-	# see bug 877863
-	"${FILESDIR}/${PN}-6.2.7-cve-2022-3647.patch"
-)
-
-src_prepare() {
-	default
-
-	# Copy lua modules into build dir
-	#cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
-	#cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
-	# Append cflag for lua_cjson
-	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
-	append-cflags "-DENABLE_CJSON_GLOBAL"
-
-	# now we will rewrite present Makefiles
-	local makefiles="" MKF
-	for MKF in $(find -name 'Makefile' | cut -b 3-); do
-		mv "${MKF}" "${MKF}.in"
-		sed -i	-e 's:$(CC):@CC@:g' \
-			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
-			-e 's: $(DEBUG)::g' \
-			-e 's:$(OBJARCH)::g' \
-			-e 's:ARCH:TARCH:g' \
-			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
-			"${MKF}.in" \
-		|| die "Sed failed for ${MKF}"
-		makefiles+=" ${MKF}"
-	done
-	# autodetection of compiler and settings; generates the modified Makefiles
-	cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
-
-	# Use the correct pkgconfig name for Lua.
-	# The upstream configure script handles luajit specially, and is not
-	# affected by these changes.
-	sed -i	\
-		-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
-		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
-		-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${ELUA},g" \
-		configure.ac || die "Sed failed for configure.ac"
-	eautoreconf
-}
-
-src_configure() {
-	econf #$(use_with lua_single_target_luajit luajit)
-
-	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
-	# also, don't define ANSI/c99 for lua twice
-	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
-	local myconf=""
-
-	if use jemalloc; then
-		myconf+="MALLOC=jemalloc"
-	elif use tcmalloc; then
-		myconf+="MALLOC=tcmalloc"
-	else
-		myconf+="MALLOC=libc"
-	fi
-
-	if use ssl; then
-		myconf+=" BUILD_TLS=yes"
-	fi
-
-	export USE_SYSTEMD=$(usex systemd)
-
-	tc-export AR CC RANLIB
-	emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-src_test() {
-	local runtestargs=(
-		--clients "$(makeopts_jobs)" # see bug #649868
-	)
-
-	if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
-		ewarn "unit/oom-score-adj test will be skipped." \
-			"It is known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
-
-		# unit/oom-score-adj was introduced in version 6.2.0
-		runtestargs+=( --skipunit unit/oom-score-adj ) # see bug #756382
-	fi
-
-	if use ssl; then
-		edo ./utils/gen-test-certs.sh
-		runtestargs+=( --tls )
-	fi
-
-	edo ./runtest "${runtestargs[@]}"
-}
-
-src_install() {
-	insinto /etc/redis
-	doins redis.conf sentinel.conf
-	use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
-	fperms 0750 /etc/redis
-	fperms 0644 /etc/redis/{redis,sentinel}.conf
-
-	newconfd "${FILESDIR}/redis.confd-r2" redis
-	newinitd "${FILESDIR}/redis.initd-6" redis
-
-	systemd_newunit "${FILESDIR}/redis.service-4" redis.service
-	newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
-	newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
-	newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
-	dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
-
-	dobin src/redis-cli
-	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
-	fperms 0750 /usr/sbin/redis-benchmark
-	dosym redis-server /usr/sbin/redis-sentinel
-
-	if use prefix; then
-		diropts -m0750
-	else
-		diropts -m0750 -o redis -g redis
-	fi
-	keepdir /var/{log,lib}/redis
-}
-
-pkg_postinst() {
-	tmpfiles_process redis.conf
-
-	ewarn "The default redis configuration file location changed to:"
-	ewarn "  /etc/redis/{redis,sentinel}.conf"
-	ewarn "Please apply your changes to the new configuration files."
-}

diff --git a/dev-db/redis/redis-7.0.12.ebuild b/dev-db/redis/redis-7.0.12.ebuild
deleted file mode 100644
index 1e67595984ec..000000000000
--- a/dev-db/redis/redis-7.0.12.ebuild
+++ /dev/null
@@ -1,187 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# N.B.: It is no clue in porting to Lua eclasses, as upstream have deviated
-# too far from vanilla Lua, adding their own APIs like lua_enablereadonlytable
-
-inherit autotools edo flag-o-matic multiprocessing systemd tmpfiles toolchain-funcs
-
-DESCRIPTION="A persistent caching system, key-value, and data structures database"
-HOMEPAGE="https://redis.io"
-SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+jemalloc selinux ssl systemd tcmalloc test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
-	jemalloc? ( >=dev-libs/jemalloc-5.1:= )
-	ssl? ( dev-libs/openssl:0= )
-	systemd? ( sys-apps/systemd:= )
-	tcmalloc? ( dev-util/google-perftools )
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	acct-group/redis
-	acct-user/redis
-	selinux? ( sec-policy/selinux-redis )
-"
-
-BDEPEND="
-	${COMMON_DEPEND}
-	virtual/pkgconfig
-"
-
-# Tcl is only needed in the CHOST test env
-DEPEND="
-	${COMMON_DEPEND}
-	test? (
-		dev-lang/tcl:0=
-		ssl? ( dev-tcltk/tls )
-	)"
-
-REQUIRED_USE="?? ( jemalloc tcmalloc )"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-6.2.1-config.patch
-	"${FILESDIR}"/${PN}-5.0-shared.patch
-	"${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
-	"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
-	"${FILESDIR}"/${PN}-7.0.4-no-which.patch
-)
-
-src_prepare() {
-	default
-
-	# Append cflag for lua_cjson
-	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
-	append-cflags "-DENABLE_CJSON_GLOBAL"
-
-	# now we will rewrite present Makefiles
-	local makefiles="" MKF
-	for MKF in $(find -name 'Makefile' | cut -b 3-); do
-		mv "${MKF}" "${MKF}.in"
-		sed -i	-e 's:$(CC):@CC@:g' \
-			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
-			-e 's: $(DEBUG)::g' \
-			-e 's:$(OBJARCH)::g' \
-			-e 's:ARCH:TARCH:g' \
-			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
-			"${MKF}.in" \
-		|| die "Sed failed for ${MKF}"
-		makefiles+=" ${MKF}"
-	done
-	# autodetection of compiler and settings; generates the modified Makefiles
-	cp "${FILESDIR}"/configure.ac-7.0 configure.ac || die
-
-	sed -i	\
-		-e "/^AC_INIT/s|, __PV__, |, $PV, |" \
-		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
-		configure.ac || die "Sed failed for configure.ac"
-	eautoreconf
-}
-
-src_configure() {
-	econf
-
-	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
-	# also, don't define ANSI/c99 for lua twice
-	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
-	local myconf=""
-
-	if use jemalloc; then
-		myconf+="MALLOC=jemalloc"
-	elif use tcmalloc; then
-		myconf+="MALLOC=tcmalloc"
-	else
-		myconf+="MALLOC=libc"
-	fi
-
-	if use ssl; then
-		myconf+=" BUILD_TLS=yes"
-	fi
-
-	export USE_SYSTEMD=$(usex systemd)
-
-	tc-export AR CC RANLIB
-	emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-src_test() {
-	local runtestargs=(
-		--clients "$(makeopts_jobs)" # see bug #649868
-
-		--skiptest "Active defrag eval scripts" # see bug #851654
-	)
-
-	if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
-		ewarn "oom-score-adj related tests will be skipped." \
-			"They are known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
-
-		runtestargs+=(
-			# unit/oom-score-adj was introduced in version 6.2.0
-			--skipunit unit/oom-score-adj # see bug #756382
-
-			# Following test was added in version 7.0.0 to unit/introspection.
-			# It also tries to adjust OOM score.
-			--skiptest "CONFIG SET rollback on apply error"
-		)
-	fi
-
-	if use ssl; then
-		edo ./utils/gen-test-certs.sh
-		runtestargs+=( --tls )
-	fi
-
-	edo ./runtest "${runtestargs[@]}"
-}
-
-src_install() {
-	insinto /etc/redis
-	doins redis.conf sentinel.conf
-	use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
-	fperms 0750 /etc/redis
-	fperms 0644 /etc/redis/{redis,sentinel}.conf
-
-	newconfd "${FILESDIR}/redis.confd-r2" redis
-	newinitd "${FILESDIR}/redis.initd-6" redis
-
-	systemd_newunit "${FILESDIR}/redis.service-4" redis.service
-	newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
-	newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
-	newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
-	dodoc 00-RELEASENOTES BUGS CONTRIBUTING.md MANIFESTO README.md
-
-	dobin src/redis-cli
-	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
-	fperms 0750 /usr/sbin/redis-benchmark
-	dosym redis-server /usr/sbin/redis-sentinel
-
-	if use prefix; then
-		diropts -m0750
-	else
-		diropts -m0750 -o redis -g redis
-	fi
-	keepdir /var/{log,lib}/redis
-}
-
-pkg_postinst() {
-	tmpfiles_process redis.conf
-
-	ewarn "The default redis configuration file location changed to:"
-	ewarn "  /etc/redis/{redis,sentinel}.conf"
-	ewarn "Please apply your changes to the new configuration files."
-}

diff --git a/dev-db/redis/redis-7.0.13.ebuild b/dev-db/redis/redis-7.0.13.ebuild
deleted file mode 100644
index 1e67595984ec..000000000000
--- a/dev-db/redis/redis-7.0.13.ebuild
+++ /dev/null
@@ -1,187 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# N.B.: It is no clue in porting to Lua eclasses, as upstream have deviated
-# too far from vanilla Lua, adding their own APIs like lua_enablereadonlytable
-
-inherit autotools edo flag-o-matic multiprocessing systemd tmpfiles toolchain-funcs
-
-DESCRIPTION="A persistent caching system, key-value, and data structures database"
-HOMEPAGE="https://redis.io"
-SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+jemalloc selinux ssl systemd tcmalloc test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
-	jemalloc? ( >=dev-libs/jemalloc-5.1:= )
-	ssl? ( dev-libs/openssl:0= )
-	systemd? ( sys-apps/systemd:= )
-	tcmalloc? ( dev-util/google-perftools )
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	acct-group/redis
-	acct-user/redis
-	selinux? ( sec-policy/selinux-redis )
-"
-
-BDEPEND="
-	${COMMON_DEPEND}
-	virtual/pkgconfig
-"
-
-# Tcl is only needed in the CHOST test env
-DEPEND="
-	${COMMON_DEPEND}
-	test? (
-		dev-lang/tcl:0=
-		ssl? ( dev-tcltk/tls )
-	)"
-
-REQUIRED_USE="?? ( jemalloc tcmalloc )"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-6.2.1-config.patch
-	"${FILESDIR}"/${PN}-5.0-shared.patch
-	"${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
-	"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
-	"${FILESDIR}"/${PN}-7.0.4-no-which.patch
-)
-
-src_prepare() {
-	default
-
-	# Append cflag for lua_cjson
-	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
-	append-cflags "-DENABLE_CJSON_GLOBAL"
-
-	# now we will rewrite present Makefiles
-	local makefiles="" MKF
-	for MKF in $(find -name 'Makefile' | cut -b 3-); do
-		mv "${MKF}" "${MKF}.in"
-		sed -i	-e 's:$(CC):@CC@:g' \
-			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
-			-e 's: $(DEBUG)::g' \
-			-e 's:$(OBJARCH)::g' \
-			-e 's:ARCH:TARCH:g' \
-			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
-			"${MKF}.in" \
-		|| die "Sed failed for ${MKF}"
-		makefiles+=" ${MKF}"
-	done
-	# autodetection of compiler and settings; generates the modified Makefiles
-	cp "${FILESDIR}"/configure.ac-7.0 configure.ac || die
-
-	sed -i	\
-		-e "/^AC_INIT/s|, __PV__, |, $PV, |" \
-		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
-		configure.ac || die "Sed failed for configure.ac"
-	eautoreconf
-}
-
-src_configure() {
-	econf
-
-	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
-	# also, don't define ANSI/c99 for lua twice
-	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
-	local myconf=""
-
-	if use jemalloc; then
-		myconf+="MALLOC=jemalloc"
-	elif use tcmalloc; then
-		myconf+="MALLOC=tcmalloc"
-	else
-		myconf+="MALLOC=libc"
-	fi
-
-	if use ssl; then
-		myconf+=" BUILD_TLS=yes"
-	fi
-
-	export USE_SYSTEMD=$(usex systemd)
-
-	tc-export AR CC RANLIB
-	emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-src_test() {
-	local runtestargs=(
-		--clients "$(makeopts_jobs)" # see bug #649868
-
-		--skiptest "Active defrag eval scripts" # see bug #851654
-	)
-
-	if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
-		ewarn "oom-score-adj related tests will be skipped." \
-			"They are known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
-
-		runtestargs+=(
-			# unit/oom-score-adj was introduced in version 6.2.0
-			--skipunit unit/oom-score-adj # see bug #756382
-
-			# Following test was added in version 7.0.0 to unit/introspection.
-			# It also tries to adjust OOM score.
-			--skiptest "CONFIG SET rollback on apply error"
-		)
-	fi
-
-	if use ssl; then
-		edo ./utils/gen-test-certs.sh
-		runtestargs+=( --tls )
-	fi
-
-	edo ./runtest "${runtestargs[@]}"
-}
-
-src_install() {
-	insinto /etc/redis
-	doins redis.conf sentinel.conf
-	use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
-	fperms 0750 /etc/redis
-	fperms 0644 /etc/redis/{redis,sentinel}.conf
-
-	newconfd "${FILESDIR}/redis.confd-r2" redis
-	newinitd "${FILESDIR}/redis.initd-6" redis
-
-	systemd_newunit "${FILESDIR}/redis.service-4" redis.service
-	newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
-	newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
-	newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
-	dodoc 00-RELEASENOTES BUGS CONTRIBUTING.md MANIFESTO README.md
-
-	dobin src/redis-cli
-	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
-	fperms 0750 /usr/sbin/redis-benchmark
-	dosym redis-server /usr/sbin/redis-sentinel
-
-	if use prefix; then
-		diropts -m0750
-	else
-		diropts -m0750 -o redis -g redis
-	fi
-	keepdir /var/{log,lib}/redis
-}
-
-pkg_postinst() {
-	tmpfiles_process redis.conf
-
-	ewarn "The default redis configuration file location changed to:"
-	ewarn "  /etc/redis/{redis,sentinel}.conf"
-	ewarn "Please apply your changes to the new configuration files."
-}

diff --git a/dev-db/redis/redis-7.0.9.ebuild b/dev-db/redis/redis-7.0.9.ebuild
deleted file mode 100644
index 6321c9fa9820..000000000000
--- a/dev-db/redis/redis-7.0.9.ebuild
+++ /dev/null
@@ -1,187 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# N.B.: It is no clue in porting to Lua eclasses, as upstream have deviated
-# too far from vanilla Lua, adding their own APIs like lua_enablereadonlytable
-
-inherit autotools edo flag-o-matic multiprocessing systemd tmpfiles toolchain-funcs
-
-DESCRIPTION="A persistent caching system, key-value, and data structures database"
-HOMEPAGE="https://redis.io"
-SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+jemalloc selinux ssl systemd tcmalloc test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
-	jemalloc? ( >=dev-libs/jemalloc-5.1:= )
-	ssl? ( dev-libs/openssl:0= )
-	systemd? ( sys-apps/systemd:= )
-	tcmalloc? ( dev-util/google-perftools )
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	acct-group/redis
-	acct-user/redis
-	selinux? ( sec-policy/selinux-redis )
-"
-
-BDEPEND="
-	${COMMON_DEPEND}
-	virtual/pkgconfig
-"
-
-# Tcl is only needed in the CHOST test env
-DEPEND="
-	${COMMON_DEPEND}
-	test? (
-		dev-lang/tcl:0=
-		ssl? ( dev-tcltk/tls )
-	)"
-
-REQUIRED_USE="?? ( jemalloc tcmalloc )"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-6.2.1-config.patch
-	"${FILESDIR}"/${PN}-5.0-shared.patch
-	"${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
-	"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
-	"${FILESDIR}"/${PN}-7.0.4-no-which.patch
-)
-
-src_prepare() {
-	default
-
-	# Append cflag for lua_cjson
-	# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
-	append-cflags "-DENABLE_CJSON_GLOBAL"
-
-	# now we will rewrite present Makefiles
-	local makefiles="" MKF
-	for MKF in $(find -name 'Makefile' | cut -b 3-); do
-		mv "${MKF}" "${MKF}.in"
-		sed -i	-e 's:$(CC):@CC@:g' \
-			-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
-			-e 's: $(DEBUG)::g' \
-			-e 's:$(OBJARCH)::g' \
-			-e 's:ARCH:TARCH:g' \
-			-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
-			"${MKF}.in" \
-		|| die "Sed failed for ${MKF}"
-		makefiles+=" ${MKF}"
-	done
-	# autodetection of compiler and settings; generates the modified Makefiles
-	cp "${FILESDIR}"/configure.ac-7.0 configure.ac || die
-
-	sed -i	\
-		-e "/^AC_INIT/s|, __PV__, |, $PV, |" \
-		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
-		configure.ac || die "Sed failed for configure.ac"
-	eautoreconf
-}
-
-src_configure() {
-	econf
-
-	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
-	# also, don't define ANSI/c99 for lua twice
-	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
-	local myconf=""
-
-	if use jemalloc; then
-		myconf+="MALLOC=jemalloc"
-	elif use tcmalloc; then
-		myconf+="MALLOC=tcmalloc"
-	else
-		myconf+="MALLOC=libc"
-	fi
-
-	if use ssl; then
-		myconf+=" BUILD_TLS=yes"
-	fi
-
-	export USE_SYSTEMD=$(usex systemd)
-
-	tc-export AR CC RANLIB
-	emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-src_test() {
-	local runtestargs=(
-		--clients "$(makeopts_jobs)" # see bug #649868
-
-		--skiptest "Active defrag eval scripts" # see bug #851654
-	)
-
-	if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
-		ewarn "oom-score-adj related tests will be skipped." \
-			"They are known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
-
-		runtestargs+=(
-			# unit/oom-score-adj was introduced in version 6.2.0
-			--skipunit unit/oom-score-adj # see bug #756382
-
-			# Following test was added in version 7.0.0 to unit/introspection.
-			# It also tries to adjust OOM score.
-			--skiptest "CONFIG SET rollback on apply error"
-		)
-	fi
-
-	if use ssl; then
-		edo ./utils/gen-test-certs.sh
-		runtestargs+=( --tls )
-	fi
-
-	edo ./runtest "${runtestargs[@]}"
-}
-
-src_install() {
-	insinto /etc/redis
-	doins redis.conf sentinel.conf
-	use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
-	fperms 0750 /etc/redis
-	fperms 0644 /etc/redis/{redis,sentinel}.conf
-
-	newconfd "${FILESDIR}/redis.confd-r2" redis
-	newinitd "${FILESDIR}/redis.initd-6" redis
-
-	systemd_newunit "${FILESDIR}/redis.service-4" redis.service
-	newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
-	newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
-	newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
-	dodoc 00-RELEASENOTES BUGS CONTRIBUTING.md MANIFESTO README.md
-
-	dobin src/redis-cli
-	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
-	fperms 0750 /usr/sbin/redis-benchmark
-	dosym redis-server /usr/sbin/redis-sentinel
-
-	if use prefix; then
-		diropts -m0750
-	else
-		diropts -m0750 -o redis -g redis
-	fi
-	keepdir /var/{log,lib}/redis
-}
-
-pkg_postinst() {
-	tmpfiles_process redis.conf
-
-	ewarn "The default redis configuration file location changed to:"
-	ewarn "  /etc/redis/{redis,sentinel}.conf"
-	ewarn "Please apply your changes to the new configuration files."
-}

diff --git a/dev-db/redis/redis-7.2.2.ebuild b/dev-db/redis/redis-7.2.2.ebuild
deleted file mode 100644
index 81c1123f7888..000000000000
--- a/dev-db/redis/redis-7.2.2.ebuild
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# N.B.: It is no clue in porting to Lua eclasses, as upstream have deviated
-# too far from vanilla Lua, adding their own APIs like lua_enablereadonlytable
-
-inherit autotools edo multiprocessing systemd tmpfiles toolchain-funcs
-
-DESCRIPTION="A persistent caching system, key-value, and data structures database"
-HOMEPAGE="
-	https://redis.io
-	https://github.com/redis/redis
-"
-SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD Boost-1.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="+jemalloc selinux ssl systemd tcmalloc test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
-	jemalloc? ( >=dev-libs/jemalloc-5.1:= )
-	ssl? ( dev-libs/openssl:0= )
-	systemd? ( sys-apps/systemd:= )
-	tcmalloc? ( dev-util/google-perftools )
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	acct-group/redis
-	acct-user/redis
-	selinux? ( sec-policy/selinux-redis )
-"
-
-BDEPEND="
-	${COMMON_DEPEND}
-	virtual/pkgconfig
-"
-
-# Tcl is only needed in the CHOST test env
-DEPEND="
-	${COMMON_DEPEND}
-	test? (
-		dev-lang/tcl:0=
-		ssl? ( dev-tcltk/tls )
-	)"
-
-REQUIRED_USE="?? ( jemalloc tcmalloc )"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-6.2.1-config.patch
-	"${FILESDIR}"/${PN}-7.2.0-system-jemalloc.patch
-	"${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
-	"${FILESDIR}"/${PN}-sentinel-7.2.0-config.patch
-	"${FILESDIR}"/${PN}-7.0.4-no-which.patch
-)
-
-src_prepare() {
-	default
-
-	# Respect user CFLAGS in bundled lua
-	sed -i '/LUA_CFLAGS/s: -O2::g' deps/Makefile || die
-
-	# now we will rewrite present Makefiles
-	local makefiles="" MKF
-	local mysedconf=(
-		-e 's:$(CC):@CC@:g'
-		-e 's:$(CFLAGS):@AM_CFLAGS@:g'
-		-e 's: $(DEBUG)::g'
-
-		-e 's:-Werror ::g'
-		-e 's:-Werror=deprecated-declarations ::g'
-	)
-	for MKF in $(find -name 'Makefile' | cut -b 3-); do
-		mv "${MKF}" "${MKF}.in"
-		sed -i "${mysedconf[@]}" "${MKF}.in" || die "Sed failed for ${MKF}"
-		makefiles+=" ${MKF}"
-	done
-	# autodetection of compiler and settings; generates the modified Makefiles
-	cp "${FILESDIR}"/configure.ac-7.0 configure.ac || die
-
-	sed -i \
-		-e "/^AC_INIT/s|, __PV__, |, $PV, |" \
-		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
-		configure.ac || die "Sed failed for configure.ac"
-	eautoreconf
-}
-
-src_configure() {
-	econf
-
-	# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
-	# also, don't define ANSI/c99 for lua twice
-	sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
-	tc-export AR CC RANLIB
-
-	local myconf=(
-		AR="${AR}"
-		CC="${CC}"
-		RANLIB="${RANLIB}"
-
-		V=1 # verbose
-
-		# OPTIMIZATION defaults to -O3. Let's respect user CFLAGS by setting it
-		# to empty value.
-		OPTIMIZATION=''
-		# Disable debug flags in bundled hiredis
-		DEBUG_FLAGS=''
-
-		BUILD_TLS=$(usex ssl)
-		USE_SYSTEMD=$(usex systemd)
-	)
-
-	if use jemalloc; then
-		myconf+=( MALLOC=jemalloc )
-	elif use tcmalloc; then
-		myconf+=( MALLOC=tcmalloc )
-	else
-		myconf+=( MALLOC=libc )
-	fi
-
-	emake "${myconf[@]}"
-}
-
-src_test() {
-	local runtestargs=(
-		--clients "$(makeopts_jobs)" # see bug #649868
-
-		--skiptest "Active defrag eval scripts" # see bug #851654
-	)
-
-	if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
-		ewarn "oom-score-adj related tests will be skipped." \
-			"They are known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
-
-		runtestargs+=(
-			# unit/oom-score-adj was introduced in version 6.2.0
-			--skipunit unit/oom-score-adj # see bug #756382
-
-			# Following test was added in version 7.0.0 to unit/introspection.
-			# It also tries to adjust OOM score.
-			--skiptest "CONFIG SET rollback on apply error"
-		)
-	fi
-
-	if use ssl; then
-		edo ./utils/gen-test-certs.sh
-		runtestargs+=( --tls )
-	fi
-
-	edo ./runtest "${runtestargs[@]}"
-}
-
-src_install() {
-	insinto /etc/redis
-	doins redis.conf sentinel.conf
-	use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
-	fperms 0750 /etc/redis
-	fperms 0644 /etc/redis/{redis,sentinel}.conf
-
-	newconfd "${FILESDIR}/redis.confd-r2" redis
-	newinitd "${FILESDIR}/redis.initd-6" redis
-
-	systemd_newunit "${FILESDIR}/redis.service-4" redis.service
-	newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
-	newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
-	newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
-	dodoc 00-RELEASENOTES BUGS CONTRIBUTING.md MANIFESTO README.md
-
-	dobin src/redis-cli
-	dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
-	fperms 0750 /usr/sbin/redis-benchmark
-	dosym redis-server /usr/sbin/redis-sentinel
-
-	if use prefix; then
-		diropts -m0750
-	else
-		diropts -m0750 -o redis -g redis
-	fi
-	keepdir /var/{log,lib}/redis
-}
-
-pkg_postinst() {
-	tmpfiles_process redis.conf
-
-	ewarn "The default redis configuration file location changed to:"
-	ewarn "  /etc/redis/{redis,sentinel}.conf"
-	ewarn "Please apply your changes to the new configuration files."
-}


^ permalink raw reply related	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2024-01-09 14:24 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-23  0:22 [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/ Thomas Deutschmann
  -- strict thread matches above, loose matches on Subject: below --
2024-01-09 14:24 Petr Vaněk
2022-11-11 15:10 Joonas Niilola
2022-11-11 15:10 Joonas Niilola
2022-09-26 14:58 Sam James
2022-09-25  1:21 Sam James
2022-07-18 23:33 Sam James
2022-07-10 12:53 Sam James
2021-05-04 21:41 Sam James
2021-03-04  4:37 Sam James
2020-05-26 20:37 Thomas Deutschmann
2020-03-20 14:53 Thomas Deutschmann
2017-12-19 10:13 Patrice Clement
2017-08-16 22:39 Robin H. Johnson
2017-02-10 13:09 Alexys Jacob
2016-11-18 23:25 Robin H. Johnson
2016-06-14  7:56 Alexys Jacob

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox