aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe
diff options
context:
space:
mode:
authorFrank Meerkoetter <meerkoetter@googlemail.com>2016-12-01 19:45:23 +0100
committerMartin Jansa <Martin.Jansa@gmail.com>2016-12-09 12:02:12 +0100
commit142faee1734300a041fe16265cb63cd17fb742ae (patch)
tree73c993f801c01a4fe7fb9d2edfa45e10da10a522 /meta-oe
parent5f85256b46ba2d89bf27f9d3edd607c4b59cf389 (diff)
downloadmeta-openembedded-contrib-142faee1734300a041fe16265cb63cd17fb742ae.tar.gz
redis: add a systemd service file
The redis.conf is changed on the fly to not daemonize redis. The reason for that is that with this appraoch we don't need special permissions to write to /var/run/. Signed-off-by: Frank Meerkoetter <frank@meerkoetter.org> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe')
-rw-r--r--meta-oe/recipes-extended/redis/redis/redis.service14
-rw-r--r--meta-oe/recipes-extended/redis/redis_3.0.2.bb15
2 files changed, 28 insertions, 1 deletions
diff --git a/meta-oe/recipes-extended/redis/redis/redis.service b/meta-oe/recipes-extended/redis/redis/redis.service
new file mode 100644
index 0000000000..e2dc6a7156
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis/redis.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Redis In-Memory Data Store
+After=network.target
+
+[Service]
+User=root
+Group=root
+ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
+ExecStop=/usr/bin/redis-cli shutdown
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/meta-oe/recipes-extended/redis/redis_3.0.2.bb b/meta-oe/recipes-extended/redis/redis_3.0.2.bb
index 2e4b760cc1..98132d7982 100644
--- a/meta-oe/recipes-extended/redis/redis_3.0.2.bb
+++ b/meta-oe/recipes-extended/redis/redis_3.0.2.bb
@@ -12,13 +12,16 @@ SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
file://oe-use-libc-malloc.patch \
file://redis.conf \
file://init-redis-server \
+ file://redis.service \
file://hiredis-update-Makefile-to-add-symbols-to-staticlib.patch \
"
SRC_URI[md5sum] = "87be8867447f62524b584813e5a7bd14"
SRC_URI[sha256sum] = "93e422c0d584623601f89b956045be158889ebe594478a2c24e1bf218495633f"
-inherit autotools-brokensep update-rc.d
+inherit autotools-brokensep update-rc.d systemd
+
+REDIS_ON_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}"
do_install() {
export PREFIX=${D}/${prefix}
@@ -28,9 +31,19 @@ do_install() {
install -d ${D}/${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server
install -d ${D}/var/lib/redis/
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/redis.service ${D}${systemd_system_unitdir}
+ sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service
+
+ if [ "${REDIS_ON_SYSTEMD}" = true ]; then
+ sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf
+ fi
}
CONFFILES_${PN} = "${sysconfdir}/redis/redis.conf"
INITSCRIPT_NAME = "redis-server"
INITSCRIPT_PARAMS = "defaults 87"
+
+SYSTEMD_SERVICE_${PN} = "redis.service"