Browse Source

package/redis: add optional support for systemd

- Use the unit type=notify (Redis contacts systemd when ready)
- Start redis with the supervised option, so it knows it should
  talk to systemd
- USE_SYSTEMD is not documented, but it is used in the src/Makefile

Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
[yann.morin.1998@free.fr: add and explain USE_SYSTEMD]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Titouan Christophe 5 years ago
parent
commit
ac3ab472e0
2 changed files with 13 additions and 4 deletions
  1. 7 0
      package/redis/redis.mk
  2. 6 4
      package/redis/redis.service

+ 7 - 0
package/redis/redis.mk

@@ -30,6 +30,13 @@ endif
 REDIS_BUILDOPTS = $(TARGET_CONFIGURE_OPTS) \
 	PREFIX=$(TARGET_DIR)/usr MALLOC=libc
 
+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+REDIS_DEPENDENCIES += systemd
+REDIS_BUILDOPTS += USE_SYSTEMD=yes
+else
+REDIS_BUILDOPTS += USE_SYSTEMD=no
+endif
+
 ifeq ($(BR2_PACKAGE_LIBOPENSSL),y)
 REDIS_DEPENDENCIES += libopenssl
 REDIS_BUILDOPTS += BUILD_TLS=yes

+ 6 - 4
package/redis/redis.service

@@ -1,13 +1,15 @@
 [Unit]
-Description=Advanced key-value store
+Description=Redis data structure server
+Documentation=https://redis.io/documentation
 After=network.target
 
 [Service]
-Type=simple
+Type=notify
 User=redis
 Group=redis
-ExecStart=/usr/bin/redis-server /etc/redis.conf
-ExecStop=/usr/bin/redis-cli shutdown
+ExecStart=/usr/bin/redis-server --supervised systemd --daemonize no
+TimeoutStartSec=5
+TimeoutStopSec=5
 CapabilityBoundingSet=
 PrivateTmp=true
 PrivateDevices=true