xref: /OK3568_Linux_fs/buildroot/package/redis/redis.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# redis
4#
5################################################################################
6
7REDIS_VERSION = 6.2.6
8REDIS_SITE = http://download.redis.io/releases
9REDIS_LICENSE = BSD-3-Clause (core); MIT and BSD family licenses (Bundled components)
10REDIS_LICENSE_FILES = COPYING
11REDIS_CPE_ID_VENDOR = redislabs
12REDIS_SELINUX_MODULES = redis
13
14define REDIS_USERS
15	redis -1 redis -1 * /var/lib/redis /bin/false - Redis Server
16endef
17
18# Uses __atomic_fetch_add_4. Adding -latomic to LDFLAGS does not work,
19# because LDFLAGS is used before the list of object files. We need to
20# add -latomic to FINAL_LIBS to provide -latomic at the correct place
21# in the linking command.
22ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
23define REDIS_FIX_MAKEFILE
24	$(SED) 's/FINAL_LIBS=-lm/FINAL_LIBS=-lm -latomic/' $(@D)/src/Makefile
25endef
26REDIS_POST_PATCH_HOOKS = REDIS_FIX_MAKEFILE
27endif
28
29# Redis doesn't support DESTDIR (yet, see
30# https://github.com/antirez/redis/pull/609).  We set PREFIX
31# instead.
32REDIS_BUILDOPTS = $(TARGET_CONFIGURE_OPTS) \
33	PREFIX=$(TARGET_DIR)/usr MALLOC=libc
34
35ifeq ($(BR2_PACKAGE_SYSTEMD),y)
36REDIS_DEPENDENCIES += systemd
37REDIS_BUILDOPTS += USE_SYSTEMD=yes
38else
39REDIS_BUILDOPTS += USE_SYSTEMD=no
40endif
41
42ifeq ($(BR2_PACKAGE_LIBOPENSSL),y)
43REDIS_DEPENDENCIES += libopenssl
44REDIS_BUILDOPTS += BUILD_TLS=yes
45else
46REDIS_BUILDOPTS += BUILD_TLS=no
47endif
48
49define REDIS_BUILD_CMDS
50	$(TARGET_MAKE_ENV) $(MAKE) $(REDIS_BUILDOPTS) -C $(@D)
51endef
52
53define REDIS_INSTALL_TARGET_CMDS
54	$(TARGET_MAKE_ENV) $(MAKE) $(REDIS_BUILDOPTS) -C $(@D) \
55		LDCONFIG=true install
56	$(INSTALL) -D -m 0644 $(@D)/redis.conf \
57		$(TARGET_DIR)/etc/redis.conf
58endef
59
60define REDIS_INSTALL_INIT_SYSV
61	$(INSTALL) -m 0755 -D package/redis/S50redis \
62		$(TARGET_DIR)/etc/init.d/S50redis
63endef
64
65define REDIS_INSTALL_INIT_SYSTEMD
66	$(INSTALL) -D -m 0644 package/redis/redis.service \
67		$(TARGET_DIR)/usr/lib/systemd/system/redis.service
68endef
69
70$(eval $(generic-package))
71