File redis.spec of Package redis
#
# spec file for package redis
#
#SuSe specific Part
%if %{?sles_version:1}0
%define init 1
BuildRequires: -post-build-checks
%endif
%if 0%{?suse_version} >= 1315
BuildRequires: unzip pwdutils aaa_base glibc gawk sudo coreutils
Requires: glibc unzip sudo gawk
%endif
%if 0%{?rhel_version} == 800
Name: redis3
Source: http://download.redis.io/releases/redis3-3.2.3.tar.gz
Provides: redis
%else
Name: redis
Source: http://download.redis.io/releases/redis-3.2.3.tar.gz
Provides: redis3
%endif
#all Distros
Version: 3.2.3
Release: 3
License: BSD-2-Clause-Patent
Group: Productivity/Databases/Servers
Summary: Redis is an open source, BSD licensed, advanced key-value store
Url: http://redis.io/
BuildArch: %{_arch}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#Variables
%define redis_group redis
%define redis_user redis
%description
Redis is an open source, BSD licensed, advanced key-value store
%prep
%setup -q
%build
make %{?_smp_mflags}
%install
make install PREFIX=%{buildroot}/usr/
install -D %{_sourcedir}/redis.conf %{buildroot}/etc/redis/redis.conf
install -D %{_sourcedir}/redis.service %{buildroot}%{_unitdir}/redis.service
#install -D %{_sourcedir}/redis.init %{buildroot}/etc/init.d/redis
install -d %{buildroot}/var/run/
install -d %{buildroot}/var/log/redis
install -d %{buildroot}/var/lib/redis
#touch %{buildroot}/var/run/redis.pid
touch %{buildroot}/var/log/redis/redis.log
touch %{buildroot}/var/lib/redis/dump.rdb
install -D %{_sourcedir}/redis.logrotate %{buildroot}/etc/logrotate.d/redis
find -type f -exec chmod a-x {} \;
# find -type f -exec chown %{redis_user} {} \;
# find -type f -exec chgrp %{redis_group} {} \;
chmod +x %{buildroot}/usr/bin/redis-benchmark %{buildroot}/usr/bin/redis-check-aof %{buildroot}/usr/bin/redis-check-rdb %{buildroot}/usr/bin/redis-sentinel %{buildroot}/usr/bin/redis-cli %{buildroot}/usr/bin/redis-server
%pre
getent group %{redis_group} || groupadd -r %{redis_group}
getent passwd %{redis_user} || useradd -r %{redis_user} -g %{redis_group}
%preun
systemctl disable redis
%post
systemctl daemon-reload
sed -i 's/daemonize yes/daemonize no/g' /etc/redis/redis.conf
systemctl enable redis
%postun
if [ $1 -eq 0 ]; then
getent passwd %{redis_user} && userdel %{redis_user}
getent group %{redis_group} && groupdel %{redis_group}
fi
%files
%defattr(-,%{redis_user},%{redis_group})
%dir /etc/redis
%dir %attr(-,%{redis_user},%{redis_group}) /var/log/redis
%dir %attr(-,%{redis_user},%{redis_group}) /var/lib/redis
# %dir /usr/bin/
%attr(-,root,root) /usr/bin/redis-benchmark
%attr(-,root,root) /usr/bin/redis-check-aof
%attr(-,root,root) /usr/bin/redis-check-rdb
%attr(-,root,root) /usr/bin/redis-sentinel
%attr(-,root,root) /usr/bin/redis-cli
%attr(-,root,root) /usr/bin/redis-server
# %ghost /var/run/redis.pid
%attr(-,%{redis_user},%{redis_group}) %ghost /var/log/redis/redis.log
%attr(-,%{redis_user},%{redis_group}) %ghost /var/lib/redis/dump.rdb
%config(noreplace) %attr(0644,root,root) /etc/logrotate.d/redis
%config(noreplace) %attr(0644,root,root) /etc/redis/redis.conf
%attr(0644,root,root) %{_unitdir}/redis.service
%changelog