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
openSUSE Build Service is sponsored by