* [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/
@ 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
* [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/
@ 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-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-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-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/
@ 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/
@ 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/
@ 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/
@ 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/
@ 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/
@ 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/
@ 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-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/
@ 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/
@ 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
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 --
2022-11-11 15:10 [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/files/, dev-db/redis/ Joonas Niilola
-- 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-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
2018-08-23 0:22 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