summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDirkjan Ochtman <djc@gentoo.org>2011-12-01 10:45:31 +0000
committerDirkjan Ochtman <djc@gentoo.org>2011-12-01 10:45:31 +0000
commit2d0b171db96639a8406ad261a81c8a15d52cdeb2 (patch)
tree110a66b134f8d318e080aed0c5ee41a36e4656f1
parentDrop old version that still needs deprecated gnome-python meta package. (diff)
downloadgentoo-2-2d0b171db96639a8406ad261a81c8a15d52cdeb2.tar.gz
gentoo-2-2d0b171db96639a8406ad261a81c8a15d52cdeb2.tar.bz2
gentoo-2-2d0b171db96639a8406ad261a81c8a15d52cdeb2.zip
Clean up for EAPI=4, fix initd script (thanks jbergstroem).
(Portage version: 2.1.10.39/cvs/Linux x86_64)
-rw-r--r--dev-db/redis/ChangeLog8
-rw-r--r--dev-db/redis/files/redis.initd8
-rw-r--r--dev-db/redis/redis-2.4.4-r1.ebuild108
3 files changed, 122 insertions, 2 deletions
diff --git a/dev-db/redis/ChangeLog b/dev-db/redis/ChangeLog
index 47628bf80401..ff574196e42e 100644
--- a/dev-db/redis/ChangeLog
+++ b/dev-db/redis/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-db/redis
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/ChangeLog,v 1.28 2011/11/30 12:14:20 djc Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/ChangeLog,v 1.29 2011/12/01 10:45:31 djc Exp $
+
+*redis-2.4.4-r1 (01 Dec 2011)
+
+ 01 Dec 2011; Dirkjan Ochtman <djc@gentoo.org> +redis-2.4.4-r1.ebuild,
+ files/redis.initd:
+ Clean up for EAPI=4, fix initd script (thanks jbergstroem).
30 Nov 2011; Dirkjan Ochtman <djc@gentoo.org> -redis-2.2.2.ebuild,
-redis-2.2.6.ebuild, -redis-2.2.8.ebuild, -redis-2.2.11.ebuild:
diff --git a/dev-db/redis/files/redis.initd b/dev-db/redis/files/redis.initd
index a7942a8e9340..6b3ad2e75129 100644
--- a/dev-db/redis/files/redis.initd
+++ b/dev-db/redis/files/redis.initd
@@ -1,5 +1,5 @@
#!/sbin/runscript
-# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/files/redis.initd,v 1.1 2010/03/25 07:36:04 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/files/redis.initd,v 1.2 2011/12/01 10:45:31 djc Exp $
REDIS_EXEC=/usr/sbin/redis-server
REDIS_PID=${REDIS_PID:-/var/run/redis/redis.pid}
@@ -17,6 +17,11 @@ depend() {
}
start() {
+
+ local PID_DIR=$(dirname ${REDIS_PID})
+ mkdir -p ${PID_DIR}
+ chown ${REDIS_USER}:${REDIS_GROUP} ${PID_DIR}
+
ebegin "Starting Redis server"
cd "${REDIS_DIR}"
start-stop-daemon --start \
@@ -26,6 +31,7 @@ start() {
-- ${REDIS_OPTS}
ret=$?
eend ${ret}
+
}
stop() {
diff --git a/dev-db/redis/redis-2.4.4-r1.ebuild b/dev-db/redis/redis-2.4.4-r1.ebuild
new file mode 100644
index 000000000000..6e2d528f8304
--- /dev/null
+++ b/dev-db/redis/redis-2.4.4-r1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/redis-2.4.4-r1.ebuild,v 1.1 2011/12/01 10:45:31 djc Exp $
+
+EAPI="4"
+
+inherit autotools eutils flag-o-matic
+
+DESCRIPTION="A persistent caching system, key-value and data structures database."
+HOMEPAGE="http://redis.io/"
+SRC_URI="http://redis.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~x86-macos ~x86-solaris"
+IUSE="+jemalloc tcmalloc test"
+SLOT="0"
+
+RDEPEND=""
+DEPEND=">=sys-devel/autoconf-2.63
+ tcmalloc? ( dev-util/google-perftools )
+ jemalloc? ( dev-libs/jemalloc )
+ test? ( dev-lang/tcl )
+ ${RDEPEND}"
+REQUIRED_USE="tcmalloc? ( !jemalloc )
+ jemalloc? ( !tcmalloc )"
+
+S="${WORKDIR}/${PN}-${PV/_/-}"
+
+REDIS_PIDDIR=/var/run/redis/
+REDIS_PIDFILE=${REDIS_PIDDIR}/redis.pid
+REDIS_DATAPATH=/var/lib/redis
+REDIS_LOGPATH=/var/log/redis
+REDIS_LOGFILE=${REDIS_LOGPATH}/redis.log
+
+pkg_setup() {
+ enewgroup redis 75
+ enewuser redis 75 -1 ${REDIS_DATAPATH} redis
+ if use tcmalloc ; then
+ export EXTRA_EMAKE="${EXTRA_EMAKE} USE_TCMALLOC=yes"
+ elif use jemalloc ; then
+ export EXTRA_EMAKE="${EXTRA_EMAKE} JEMALLOC_SHARED=yes"
+ else
+ export EXTRA_EMAKE="${EXTRA_EMAKE} FORCE_LIBC_MALLOC=yes"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/redis-2.4.3-shared.patch"
+ epatch "${FILESDIR}/${P}-tcmalloc.patch"
+ if use jemalloc ; then
+ sed -i -e "s/je_/j/" src/zmalloc.c
+ fi
+ # 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_install() {
+ # configuration file rewrites
+ insinto /etc/
+ sed -r \
+ -e "/^pidfile\>/s,/var.*,${REDIS_PIDFILE}," \
+ -e '/^daemonize\>/s,no,yes,' \
+ -e '/^# bind/s,^# ,,' \
+ -e '/^# maxmemory\>/s,^# ,,' \
+ -e '/^maxmemory\>/s,<bytes>,67108864,' \
+ -e "/^dbfilename\>/s,dump.rdb,${REDIS_DATAPATH}/dump.rdb," \
+ -e "/^dir\>/s, .*, ${REDIS_DATAPATH}/," \
+ -e '/^loglevel\>/s:debug:notice:' \
+ -e "/^logfile\>/s:stdout:${REDIS_LOGFILE}:" \
+ <redis.conf \
+ >redis.conf.gentoo
+ newins redis.conf.gentoo redis.conf
+ use prefix || fowners redis:redis /etc/redis.conf
+ fperms 0644 /etc/redis.conf
+
+ newconfd "${FILESDIR}/redis.confd" redis
+ newinitd "${FILESDIR}/redis.initd" redis
+
+ nonfatal dodoc 00-RELEASENOTES BUGS CONTRIBUTING README TODO
+
+ 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
+
+ if use prefix; then
+ diropts -m0750
+ else
+ diropts -m0750 -o redis -g redis
+ fi
+ keepdir ${REDIS_DATAPATH} ${REDIS_LOGPATH}
+}