logo

overlay

My own overlay for experimentations, use with caution, no support is provided git clone https://hacktivis.me/git/overlay.git
commit: 6639b465bf83ca227084c80b9fd7850d08411978
parent 2d5f99fee80d1bdc29b5b2e9c684977478bc60bb
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Sat,  4 May 2024 00:50:35 +0200

dev-db/redict: treeclean

Diffstat:

Ddev-db/redict/files/redict-6.2.1-config.patch40----------------------------------------
Ddev-db/redict/files/redict-sentinel-7.2.0-config.patch27---------------------------
Ddev-db/redict/files/redis-sentinel.confd-r116----------------
Ddev-db/redict/files/redis-sentinel.initd-r122----------------------
Ddev-db/redict/files/redis.confd-r220--------------------
Ddev-db/redict/files/redis.initd-625-------------------------
Ddev-db/redict/files/redis.logrotate6------
Ddev-db/redict/files/redis.service-414--------------
Ddev-db/redict/files/redis.tmpfiles-22--
Ddev-db/redict/metadata.xml13-------------
Ddev-db/redict/redict-9999.ebuild171-------------------------------------------------------------------------------
11 files changed, 0 insertions(+), 356 deletions(-)

diff --git a/dev-db/redict/files/redict-6.2.1-config.patch b/dev-db/redict/files/redict-6.2.1-config.patch @@ -1,40 +0,0 @@ -diff --git a/redict.conf b/redict.conf -index 465d56f..ef56037 100644 ---- a/redict.conf -+++ b/redict.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/redict_6379.pid -+pidfile /run/redict/redict.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/redict/redict.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/redict/ - - ################################# 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/redict/files/redict-sentinel-7.2.0-config.patch b/dev-db/redict/files/redict-sentinel-7.2.0-config.patch @@ -1,27 +0,0 @@ -Rebased from original redis-sentinel-5.0-config.patch - -diff --git a/sentinel.conf b/sentinel.conf -index b7b3604f0..a1d7bfea9 100644 ---- a/sentinel.conf -+++ b/sentinel.conf -@@ -17,7 +17,7 @@ daemonize no - # When running daemonized, Redis Sentinel writes a pid file in - # /var/run/redict-sentinel.pid by default. You can specify a custom pid file - # location here. --pidfile /var/run/redict-sentinel.pid -+pidfile /run/redict-sentinel.pid - - # Specify the server verbosity level. - # This can be one of: -@@ -31,7 +31,7 @@ loglevel notice - # Specify the log file name. Also the empty string can be used to force - # Sentinel 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/redict/sentinel.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. --- -2.41.0 - diff --git a/dev-db/redict/files/redis-sentinel.confd-r1 b/dev-db/redict/files/redis-sentinel.confd-r1 @@ -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/redis/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/redict/files/redis-sentinel.initd-r1 b/dev-db/redict/files/redis-sentinel.initd-r1 @@ -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/redis/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/redict/files/redis.confd-r2 b/dev-db/redict/files/redis.confd-r2 @@ -1,20 +0,0 @@ -# Redis user. -REDIS_USER="redis" - -# Redis group. -REDIS_GROUP="redis" - -# Redis configuration file. -REDIS_CONF="/etc/redis/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/redict/files/redis.initd-6 b/dev-db/redict/files/redis.initd-6 @@ -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/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/redict/files/redis.logrotate b/dev-db/redict/files/redis.logrotate @@ -1,6 +0,0 @@ -/var/log/redis/redis.log /var/log/redis/sentinel.log { - compress - delaycompress - notifempty - missingok -} diff --git a/dev-db/redict/files/redis.service-4 b/dev-db/redict/files/redis.service-4 @@ -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/redis.conf -User=redis -Group=redis - -[Install] -WantedBy=multi-user.target - diff --git a/dev-db/redict/files/redis.tmpfiles-2 b/dev-db/redict/files/redis.tmpfiles-2 @@ -1,2 +0,0 @@ -# redis runtime directory -d /run/redis 0755 redis root - diff --git a/dev-db/redict/metadata.xml b/dev-db/redict/metadata.xml @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>contact@hacktivis.me</email> - <name>Haelwenn (lanodan) Monnier</name> - </maintainer> - <use> - <flag name="tcmalloc"> - Use tcmalloc from <pkg>dev-util/google-perftools</pkg> for allocations. - </flag> - </use> -</pkgmetadata> diff --git a/dev-db/redict/redict-9999.ebuild b/dev-db/redict/redict-9999.ebuild @@ -1,171 +0,0 @@ -# Copyright 1999-2024 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 edo multiprocessing systemd tmpfiles toolchain-funcs - -if [ ${PV} = "9999" ]; then - inherit git-r3 - EGIT_REPO_URI="https://git.sr.ht/~lanodan/redict" -else - die "live-only for now" - KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" -fi - -DESCRIPTION="A persistent caching system, key-value, and data structures database (personal branch!)" -HOMEPAGE=" - https://git.sr.ht/~lanodan/redict - https://codeberg.org/redict/redict -" - -LICENSE="BSD Boost-1.0 GPL-3" -SLOT="0/$(ver_cut 1-2)" -IUSE="+jemalloc selinux ssl systemd tcmalloc test" -RESTRICT="!test? ( test )" - -REQUIRED_USE="?? ( jemalloc tcmalloc )" - -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 ) - )" - -PATCHES=( - "${FILESDIR}"/redict-6.2.1-config.patch - "${FILESDIR}"/redict-sentinel-7.2.0-config.patch -) - -src_prepare() { - default - - # Respect user CFLAGS in bundled lua - sed -i '/LUA_CFLAGS/s: -O2::g' 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 -C src "${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/redict - doins redict.conf sentinel.conf - use prefix || fowners -R redis:redis /etc/redict /etc/redict/{redict,sentinel}.conf - fperms 0750 /etc/redict - fperms 0644 /etc/redict/{redict,sentinel}.conf - - newconfd "${FILESDIR}/redis.confd-r2" redict - newinitd "${FILESDIR}/redis.initd-6" redict - - systemd_newunit "${FILESDIR}/redis.service-4" redict.service - newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redict.conf - - newconfd "${FILESDIR}/redis-sentinel.confd-r1" redict-sentinel - newinitd "${FILESDIR}/redis-sentinel.initd-r1" redict-sentinel - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/redis.logrotate" ${PN} - - dodoc 00-RELEASENOTES BUGS CONTRIBUTING.md MANIFESTO README.md - - dobin src/redict-cli - dosbin src/redict-benchmark src/redict-server src/redict-check-aof src/redict-check-rdb - fperms 0750 /usr/sbin/redict-benchmark - dosym redict-server /usr/sbin/redict-sentinel - - if use prefix; then - diropts -m0750 - else - diropts -m0750 -o redis -g redis - fi - keepdir /var/{log,lib}/redict -} - -pkg_postinst() { - tmpfiles_process redict.conf - - ewarn "The default redict configuration file location changed to:" - ewarn " /etc/redict/{redict,sentinel}.conf" - ewarn "Please apply your changes to the new configuration files." -}