diff options
| author | Remi Collet <remi@remirepo.net> | 2017-11-21 11:56:13 +0100 | 
|---|---|---|
| committer | Remi Collet <remi@remirepo.net> | 2017-11-21 11:56:13 +0100 | 
| commit | 6a47dde9bed3a499b6be9d841047c24a5cb4aedd (patch) | |
| tree | 03a8c2b874ed5f0b86ec87bcdac0bef6808cdfe6 | |
| parent | c4b4e590805606cbcc79cf6260b7cf37396ba591 (diff) | |
add doc and devel subpackages, synced from Fedora
keep man pages in main package
minor fix for EL-6 and tests
| -rw-r--r-- | 0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch (renamed from redis-pr3491.patch) | 26 | ||||
| -rw-r--r-- | 0001-redis-3.2-redis-conf.patch | 36 | ||||
| -rw-r--r-- | 0002-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch (renamed from redis-pr3494.patch) | 18 | ||||
| -rw-r--r-- | macros.redis | 2 | ||||
| -rw-r--r-- | redis-sentinel.service | 2 | ||||
| -rw-r--r-- | redis.service | 2 | ||||
| -rw-r--r-- | redis.spec | 330 | 
7 files changed, 233 insertions, 183 deletions
diff --git a/redis-pr3491.patch b/0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch index 073972e..ab62c0c 100644 --- a/redis-pr3491.patch +++ b/0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch @@ -1,4 +1,4 @@ -From 8295483fcee6c1232ac801ff91f66e21f9d23d80 Mon Sep 17 00:00:00 2001 +From c7958ad1c0d615b81276ec2d4dbc1bf6a67dcc4d Mon Sep 17 00:00:00 2001  From: Remi Collet <fedora@famillecollet.com>  Date: Thu, 8 Sep 2016 14:51:15 +0200  Subject: [PATCH 1/2] 1st man pageis for - redis-cli - redis-benchmark - @@ -647,26 +647,6 @@ index 0000000..1e0c9c9  +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT  +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS  +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--  +2.13.5 -From aabbe7ffd278a09e7583ce96e6aa781f8cd81ab9 Mon Sep 17 00:00:00 2001 -From: Remi Collet <remi@remirepo.net> -Date: Mon, 24 Apr 2017 17:47:51 +0200 -Subject: [PATCH 2/2] typo - ---- - man/man1/redis-server.1 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/man/man1/redis-server.1 b/man/man1/redis-server.1 -index d6edd25..6349a25 100644 ---- a/man/man1/redis-server.1 -+++ b/man/man1/redis-server.1 -@@ -22,7 +22,7 @@ used as database, cache and message broker, found at - The \fBredis\-server\fP command is a command line to launch a Redis server. - .LP - The \fBredis\-sentinel\fP command is a symbolic link to the \fBredis\-server\fP --command which imply the \fB\-\-sentionel\fP option. -+command and implies the \fB\-\-sentionel\fP option. -  - .SH OPTIONS - .TP 15 diff --git a/0001-redis-3.2-redis-conf.patch b/0001-redis-3.2-redis-conf.patch deleted file mode 100644 index f8d8791..0000000 --- a/0001-redis-3.2-redis-conf.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up ./redis.conf.rpmconf ./redis.conf ---- ./redis.conf.rpmconf	2015-12-23 13:35:32.000000000 +0100 -+++ ./redis.conf	2016-01-15 16:32:22.491355290 +0100 -@@ -160,7 +160,7 @@ loglevel notice - # Specify the log file name. Also the empty string 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 "" -+logfile /var/log/redis/redis.log -  - # To enable logging to the system logger, just set 'syslog-enabled' to yes, - # and optionally update the other syslog parameters to suit your needs. -@@ -244,7 +244,7 @@ dbfilename dump.rdb - # The Append Only File will also be created inside this directory. - # - # Note that you must specify a directory here, not a file name. --dir ./ -+dir /var/lib/redis/ -  - ################################# REPLICATION ################################# -  -diff -up ./sentinel.conf.rpmconf ./sentinel.conf ---- ./sentinel.conf.rpmconf	2015-12-23 13:35:32.000000000 +0100 -+++ ./sentinel.conf	2016-01-15 16:32:22.491355290 +0100 -@@ -20,6 +20,11 @@ - # The port that this sentinel instance will run on - port 26379 -  -+# Specify the log file name. Also the empty string 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 /var/log/redis/sentinel.log -+ - # sentinel announce-ip <ip> - # sentinel announce-port <port> - # diff --git a/redis-pr3494.patch b/0002-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch index e45ccb9..ce09350 100644 --- a/redis-pr3494.patch +++ b/0002-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch @@ -1,22 +1,26 @@ -From a34f7b1ac2cfb2879cc0889da0297aee96bcb076 Mon Sep 17 00:00:00 2001 +From 992c773e70462a6fbe1536e18e673c9ab55d5901 Mon Sep 17 00:00:00 2001  From: Remi Collet <fedora@famillecollet.com>  Date: Fri, 9 Sep 2016 17:23:27 +0200 -Subject: [PATCH] install redis-check-rdb as a symlink instead of duplicating +Subject: [PATCH 2/2] install redis-check-rdb as a symlink instead of duplicating   the binary  --- - src/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + src/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-)  diff --git a/src/Makefile b/src/Makefile -index 6bd8d8d..4cc422e 100644 +index fdbe36a..c3083f8 100644  --- a/src/Makefile  +++ b/src/Makefile -@@ -269,6 +269,6 @@ install: all +@@ -287,6 +287,6 @@ install: all   	$(REDIS_INSTALL) $(REDIS_SERVER_NAME) $(INSTALL_BIN)   	$(REDIS_INSTALL) $(REDIS_BENCHMARK_NAME) $(INSTALL_BIN)   	$(REDIS_INSTALL) $(REDIS_CLI_NAME) $(INSTALL_BIN)  -	$(REDIS_INSTALL) $(REDIS_CHECK_RDB_NAME) $(INSTALL_BIN) - 	$(REDIS_INSTALL) $(REDIS_CHECK_AOF_NAME) $(INSTALL_BIN) +-	$(REDIS_INSTALL) $(REDIS_CHECK_AOF_NAME) $(INSTALL_BIN)   	@ln -sf $(REDIS_SERVER_NAME) $(INSTALL_BIN)/$(REDIS_SENTINEL_NAME)  +	@ln -sf $(REDIS_SERVER_NAME) $(INSTALL_BIN)/$(REDIS_CHECK_RDB_NAME) ++	@ln -sf $(REDIS_SERVER_NAME) $(INSTALL_BIN)/$(REDIS_CHECK_AOF_NAME) +--  +2.13.5 + diff --git a/macros.redis b/macros.redis new file mode 100644 index 0000000..439cc2c --- /dev/null +++ b/macros.redis @@ -0,0 +1,2 @@ +%redis_modules_abi 1 +%redis_modules_dir %{_libdir}/redis/modules diff --git a/redis-sentinel.service b/redis-sentinel.service index 242d51a..15463cf 100644 --- a/redis-sentinel.service +++ b/redis-sentinel.service @@ -3,9 +3,9 @@ Description=Redis Sentinel  After=network.target  [Service] -Type=notify  ExecStart=/usr/bin/redis-sentinel /etc/redis-sentinel.conf --supervised systemd  ExecStop=/usr/libexec/redis-shutdown redis-sentinel +Type=notify  User=redis  Group=redis  RuntimeDirectory=redis diff --git a/redis.service b/redis.service index f999e88..88e9edc 100644 --- a/redis.service +++ b/redis.service @@ -3,9 +3,9 @@ Description=Redis persistent key-value database  After=network.target  [Service] -Type=notify  ExecStart=/usr/bin/redis-server /etc/redis.conf --supervised systemd  ExecStop=/usr/libexec/redis-shutdown +Type=notify  User=redis  Group=redis  RuntimeDirectory=redis @@ -8,6 +8,7 @@  # Please preserve changelog entries  #  %global _hardened_build 1 +%global with_perftools 0  %if 0%{?fedora} >= 19 || 0%{?rhel} >= 7  %global with_redistrib 1 @@ -15,7 +16,12 @@  %global with_redistrib 0  %endif -# systemd >= 204 with additional service config +%if 0%{?fedora} >= 15 || 0%{?rhel} >= 6 +%global with_pandoc 1 +%else +%global with_pandoc 0 +%endif +  %if 0%{?fedora} >= 19 || 0%{?rhel} >= 7  %global with_systemd 1  %else @@ -23,7 +29,7 @@  %endif  # Tests fail in mock, not in local build. -%global with_tests   0%{?_with_tests:1} +%global with_tests %{?_with_tests:1}%{!?_with_tests:0}  # Pre-version are only available in github  #global prever       RC3 @@ -32,86 +38,128 @@  %global gh_owner     antirez  %global gh_project   redis -Name:             redis -Version:          4.0.2 -Release:          2%{?dist} -Summary:          A persistent key-value database +# Commit IDs for the (unversioned) redis-doc repository +# https://fedoraproject.org/wiki/Packaging:SourceURL "Commit Revision" +%global doc_commit 69a5512ae6a4ec77d7b1d0af6aac2224e8e83f95 +%global short_doc_commit %(c=%{doc_commit}; echo ${c:0:7}) -Group:            Applications/Databases -License:          BSD -URL:              http://redis.io +%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) + +Name:              redis +Version:           4.0.2 +Release:           3%{?dist} +Summary:           A persistent key-value database +Group:             Applications/Databases +License:           BSD +URL:               http://redis.io  %if 0%{?prever:1} -Source0:          https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{version}%{prever}-%{gh_short}.tar.gz +Source0:           https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{version}%{prever}-%{gh_short}.tar.gz  %else -Source0:          http://download.redis.io/releases/%{name}-%{version}.tar.gz +Source0:           http://download.redis.io/releases/%{name}-%{version}.tar.gz  %endif -Source1:          %{name}.logrotate -Source2:          %{name}.init -Source3:          %{name}.service -Source5:          %{name}-sentinel.init -Source6:          %{name}-sentinel.service -Source7:          %{name}-shutdown -Source8:          %{name}-limit-systemd -Source9:          %{name}-limit-init - +Source1:           %{name}.logrotate +Source2:           %{name}-sentinel.service +Source3:           %{name}.service +Source4:           %{name}-sentinel.init +Source5:           %{name}.init +Source6:           %{name}-shutdown +Source7:           %{name}-limit-systemd +Source8:           %{name}-limit-init +Source9:           macros.%{name} +Source10:          https://github.com/antirez/%{name}-doc/archive/%{doc_commit}/%{name}-doc-%{short_doc_commit}.tar.gz + +# To refresh patches: +# tar xf redis-xxx.tar.gz && cd redis-xxx && git init && git add . && git commit -m "%%{version} baseline" +# git am %%{patches} +# Then refresh your patches +# git format-patch HEAD~<number of expected patches>  # Update configuration for Fedora -Patch0:           0001-redis-3.2-redis-conf.patch -  # https://github.com/antirez/redis/pull/3491 - man pages -Patch3:           %{name}-pr3491.patch +Patch0001:         0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch  # https://github.com/antirez/redis/pull/3494 - symlink -Patch4:           %{name}-pr3494.patch - -BuildRequires:    tcl >= 8.5 -BuildRequires:    jemalloc-devel - +Patch0002:         0002-install-redis-check-rdb-as-a-symlink-instead-of-dupl.patch +%if 0%{?with_perftools} +BuildRequires:     gperftools-devel +%else +BuildRequires:     jemalloc-devel +%endif +%if 0%{?with_tests} +BuildRequires:     procps-ng +BuildRequires:     tcl +%endif +%if 0%{?with_pandoc} +BuildRequires:     pandoc +%endif +%if 0%{?with_systemd} +BuildRequires:     systemd +%endif  # Required for redis-shutdown -Requires:         /bin/awk -Requires:         logrotate -Requires(pre):    shadow-utils -%if %{with_systemd} -BuildRequires:    systemd-units -Requires(post):   systemd-units -Requires(preun):  systemd-units -Requires(postun): systemd-units +Requires:          /bin/awk +Requires:          logrotate +Requires(pre):     shadow-utils +%if 0%{?with_systemd} +Requires(post):    systemd +Requires(preun):   systemd +Requires(postun):  systemd  %else -Requires(post):   chkconfig -Requires(preun):  chkconfig -Requires(preun):  initscripts -Requires(postun): initscripts +Requires(post):    chkconfig +Requires(preun):   chkconfig +Requires(preun):   initscripts +Requires(postun):  initscripts  %endif  Provides:          bundled(hiredis)  Provides:          bundled(lua-libs)  Provides:          bundled(linenoise) +%global redis_modules_abi 1 +%global redis_modules_dir %{_libdir}/%{name}/modules +Provides:          redis(modules_abi)%{?_isa} = %{redis_modules_abi}  %description -Redis is an advanced key-value store. It is often referred to as a data -structure server since keys can contain strings, hashes, lists, sets and +Redis is an advanced key-value store. It is often referred to as a data  +structure server since keys can contain strings, hashes, lists, sets and   sorted sets.  You can run atomic operations on these types, like appending to a string; -incrementing the value in a hash; pushing to a list; computing set -intersection, union and difference; or getting the member with highest +incrementing the value in a hash; pushing to a list; computing set  +intersection, union and difference; or getting the member with highest   ranking in a sorted set. -In order to achieve its outstanding performance, Redis works with an -in-memory dataset. Depending on your use case, you can persist it either -by dumping the dataset to disk every once in a while, or by appending +In order to achieve its outstanding performance, Redis works with an  +in-memory dataset. Depending on your use case, you can persist it either  +by dumping the dataset to disk every once in a while, or by appending   each command to a log. -Redis also supports trivial-to-setup master-slave replication, with very -fast non-blocking first synchronization, auto-reconnection on net split +Redis also supports trivial-to-setup master-slave replication, with very  +fast non-blocking first synchronization, auto-reconnection on net split   and so forth. -Other features include Transactions, Pub/Sub, Lua scripting, Keys with a -limited time-to-live, and configuration settings to make Redis behave like +Other features include Transactions, Pub/Sub, Lua scripting, Keys with a  +limited time-to-live, and configuration settings to make Redis behave like   a cache.  You can use Redis from most programming languages also. -Documentation: http://redis.io/documentation +%package           devel +Summary:           Development header for Redis module development +# Header-Only Library (https://fedoraproject.org/wiki/Packaging:Guidelines) +Provides:          %{name}-static = %{version}-%{release} + +%description       devel +Header file required for building loadable Redis modules. Detailed +API documentation is available in the redis-doc package. + +%package           doc +Summary:           Documentation for Redis including man pages +License:           CC-BY-SA +BuildArch:         noarch + +# http://fedoraproject.org/wiki/Packaging:Conflicts "Splitting Packages" +Conflicts:         redis < 4.0 +%description       doc +Manual pages and detailed documentation for many aspects of Redis use, +administration and development.  %if 0%{?with_redistrib}  %package           trib @@ -125,67 +173,92 @@ Redis cluster management utility providing cluster creation, node addition  and removal, status checks, resharding, rebalancing, and other operations.  %endif -  %prep +%setup -q -b 10  %if 0%{?prever:1}  %setup -q -n %{gh_project}-%{gh_commit}  %else -%setup -q -n %{name}-%{version} +%setup -q  %endif +mv ../%{name}-doc-%{doc_commit} doc  rm -frv deps/jemalloc - -%patch0 -p1 -b .rpmconf -%patch3 -p1 -%patch4 -p1 -b .old +%patch0001 -p1 +%patch0002 -p1  # Use system jemalloc library  sed -i -e '/cd jemalloc && /d' deps/Makefile  sed -i -e 's|../deps/jemalloc/lib/libjemalloc.a|-ljemalloc -ldl|g' src/Makefile  sed -i -e 's|-I../deps/jemalloc.*|-DJEMALLOC_NO_DEMANGLE -I/usr/include/jemalloc|g' src/Makefile +# Configuration file changes and additions +sed -i -e 's|^logfile .*$|logfile /var/log/redis/redis.log|g' redis.conf +sed -i -e '$ alogfile /var/log/redis/sentinel.log' sentinel.conf +sed -i -e 's|^dir .*$|dir /var/lib/redis|g' redis.conf + +# Module API version safety check +api=`sed -n -e 's/#define REDISMODULE_APIVER_[0-9][0-9]* //p' src/redismodule.h` +if test "$api" != "%{redis_modules_abi}"; then +   : Error: Upstream API version is now ${api}, expecting %%{redis_modules_abi}. +   : Update the redis_modules_abi macro, the rpmmacros file, and rebuild. +   exit 1 +fi -%global malloc_flags MALLOC=jemalloc -%global make_flags DEBUG="" V="echo" LDFLAGS="%{?__global_ldflags}" CFLAGS+="%{optflags} -fPIC" %{malloc_flags} INSTALL="install -p" PREFIX=%{buildroot}%{_prefix} +%if 0%{?with_pandoc} +docs=`find doc -name \*.md | sed -e 's|.md$||g'` +for doc in $docs; do +    pandoc --standalone --from markdown --to html --output $doc.html $doc.md +done +%endif +%if 0%{?with_perftools} +%global malloc_flags	MALLOC=tcmalloc +%else +%global malloc_flags	MALLOC=jemalloc +%endif +%global make_flags	DEBUG="" V="echo" LDFLAGS="%{?__global_ldflags}" CFLAGS+="%{optflags} -fPIC" %{malloc_flags} INSTALL="install -p" PREFIX=%{buildroot}%{_prefix}  %build  make %{?_smp_mflags} %{make_flags} all -  %install  make %{make_flags} install  # Filesystem. -install -d -m 750 %{buildroot}%{_localstatedir}/lib/%{name} -install -d -m 750 %{buildroot}%{_localstatedir}/log/%{name} -install -d -m 750 %{buildroot}%{_localstatedir}/run/%{name} +install -d %{buildroot}%{_sharedstatedir}/%{name} +install -d %{buildroot}%{_localstatedir}/log/%{name} +install -d %{buildroot}%{_localstatedir}/run/%{name} +install -d %{buildroot}%{redis_modules_dir}  # Install logrotate file. -install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} +install -pDm644 %{S:1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}  # Install configuration files. -install -p -D -m 640 %{name}.conf  %{buildroot}%{_sysconfdir}/%{name}.conf -install -p -D -m 640 sentinel.conf %{buildroot}%{_sysconfdir}/%{name}-sentinel.conf +install -pDm640 %{name}.conf %{buildroot}%{_sysconfdir}/%{name}.conf +install -pDm640 sentinel.conf %{buildroot}%{_sysconfdir}/%{name}-sentinel.conf  # Install systemd unit files. -%if %{with_systemd} -install -p -D -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/%{name}.service -install -p -D -m 644 %{SOURCE6} %{buildroot}%{_unitdir}/%{name}-sentinel.service +%if 0%{?with_systemd} +mkdir -p %{buildroot}%{_unitdir} +install -pm644 %{S:3} %{buildroot}%{_unitdir} +install -pm644 %{S:2} %{buildroot}%{_unitdir}  # Install systemd limit files (requires systemd >= 204) -install -p -D -m 644 %{SOURCE8} %{buildroot}%{_sysconfdir}/systemd/system/%{name}.service.d/limit.conf -install -p -D -m 644 %{SOURCE8} %{buildroot}%{_sysconfdir}/systemd/system/%{name}-sentinel.service.d/limit.conf +install -p -D -m 644 %{S:7} %{buildroot}%{_sysconfdir}/systemd/system/%{name}.service.d/limit.conf +install -p -D -m 644 %{S:7} %{buildroot}%{_sysconfdir}/systemd/system/%{name}-sentinel.service.d/limit.conf  %else # install SysV service files -install -p -D -m 755 %{SOURCE2} %{buildroot}%{_initrddir}/%{name} -install -p -D -m 755 %{SOURCE5} %{buildroot}%{_initrddir}/%{name}-sentinel -install -p -D -m 644 %{SOURCE9} %{buildroot}%{_sysconfdir}/security/limits.d/95-%{name}.conf +install -pDm755 %{S:4} %{buildroot}%{_initrddir}/%{name}-sentinel +install -pDm755 %{S:5} %{buildroot}%{_initrddir}/%{name} +install -p -D -m 644 %{S:8} %{buildroot}%{_sysconfdir}/security/limits.d/95-%{name}.conf  %endif -# Fix non-standard-executable-perm error +# Fix non-standard-executable-perm error.  chmod 755 %{buildroot}%{_bindir}/%{name}-*  # Install redis-shutdown -install -pDm755 %{SOURCE7} %{buildroot}%{_libexecdir}/%{name}-shutdown +install -pDm755 %{S:6} %{buildroot}%{_libexecdir}/%{name}-shutdown + +# Install redis module header +install -pDm644 src/%{name}module.h %{buildroot}%{_includedir}/%{name}module.h  %if 0%{?with_redistrib}  # Install redis-trib @@ -200,66 +273,74 @@ done  ln -s redis-server.1 %{buildroot}%{_mandir}/man1/redis-sentinel.1  ln -s redis.conf.5   %{buildroot}%{_mandir}/man5/redis-sentinel.conf.5 +# Install markdown and html pages +doc=$(echo %{buildroot}/%{_docdir}/%{name}) +for page in $(find doc -name \*.md | sed -e 's|.md$||g'); do +    base=$(echo $page | sed -e 's|doc/||g') +    install -Dpm644 $page.md $doc/$base.md +%if 0%{?with_pandoc} +    install -Dpm644 $page.html $doc/$base.html +%endif +done + +# Install rpm macros for redis modules +mkdir -p %{buildroot}%{macrosdir} +install -pDm644 %{S:9} %{buildroot}%{macrosdir}/macros.%{name}  %check -%if %{with_tests} +%if 0%{?with_tests}  # ERR Active defragmentation cannot be enabled: it requires a Redis server compiled  # with a modified Jemalloc like the one shipped by default with the Redis source distribution  sed -e '/memefficiency/d' -i tests/test_helper.tcl  # https://github.com/antirez/redis/issues/1417 (for "taskset -c 1") -taskset -c 1 make test ||: -make test-sentinel +taskset -c 1 make %{make_flags} test +make %{make_flags} test-sentinel  %else  : Test disabled, missing '--with tests' option.  %endif +%pre +getent group %{name} &> /dev/null || \ +groupadd -r %{name} &> /dev/null +getent passwd %{name} &> /dev/null || \ +useradd -r -g %{name} -d %{_sharedstatedir}/%{name} -s /sbin/nologin \ +-c 'Redis Database Server' %{name} &> /dev/null +exit 0  %post -%if 0%{?systemd_post:1} -%systemd_post redis.service -%systemd_post redis-sentinel.service +%if 0%{?with_systemd} +%systemd_post %{name}.service +%systemd_post %{name}-sentinel.service  %else -# Initial installation (always, for new service) -/sbin/chkconfig --add redis -/sbin/chkconfig --add redis-sentinel +chkconfig --add %{name} +chkconfig --add %{name}-sentinel  %endif -%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 0%{?systemd_preun:1} -%systemd_preun redis.service -%systemd_preun redis-sentinel.service +%if 0%{?with_systemd} +%systemd_preun %{name}.service +%systemd_preun %{name}-sentinel.service  %else -if [ $1 = 0 ]; then -  # Package removal, not upgrade -  /sbin/service redis-sentinel stop &> /dev/null -  /sbin/chkconfig --del redis-sentinel &> /dev/null - -  /sbin/service redis stop &> /dev/null -  /sbin/chkconfig --del redis &> /dev/null +if [ $1 -eq 0 ] ; then +    service %{name} stop &> /dev/null +    chkconfig --del %{name} &> /dev/null +    service %{name}-sentinel stop &> /dev/null +    chkconfig --del %{name}-sentinel &> /dev/null  fi  %endif  %postun -%if 0%{?systemd_postun_with_restart:1} -%systemd_postun_with_restart redis.service -%systemd_postun_with_restart redis-sentinel.service +%if 0%{?with_systemd} +%systemd_postun_with_restart %{name}.service +%systemd_postun_with_restart %{name}-sentinel.service  %else -if [ $1 -ge 1 ]; then -  /sbin/service redis          condrestart >/dev/null 2>&1 || : -  /sbin/service redis-sentinel condrestart >/dev/null 2>&1 || : +if [ "$1" -ge "1" ] ; then +    service %{name} condrestart >/dev/null 2>&1 || : +    service %{name}-sentinel condrestart >/dev/null 2>&1 || :  fi  %endif -  %files  %{!?_licensedir:%global license %%doc}  %license COPYING @@ -267,22 +348,28 @@ fi  %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}  %attr(0640, redis, root) %config(noreplace) %{_sysconfdir}/%{name}.conf  %attr(0640, redis, root) %config(noreplace) %{_sysconfdir}/%{name}-sentinel.conf -%dir %attr(0750, redis, redis) %{_localstatedir}/lib/%{name} +%dir %attr(0750, redis, redis) %{_libdir}/%{name} +%dir %attr(0750, redis, redis) %{redis_modules_dir} +%dir %attr(0750, redis, redis) %{_sharedstatedir}/%{name}  %dir %attr(0750, redis, redis) %{_localstatedir}/log/%{name}  %if 0%{?with_redistrib}  %exclude %{_bindir}/%{name}-trib  %endif +%exclude %{macrosdir} +%exclude %{_includedir} +%exclude %{_docdir}/%{name}/*  %{_bindir}/%{name}-*  %{_libexecdir}/%{name}-* -%{_mandir}/man1/redis* -%{_mandir}/man5/redis* -%if %{with_systemd} +%{_mandir}/man1/%{name}* +%{_mandir}/man5/%{name}* +%if 0%{?with_systemd}  %{_unitdir}/%{name}.service  %{_unitdir}/%{name}-sentinel.service  %dir %{_sysconfdir}/systemd/system/%{name}.service.d  %config(noreplace) %{_sysconfdir}/systemd/system/%{name}.service.d/limit.conf  %dir %{_sysconfdir}/systemd/system/%{name}-sentinel.service.d  %config(noreplace) %{_sysconfdir}/systemd/system/%{name}-sentinel.service.d/limit.conf +%dir %attr(0750, redis, redis) %ghost %{_localstatedir}/run/%{name}  %else  %{_initrddir}/%{name}  %{_initrddir}/%{name}-sentinel @@ -290,6 +377,14 @@ fi  %dir %attr(0755, redis, redis) %{_localstatedir}/run/%{name}  %endif +%files devel +%license COPYING +%{_includedir}/%{name}module.h +%{macrosdir}/* + +%files doc +%docdir %{_docdir}/%{name} +%{_docdir}/%{name}/*  %if 0%{?with_redistrib}  %files trib @@ -299,6 +394,11 @@ fi  %changelog +* Tue Nov 21 2017 Remi Collet <remi@remirepo.net> - 4.0.2-3 +- add doc and devel subpackages, synced from Fedora +- keep man pages in main package +- minor fix for EL-6 and tests +  * Tue Sep 26 2017 Remi Collet <remi@remirepo.net> - 4.0.2-2  - simplify build, synced from Fedora  | 
