Initial commit

This commit is contained in:
Silas Sewell 2010-10-19 11:52:19 -04:00
parent 235e6f63ea
commit b6a9a1efd3
6 changed files with 274 additions and 0 deletions

1
.gitignore vendored
View File

@ -0,0 +1 @@
/redis-2.0.3.tar.gz

View File

@ -0,0 +1,50 @@
diff -up redis-2.0.0/redis.conf.orig redis-2.0.0/redis.conf
--- redis-2.0.0/redis.conf.orig 2010-09-04 15:59:16.599206633 -0400
+++ redis-2.0.0/redis.conf 2010-09-04 16:01:59.234209087 -0400
@@ -14,11 +14,11 @@
# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
-daemonize no
+daemonize yes
# When running daemonized, Redis writes a pid file in /var/run/redis.pid by
# default. You can specify a custom pid file location here.
-pidfile /var/run/redis.pid
+pidfile /var/run/redis/redis.pid
# Accept connections on the specified port, default is 6379
port 6379
@@ -26,7 +26,7 @@ port 6379
# If you want you can bind a single interface, if the bind option is not
# specified all the interfaces will listen for incoming connections.
#
-# bind 127.0.0.1
+bind 127.0.0.1
# Close the connection after a client is idle for N seconds (0 to disable)
timeout 300
@@ -37,12 +37,12 @@ timeout 300
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (moderately verbose, what you want in production probably)
# warning (only very important / critical messages are logged)
-loglevel verbose
+loglevel notice
# Specify the log file name. Also 'stdout' 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 stdout
+logfile /var/log/redis/redis.log
# Set the number of databases. The default database is DB 0, you can select
# a different one on a per-connection basis using SELECT <dbid> where
@@ -86,7 +86,7 @@ dbfilename dump.rdb
# Also the Append Only File will be created inside this directory.
#
# Note that you must specify a directory here, not a file name.
-dir ./
+dir /var/lib/redis/
################################# REPLICATION #################################

88
redis.init Normal file
View File

@ -0,0 +1,88 @@
#!/bin/sh
#
# redis init file for starting up the redis daemon
#
# chkconfig: - 20 80
# description: Starts and stops the redis daemon.
# Source function library.
. /etc/rc.d/init.d/functions
name="redis-server"
exec="/usr/sbin/$name"
pidfile="/var/run/redis/redis.pid"
REDIS_CONFIG="/etc/redis.conf"
[ -e /etc/sysconfig/redis ] && . /etc/sysconfig/redis
lockfile=/var/lock/subsys/redis
start() {
[ -f $REDIS_CONFIG ] || exit 6
[ -x $exec ] || exit 5
echo -n $"Starting $name: "
daemon --user ${REDIS_USER-redis} "$exec $REDIS_CONFIG"
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $name: "
killproc -p $pidfile $name
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
stop
start
}
reload() {
false
}
rh_status() {
status -p $pidfile $name
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart}"
exit 2
esac
exit $?

9
redis.logrotate Normal file
View File

@ -0,0 +1,9 @@
/var/log/redis/redis.log {
weekly
rotate 10
copytruncate
delaycompress
compress
notifempty
missingok
}

125
redis.spec Normal file
View File

@ -0,0 +1,125 @@
# Check for status of man pages
# http://code.google.com/p/redis/issues/detail?id=202
Name: redis
Version: 2.0.3
Release: 1%{?dist}
Summary: A persistent key-value database
Group: Applications/Databases
License: BSD
URL: http://code.google.com/p/redis/
Source0: http://redis.googlecode.com/files/%{name}-%{version}.tar.gz
Source1: %{name}.logrotate
Source2: %{name}.init
# Update configuration for Fedora
Patch0: %{name}-2.0.0-redis.conf.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%if !0%{?el5}
BuildRequires: tcl >= 8.5
%endif
Requires: logrotate
Requires(post): chkconfig
Requires(postun): initscripts
Requires(pre): shadow-utils
Requires(preun): chkconfig
Requires(preun): initscripts
%description
Redis is an advanced key-value store. It is similar to memcached but the data
set is not volatile, and values can be strings, exactly like in memcached, but
also lists, sets, and ordered sets. All this data types can be manipulated with
atomic operations to push/pop elements, add/remove elements, perform server side
union, intersection, difference between sets, and so forth. Redis supports
different kind of sorting abilities.
%prep
%setup -q
%patch0 -p1
# Remove integration tests
sed -i '/ execute_tests "integration\/replication"/d' tests/test_helper.tcl
sed -i '/ execute_tests "integration\/aof"/d' tests/test_helper.tcl
%build
make %{?_smp_mflags} DEBUG="" CFLAGS='%{optflags} -std=c99' all
%check
%if !0%{?el5}
tclsh tests/test_helper.tcl
%endif
%install
rm -fr %{buildroot}
# Install binaries
install -p -D -m 755 %{name}-benchmark %{buildroot}%{_bindir}/%{name}-benchmark
install -p -D -m 755 %{name}-cli %{buildroot}%{_bindir}/%{name}-cli
install -p -D -m 755 %{name}-check-aof %{buildroot}%{_bindir}/%{name}-check-aof
install -p -D -m 755 %{name}-check-dump %{buildroot}%{_bindir}/%{name}-check-dump
install -p -D -m 755 %{name}-server %{buildroot}%{_sbindir}/%{name}-server
# Install misc other
install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
install -p -D -m 755 %{SOURCE2} %{buildroot}%{_initrddir}/%{name}
install -p -D -m 644 %{name}.conf %{buildroot}%{_sysconfdir}/%{name}.conf
install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name}
install -d -m 755 %{buildroot}%{_localstatedir}/log/%{name}
install -d -m 755 %{buildroot}%{_localstatedir}/run/%{name}
%clean
rm -fr %{buildroot}
%post
/sbin/chkconfig --add redis
%pre
getent group redis &> /dev/null || groupadd -r redis &> /dev/null
getent passwd redis &> /dev/null || \
useradd -r -g redis -d %{_sharedstatedir}/redis -s /sbin/nologin \
-c 'Redis Server' redis &> /dev/null
exit 0
%preun
if [ $1 = 0 ]; then
/sbin/service redis stop &> /dev/null
/sbin/chkconfig --del redis &> /dev/null
fi
%files
%defattr(-,root,root,-)
%doc 00-RELEASENOTES BUGS COPYING Changelog README TODO doc/
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%config(noreplace) %{_sysconfdir}/%{name}.conf
%dir %attr(0755, redis, root) %{_localstatedir}/lib/%{name}
%dir %attr(0755, redis, root) %{_localstatedir}/log/%{name}
%dir %attr(0755, redis, root) %{_localstatedir}/run/%{name}
%{_bindir}/%{name}-*
%{_sbindir}/%{name}-*
%{_initrddir}/%{name}
%changelog
* Tue Oct 19 2010 Silas Sewell <silas@sewell.ch> - 2.0.3-1
- Update to redis 2.0.3
* Fri Oct 08 2010 Silas Sewell <silas@sewell.ch> - 2.0.2-1
- Update to redis 2.0.2
- Disable checks section for el5
* Fri Sep 11 2010 Silas Sewell <silas@sewell.ch> - 2.0.1-1
- Update to redis 2.0.1
* Sat Sep 04 2010 Silas Sewell <silas@sewell.ch> - 2.0.0-1
- Update to redis 2.0.0
* Thu Sep 02 2010 Silas Sewell <silas@sewell.ch> - 1.2.6-3
- Add Fedora build flags
- Send all scriplet output to /dev/null
- Remove debugging flags
- Add redis.conf check to init script
* Mon Aug 16 2010 Silas Sewell <silas@sewell.ch> - 1.2.6-2
- Don't compress man pages
- Use patch to fix redis.conf
* Tue Jul 06 2010 Silas Sewell <silas@sewell.ch> - 1.2.6-1
- Initial package

View File

@ -0,0 +1 @@
7799de79f36ebdb73bcb8f09816d1ac3 redis-2.0.3.tar.gz