Clean up for EAPI=4, fix initd script (thanks jbergstroem).
authorDirkjan Ochtman <djc@gentoo.org>
Thu, 1 Dec 2011 10:45:31 +0000 (10:45 +0000)
committerDirkjan Ochtman <djc@gentoo.org>
Thu, 1 Dec 2011 10:45:31 +0000 (10:45 +0000)
Package-Manager: portage-2.1.10.39/cvs/Linux x86_64

dev-db/redis/ChangeLog
dev-db/redis/Manifest
dev-db/redis/files/redis.initd
dev-db/redis/redis-2.4.4-r1.ebuild [new file with mode: 0644]

index 47628bf804017874a191ec6d786ae41898336594..ff574196e42eb470df1c5903a9ac05a4309292f5 100644 (file)
@@ -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:
index e09a1fdbc154d28a778c3c1556445a2dd155e9a2..316b67df8e2bb0b82667a6714ea5edb0f8833c2e 100644 (file)
@@ -6,19 +6,20 @@ AUX redis-2.2-as-needed.patch 1994 RMD160 63810e94ec9f765b08ec12fb405fc769c70460
 AUX redis-2.4.3-shared.patch 708 RMD160 ed2c774f8ae684a722c1b46684e695dfbd596871 SHA1 607819295f05b4374b770395fee05a7710321483 SHA256 a2d3fda42993aa0b75f08e8a328a7cc1de9af97b50e2b479c85421062c9d8e82
 AUX redis-2.4.4-tcmalloc.patch 442 RMD160 f1740f166c23f636c9c703838a49182cc7db4bc5 SHA1 c94bba49b0573cef15d5cc8124610ec8b4069b2b SHA256 59c5dd571143e869395b460d15683acc322bf7092c05279b047ba76243ec818b
 AUX redis.confd 450 RMD160 237a72f30b3ba5c77e7dd31d2dfebc2db2cea2ad SHA1 4c298810900f0e627cd3f7bf480feb639b6cc2d5 SHA256 8c68e29dc88c8ad99b9212a448d313d1406ef02c7638398b2e48ea1ca8aa937b
-AUX redis.initd 859 RMD160 a5718f3b4eab11450223c21bc98ab75d408e932e SHA1 ba3237364dba1da920ec4f14c13ff2cd45062144 SHA256 8b25b60bca695a8393e381078b2a42330c1b6cc2953bbe3c1b7cbd41ca36fe5d
+AUX redis.initd 965 RMD160 75dbbc73096fe29da3ccb1fb1a2fd29c91ccb86d SHA1 2e2f4fe2589113f65348074eadb63e91acc62a9f SHA256 75df2f5852d0020197f9549f959b062721c188d6579360bc7ada5a24f408fe32
 DIST redis-2.2.12.tar.gz 455240 RMD160 8bf1275fd1d2ad1536ce7081bdf3522d5e92a8d3 SHA1 66d44756e0f3371d9e37b521f5cc17e12e1efba3 SHA256 9e2a4133b920fc4eed731c9cd3a9d0b60e701179ea98b2944ab434e7b1d0db03
 DIST redis-2.4.3.tar.gz 603463 RMD160 1da0661f5d22f046547f2aa9f93d921bd2a50852 SHA1 d917e721a11e38969d92070e9c6476598c6e4621 SHA256 4e0f39968776819a942d1502626ac6072a28e1b148a25f662d80bbcb54d5ba4c
 DIST redis-2.4.4.tar.gz 607718 RMD160 5b9e1e48216c11b3eca76ad0eafee3d7a0df0c68 SHA1 bc1e383c0216fe5bd5dc47eab39b43bbb9d5f8a5 SHA256 8cb779758315b89969adb588c813bf980e32a760d4204209d90d605dcbc5f708
 EBUILD redis-2.2.12.ebuild 3484 RMD160 c87bbe611f1c786379e090da413bd39533294af2 SHA1 a0cce800e9a6c723a3855dfd554466ddcccf571b SHA256 5e75722290ea06302549d28735ec4e8c8048b4a94b1477f18b47181edc637e5a
 EBUILD redis-2.4.3.ebuild 3367 RMD160 93d68f8b66a84bc90ce68f0eaeb847b65565b03f SHA1 dbd07f27f8489c239cda3c02dd47424a1038978f SHA256 7e73f59e9f0f52753c579e232a99d9d888a66b7fcd7a50ae8ed296a102ece661
+EBUILD redis-2.4.4-r1.ebuild 3153 RMD160 9e7803453d4de974f61d86714fa9584be4e17ce8 SHA1 76e33083ac4e82124a2f67edb3add71a215d5d75 SHA256 dd1e206429190ffc11d029c10af8275529c62041bd25806c46f40ca0c74df7a7
 EBUILD redis-2.4.4.ebuild 3482 RMD160 60e49d80e5f525671dc4287a581f1e95d7f53d12 SHA1 f536c333f9c42685bbe45ade469e80024164d8d4 SHA256 d6e1f44959ea7ad4b88cbbe08e7dc9d8b09de53fa73d044b396cbf0d5fd6a532
-MISC ChangeLog 4522 RMD160 89ebc9c49e6a088c5359631a8937f3e9d780db73 SHA1 796153abd8f427fc36821d591871d487f4f9b72b SHA256 b9a27b0109c4ad853c7bace615730f4640527347fca3f9d6f305dc3510a38a3e
+MISC ChangeLog 4709 RMD160 7c16faef1afecd2ddb20fec70a2fd762d122de9d SHA1 c158de065593158567f761d25b2746da30936f8c SHA256 9e1364ca00d015ad01f1914585ae7078e31dd81c6119dbf87ecd8d6b337ee1d2
 MISC metadata.xml 627 RMD160 9b08999079c6ee69962c0d6d2eaa3952e6d11e07 SHA1 3ac3e00d89541d8f5c5e760cb00412f2030159e8 SHA256 810fe762375ca5635f27d412e96dd1da0bfc9634a89b829cf96cb6d0579257fa
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.17 (GNU/Linux)
 
-iEYEAREKAAYFAk7WHioACgkQxeMuLWsGW/tt5QCfZOyUfmSIhNp3YlRQzCEv46rp
-upgAn3HxPzVSvafGi7MDG6sgO1w2kHkj
-=UPOT
+iEYEAREKAAYFAk7XWtUACgkQxeMuLWsGW/vT3ACfdgGFyDmPTqYoigeFUAGwIK8J
+fmsAnjq8pJS2vpN72IpS5m/oiIx+SOL/
+=5sdr
 -----END PGP SIGNATURE-----
index a7942a8e93405b455bfd68d1f80d777163effaf4..6b3ad2e751294b124e40cb3ac7ee0f99a972ee4f 100644 (file)
@@ -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 (file)
index 0000000..6e2d528
--- /dev/null
@@ -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}
+}