diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2010-03-25 07:36:05 +0000 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2010-03-25 07:36:05 +0000 |
commit | 70672fbeb4287f212a49122e47e63cc98956b151 (patch) | |
tree | d5d8ec2be260dd72a069a130d3bcb17207e55d71 /dev-db/redis | |
parent | Clean up file and dir ownership. (diff) | |
download | gentoo-2-70672fbeb4287f212a49122e47e63cc98956b151.tar.gz gentoo-2-70672fbeb4287f212a49122e47e63cc98956b151.tar.bz2 gentoo-2-70672fbeb4287f212a49122e47e63cc98956b151.zip |
Initial commit. Partially based on the submission in the upstream bugtracker by Geoff Kassel <gkassel@users.sourceforge.net> and W-Mark Kubacki <wmark.gentoo@hurrikane.de>. Proxy maintainers welcome.
(Portage version: 2.2_rc63/cvs/Linux x86_64)
Diffstat (limited to 'dev-db/redis')
-rw-r--r-- | dev-db/redis/ChangeLog | 14 | ||||
-rw-r--r-- | dev-db/redis/files/01-dont-print-pid-on-startup.diff | 17 | ||||
-rw-r--r-- | dev-db/redis/files/configure.ac-1.02 | 58 | ||||
-rw-r--r-- | dev-db/redis/files/redis.confd | 20 | ||||
-rw-r--r-- | dev-db/redis/files/redis.initd | 37 | ||||
-rw-r--r-- | dev-db/redis/metadata.xml | 8 | ||||
-rw-r--r-- | dev-db/redis/redis-1.2.5.ebuild | 82 |
7 files changed, 236 insertions, 0 deletions
diff --git a/dev-db/redis/ChangeLog b/dev-db/redis/ChangeLog new file mode 100644 index 000000000000..5b2d5924b3e1 --- /dev/null +++ b/dev-db/redis/ChangeLog @@ -0,0 +1,14 @@ +# ChangeLog for dev-db/redis +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/ChangeLog,v 1.1 2010/03/25 07:36:05 robbat2 Exp $ + +*redis-1.2.5 (25 Mar 2010) + + 25 Mar 2010; Robin H. Johnson <robbat2@gentoo.org> + +files/01-dont-print-pid-on-startup.diff, +files/configure.ac-1.02, + +redis-1.2.5.ebuild, +files/redis.confd, +files/redis.initd, + +metadata.xml: + Initial commit. Partially based on the submission in the upstream + bugtracker by Geoff Kassel <gkassel@users.sourceforge.net> and W-Mark + Kubacki <wmark.gentoo@hurrikane.de>. Proxy maintainers welcome. + diff --git a/dev-db/redis/files/01-dont-print-pid-on-startup.diff b/dev-db/redis/files/01-dont-print-pid-on-startup.diff new file mode 100644 index 000000000000..1e42fe1688a6 --- /dev/null +++ b/dev-db/redis/files/01-dont-print-pid-on-startup.diff @@ -0,0 +1,17 @@ + +Don't print pid of forked process on startup. This change was also made +upstream in 20f5b3886761a0ba963fee435bba90dd09bd5bd5. + + -- Chris Lamb <lamby@debian.org> Thu, 14 Jan 2010 15:48:04 +0000 + +diff -urNad /tmp/bp-build/redis-1.2.0.orig/redis.c /tmp/bp-build/redis-1.2.0/redis.c +--- redis-1.2.0.orig/redis.c 2010-01-14 15:46:33.000000000 +0000 ++++ redis-1.2.0/redis.c 2010-01-14 15:46:51.000000000 +0000 +@@ -6215,7 +6215,6 @@ + FILE *fp; + + if (fork() != 0) exit(0); /* parent exits */ +- printf("New pid: %d\n", getpid()); + setsid(); /* create a new session */ + + /* Every output goes to /dev/null. If Redis is daemonized but diff --git a/dev-db/redis/files/configure.ac-1.02 b/dev-db/redis/files/configure.ac-1.02 new file mode 100644 index 000000000000..64070ab2f78f --- /dev/null +++ b/dev-db/redis/files/configure.ac-1.02 @@ -0,0 +1,58 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +AC_PREREQ(2.63) +AC_INIT(redis, 1.02, antirez@gmail.com) +AM_CFLAGS="-std=c99 -pedantic -Wall -W" +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]) + +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT diff --git a/dev-db/redis/files/redis.confd b/dev-db/redis/files/redis.confd new file mode 100644 index 000000000000..07585fa7a116 --- /dev/null +++ b/dev-db/redis/files/redis.confd @@ -0,0 +1,20 @@ +# 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 pid file. +# (Be sure to change the main redis configuration file as well if you change +# this from the default.) +REDIS_PID="/var/run/redis/redis.pid" + +# Redis options. +# (Redis expects the first argument to be the configuration file.) +REDIS_OPTS="${REDIS_CONF}" diff --git a/dev-db/redis/files/redis.initd b/dev-db/redis/files/redis.initd new file mode 100644 index 000000000000..a7942a8e9340 --- /dev/null +++ b/dev-db/redis/files/redis.initd @@ -0,0 +1,37 @@ +#!/sbin/runscript +# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/files/redis.initd,v 1.1 2010/03/25 07:36:04 robbat2 Exp $ + +REDIS_EXEC=/usr/sbin/redis-server +REDIS_PID=${REDIS_PID:-/var/run/redis/redis.pid} +REDIS_DIR=${REDIS_DIR:-/var/lib/redis} +REDIS_CONF=${REDIS_CONF:-/etc/redis.conf} +REDIS_OPTS=${REDIS_OPTS:-"${REDIS_CONF}"} +REDIS_USER=${REDIS_USER:-redis} +REDIS_GROUP=${REDIS_GROUP:-redis} + +opts="start stop restart" + +depend() { + use net localmount logger + after keepalived +} + +start() { + ebegin "Starting Redis server" + cd "${REDIS_DIR}" + start-stop-daemon --start \ + --chuid ${REDIS_USER}:${REDIS_GROUP} \ + --pidfile "${REDIS_PID}" \ + --exec "${REDIS_EXEC}" \ + -- ${REDIS_OPTS} + ret=$? + eend ${ret} +} + +stop() { + ebegin "Stopping Redis server" + start-stop-daemon --stop --quiet --pidfile "${REDIS_PID}" + ret=$? + rm -f "${REDIS_PID}" + eend ${ret} +} diff --git a/dev-db/redis/metadata.xml b/dev-db/redis/metadata.xml new file mode 100644 index 000000000000..5d9f5be9d49d --- /dev/null +++ b/dev-db/redis/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>no-herd</herd> +<maintainer> + <email>robbat2@gentoo.org</email> +</maintainer> +</pkgmetadata> diff --git a/dev-db/redis/redis-1.2.5.ebuild b/dev-db/redis/redis-1.2.5.ebuild new file mode 100644 index 000000000000..821ce8cf30fd --- /dev/null +++ b/dev-db/redis/redis-1.2.5.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/redis-1.2.5.ebuild,v 1.1 2010/03/25 07:36:05 robbat2 Exp $ + +EAPI=2 +WANT_AUTOCONF="latest" + +inherit autotools eutils + +DESCRIPTION="Persistent distributed key-value data caching system." +HOMEPAGE="http://code.google.com/p/redis/" +SRC_URI="http://redis.googlecode.com/files/${P}.tar.gz" + +LICENSE="BSD" +KEYWORDS="~amd64 ~x86" +IUSE="" +SLOT="0" + +RDEPEND="" +DEPEND="" + +REDIS_PIDDIR=/var/run/redis/ +REDIS_PIDFILE=${REDIS_PIDDIR}/redis.pid +REDIS_DATAPATH=/var/lib/redis +REDIS_LOGPATH=/var/log/redis +REDIS_LOGFILE=${LOGPATH}/redis.log + +pkg_setup() { + enewgroup redis 75 || die "problem adding 'redis' group" + enewuser redis 75 -1 ${REDIS_DATAPATH} redis || die "problem adding 'redis' user" +} + +src_prepare() { + # Borrowed from debian + epatch "${FILESDIR}"/01-dont-print-pid-on-startup.diff + # Now autotoolize this + cp "${FILESDIR}"/configure.ac-1.02 configure.ac + mv Makefile Makefile.in + sed -i \ + -e 's:$(CC):@CC@:g' \ + -e 's:$(CFLAGS):@AM_CFLAGS@:g' \ + -e 's: $(DEBUG)::g' \ + -e 's:ARCH:GCC_ARCH_FLAG:g' \ + -e 's:PROF:GCC_PROF_FLAG:g' \ + Makefile.in \ + || die "sed failed!" + + eautoreconf +} + +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 + fowners root:redis /etc/redis.conf + fperms 0640 /etc/redis.conf + + newconfd "${FILESDIR}/redis.confd" redis + newinitd "${FILESDIR}/redis.initd" redis + + dodoc 00-RELEASENOTES BETATESTING.txt BUGS Changelog README TODO + newdoc client-libraries/README README.client-libraries + dohtml doc/* + + dobin redis-benchmark redis-cli + dosbin redis-server + + diropts -m0750 -o redis -g redis + keepdir ${REDIS_DATAPATH} ${REDIS_LOGFILE} ${REDIS_PIDDIR} +} |