blob: cb6030fd2c62f7620bcbd9b5b2205f977ee1ab24 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001include $(TOPDIR)/rules.mk
2
3PKG_NAME:=redis
4PKG_VERSION:=6.2.14
5PKG_RELEASE:=1
6
7PKG_SOURCE_URL:=https://download.redis.io/releases/
8PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
9PKG_HASH:=34e74856cbd66fdb3a684fb349d93961d8c7aa668b06f81fd93ff267d09bc277
10
11PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
12PKG_LICENSE:=BSD-3-Clause
13PKG_LICENSE_FILES:=COPYING
14PKG_CPE_ID:=cpe:/a:redis:redis
15
16PKG_INSTALL:=1
17
18include $(INCLUDE_DIR)/package.mk
19
20MAKE_FLAGS+= \
21 MALLOC="libc" \
22 USE_JEMALLOC="no" \
23 PREFIX="$(PKG_INSTALL_DIR)/usr" \
24 ARCH=""
25
26TARGET_LDFLAGS += -latomic
27
28define Package/redis/Default
29 SUBMENU:=Database
30 SECTION:=libs
31 CATEGORY:=Libraries
32 URL:=https://redis.io
33endef
34
35define Package/redis-server
36$(call Package/redis/Default)
37 TITLE:=Redis server
38 DEPENDS:=+libpthread +libatomic
39endef
40
41define Package/redis-cli
42$(call Package/redis/Default)
43 TITLE:=Redis cli
44 DEPENDS+=+libatomic
45endef
46
47define Package/redis-utils
48$(call Package/redis/Default)
49 TITLE:=Redis utilities
50 DEPENDS:=+redis-server
51endef
52
53define Package/redis-full
54$(call Package/redis/Default)
55 TITLE:=All Redis binaries (server,cli and utils)
56 DEPENDS:=+redis-utils +redis-cli
57 BUILDONLY:=1
58endef
59
60define Package/redis-full/description
61 Redis is an open source, BSD licensed, advanced key-value cache and store.
62 It is often referred to as a data structure server since keys can contain
63 strings, hashes, lists, sets, sorted sets, bitmaps and hyperloglogs.
64endef
65
66define Package/redis-server/conffiles
67/etc/redis.conf
68endef
69
70define Build/Compile
71 $(MAKE) -C "$(PKG_BUILD_DIR)/deps/hiredis" static $(MAKE_FLAGS) $(MAKE_VARS)
72 $(MAKE) -C "$(PKG_BUILD_DIR)/deps/linenoise" $(MAKE_FLAGS) $(MAKE_VARS)
73 $(MAKE) -C "$(PKG_BUILD_DIR)/deps/lua" posix $(MAKE_FLAGS) $(MAKE_VARS) AR="${AR} ru"
74 $(call Build/Compile/Default)
75endef
76
77define Package/redis-server/install
78 $(INSTALL_DIR) $(1)/usr/bin
79 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/redis-server $(1)/usr/bin/
80 $(INSTALL_DIR) $(1)/etc/init.d
81 $(INSTALL_BIN) ./files/redis.init $(1)/etc/init.d/redis
82 $(INSTALL_DIR) $(1)/etc
83 $(INSTALL_DATA) $(PKG_BUILD_DIR)/redis.conf $(1)/etc/
84 $(SED) "s|^dir .*|dir /var/lib/redis|" $(1)/etc/redis.conf
85endef
86
87define Package/redis-cli/install
88 $(INSTALL_DIR) $(1)/usr/bin
89 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/redis-cli $(1)/usr/bin/
90endef
91
92define Package/redis-utils/install
93 $(INSTALL_DIR) $(1)/usr/bin
94 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/redis-{check-aof,benchmark} $(1)/usr/bin/
95endef
96
97$(eval $(call BuildPackage,redis-full))
98$(eval $(call BuildPackage,redis-server))
99$(eval $(call BuildPackage,redis-cli))
100$(eval $(call BuildPackage,redis-utils))