redis.mk 2.0 KB

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