Silas Sewell 8ddfa61
# Check for status of man pages
Silas Sewell 8ddfa61
# http://code.google.com/p/redis/issues/detail?id=202
Silas Sewell 8ddfa61
1a0610f
%ifarch %{ix86} x86_64 ppc
1a0610f
# available only on selected architectures
1a0610f
%global with_perftools 1
1a0610f
%endif
1a0610f
Silas Sewell 8ddfa61
Name:             redis
Silas Sewell 45fb6a4
Version:          2.2.12
Silas Sewell 45fb6a4
Release:          1%{?dist}
Silas Sewell 8ddfa61
Summary:          A persistent key-value database
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
Group:            Applications/Databases
Silas Sewell 8ddfa61
License:          BSD
Silas Sewell 45fb6a4
URL:              http://redis.io
Silas Sewell 8ddfa61
Source0:          http://redis.googlecode.com/files/%{name}-%{version}.tar.gz
Silas Sewell 8ddfa61
Source1:          %{name}.logrotate
Silas Sewell 8ddfa61
Source2:          %{name}.init
Silas Sewell 8ddfa61
# Update configuration for Fedora
Silas Sewell f8b7524
Patch0:           %{name}-2.2.2-redis.conf.patch
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
%if !0%{?el5}
Silas Sewell 8ddfa61
BuildRequires:    tcl >= 8.5
1a0610f
%if 0%{?with_perftools}
Silas Sewell f8b7524
BuildRequires:    google-perftools-devel
Silas Sewell 8ddfa61
%endif
1a0610f
%endif
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
Requires:         logrotate
Silas Sewell 8ddfa61
Requires(post):   chkconfig
Silas Sewell 8ddfa61
Requires(postun): initscripts
Silas Sewell 8ddfa61
Requires(pre):    shadow-utils
Silas Sewell 8ddfa61
Requires(preun):  chkconfig
Silas Sewell 8ddfa61
Requires(preun):  initscripts
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
%description
Silas Sewell 8ddfa61
Redis is an advanced key-value store. It is similar to memcached but the data
Silas Sewell 8ddfa61
set is not volatile, and values can be strings, exactly like in memcached, but
Silas Sewell 8ddfa61
also lists, sets, and ordered sets. All this data types can be manipulated with
Silas Sewell 8ddfa61
atomic operations to push/pop elements, add/remove elements, perform server side
Silas Sewell 8ddfa61
union, intersection, difference between sets, and so forth. Redis supports
Silas Sewell 8ddfa61
different kind of sorting abilities.
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
%prep
Silas Sewell 8ddfa61
%setup -q
Silas Sewell 8ddfa61
%patch0 -p1
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
%build
Silas Sewell f8b7524
make %{?_smp_mflags} \
Silas Sewell f8b7524
  DEBUG="" \
Silas Sewell f8b7524
  CFLAGS='%{optflags} -std=c99' \
Silas Sewell f8b7524
%if !0%{?el5}
1a0610f
%if 0%{?with_perftools}
Silas Sewell f8b7524
  USE_TCMALLOC=yes \
Silas Sewell f8b7524
%endif
1a0610f
%endif
Silas Sewell f8b7524
  all
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
%check
Silas Sewell 8ddfa61
%if !0%{?el5}
Silas Sewell f8b7524
# make test
Silas Sewell 8ddfa61
%endif
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
%install
Silas Sewell f8b7524
make install PREFIX=%{buildroot}%{_prefix}
Silas Sewell 8ddfa61
# Install misc other
Silas Sewell 8ddfa61
install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
Silas Sewell 8ddfa61
install -p -D -m 755 %{SOURCE2} %{buildroot}%{_initrddir}/%{name}
Silas Sewell 8ddfa61
install -p -D -m 644 %{name}.conf %{buildroot}%{_sysconfdir}/%{name}.conf
Silas Sewell 8ddfa61
install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name}
Silas Sewell 8ddfa61
install -d -m 755 %{buildroot}%{_localstatedir}/log/%{name}
Silas Sewell 8ddfa61
install -d -m 755 %{buildroot}%{_localstatedir}/run/%{name}
Silas Sewell 8ddfa61
Silas Sewell f8b7524
# Fix non-standard-executable-perm error
Silas Sewell f8b7524
chmod 755 %{buildroot}%{_bindir}/%{name}-*
Silas Sewell f8b7524
Silas Sewell f8b7524
# Ensure redis-server location doesn't change
Silas Sewell f8b7524
mkdir -p %{buildroot}%{_sbindir}
Silas Sewell f8b7524
mv %{buildroot}%{_bindir}/%{name}-server %{buildroot}%{_sbindir}/%{name}-server
Silas Sewell f8b7524
Silas Sewell 8ddfa61
%post
Silas Sewell 8ddfa61
/sbin/chkconfig --add redis
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
%pre
Silas Sewell 8ddfa61
getent group redis &> /dev/null || groupadd -r redis &> /dev/null
Silas Sewell 8ddfa61
getent passwd redis &> /dev/null || \
Silas Sewell 8ddfa61
useradd -r -g redis -d %{_sharedstatedir}/redis -s /sbin/nologin \
Silas Sewell 8ddfa61
-c 'Redis Server' redis &> /dev/null
Silas Sewell 8ddfa61
exit 0
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
%preun
Silas Sewell 8ddfa61
if [ $1 = 0 ]; then
Silas Sewell 8ddfa61
  /sbin/service redis stop &> /dev/null
Silas Sewell 8ddfa61
  /sbin/chkconfig --del redis &> /dev/null
Silas Sewell 8ddfa61
fi
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
%files
Silas Sewell 8ddfa61
%defattr(-,root,root,-)
Silas Sewell 118e491
%doc 00-RELEASENOTES BUGS COPYING Changelog README doc/
Silas Sewell 8ddfa61
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
Silas Sewell 8ddfa61
%config(noreplace) %{_sysconfdir}/%{name}.conf
Silas Sewell 8ddfa61
%dir %attr(0755, redis, root) %{_localstatedir}/lib/%{name}
Silas Sewell 8ddfa61
%dir %attr(0755, redis, root) %{_localstatedir}/log/%{name}
Silas Sewell 8ddfa61
%dir %attr(0755, redis, root) %{_localstatedir}/run/%{name}
Silas Sewell 8ddfa61
%{_bindir}/%{name}-*
Silas Sewell 8ddfa61
%{_sbindir}/%{name}-*
Silas Sewell 8ddfa61
%{_initrddir}/%{name}
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
%changelog
Silas Sewell 45fb6a4
* Sun Jul 24 2011 Silas Sewell <silas@sewell.org> - 2.2.12-1
Silas Sewell 45fb6a4
- Update to redis 2.2.12
Silas Sewell 45fb6a4
1a0610f
* Fri May 06 2011 Dan HorĂ¡k <dan[at]danny.cz> - 2.2.5-2
1a0610f
- google-perftools exists only on selected architectures
1a0610f
Silas Sewell 0a73f00
* Sat Apr 23 2011 Silas Sewell <silas@sewell.ch> - 2.2.5-1
Silas Sewell 0a73f00
- Update to redis 2.2.5
Silas Sewell 0a73f00
Silas Sewell f8b7524
* Sat Mar 26 2011 Silas Sewell <silas@sewell.ch> - 2.2.2-1
Silas Sewell f8b7524
- Update to redis 2.2.2
Silas Sewell f8b7524
88646f3
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.4-2
88646f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
88646f3
Silas Sewell 118e491
* Sun Dec 19 2010 Silas Sewell <silas@sewell.ch> - 2.0.4-1
Silas Sewell 118e491
- Update to redis 2.0.4
Silas Sewell 118e491
Silas Sewell 8ddfa61
* Tue Oct 19 2010 Silas Sewell <silas@sewell.ch> - 2.0.3-1
Silas Sewell 8ddfa61
- Update to redis 2.0.3
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
* Fri Oct 08 2010 Silas Sewell <silas@sewell.ch> - 2.0.2-1
Silas Sewell 8ddfa61
- Update to redis 2.0.2
Silas Sewell 8ddfa61
- Disable checks section for el5
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
* Fri Sep 11 2010 Silas Sewell <silas@sewell.ch> - 2.0.1-1
Silas Sewell 8ddfa61
- Update to redis 2.0.1
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
* Sat Sep 04 2010 Silas Sewell <silas@sewell.ch> - 2.0.0-1
Silas Sewell 8ddfa61
- Update to redis 2.0.0
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
* Thu Sep 02 2010 Silas Sewell <silas@sewell.ch> - 1.2.6-3
Silas Sewell 8ddfa61
- Add Fedora build flags
Silas Sewell 8ddfa61
- Send all scriplet output to /dev/null
Silas Sewell 8ddfa61
- Remove debugging flags
Silas Sewell 8ddfa61
- Add redis.conf check to init script
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
* Mon Aug 16 2010 Silas Sewell <silas@sewell.ch> - 1.2.6-2
Silas Sewell 8ddfa61
- Don't compress man pages
Silas Sewell 8ddfa61
- Use patch to fix redis.conf
Silas Sewell 8ddfa61
Silas Sewell 8ddfa61
* Tue Jul 06 2010 Silas Sewell <silas@sewell.ch> - 1.2.6-1
Silas Sewell 8ddfa61
- Initial package