Merge pull request #15018 from neheb/freetype
[feed/packages.git] / net / keepalived / Makefile
1 #
2 # Copyright (C) 2006-2015 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=keepalived
11 PKG_VERSION:=2.2.2
12 PKG_RELEASE:=$(AUTORELEASE)
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=https://www.keepalived.org/software
16 PKG_HASH:=103692bd5345a4ed9f4581632ea636214fdf53e45682e200aab122c4fa674ece
17
18 PKG_CPE_ID:=cpe:/a:keepalived:keepalived
19 PKG_LICENSE:=GPL-2.0-or-later
20 PKG_LICENSE_FILES:=COPYING
21 PKG_MAINTAINER:=Ben Kelly <ben@benjii.net> \
22 Florian Eckert <fe@dev.tdt.de>
23
24 PKG_CONFIG_DEPENDS += \
25 KEEPALIVED_VRRP \
26 KEEPALIVED_LVS \
27 KEEPALIVED_IPTABLES \
28 KEEPALIVED_BFD \
29 KEEPALIVED_SNMP_VRRP \
30 KEEPALIVED_SNMP_CHECKER \
31 KEEPALIVED_SNMP_RFC2 \
32 KEEPALIVED_SNMP_RFC3 \
33 KEEPALIVED_SNMP_REPLY_V3_FOR_V2 \
34 KEEPALIVED_DBUS \
35 KEEPALIVED_JSON \
36 KEEPALIVED_ROUTES \
37 IPV6
38
39 PKG_INSTALL:=1
40
41 include $(INCLUDE_DIR)/package.mk
42 include $(INCLUDE_DIR)/kernel.mk
43
44 define Package/keepalived/config
45 source "$(SOURCE)/Config.in"
46 endef
47
48 # specifying +(IPV6&&KEEPALIVED_IPTABLES) in the DEPENDS definition doesn't work
49 ifeq ($(CONFIG_KEEPALIVED_IPTABLES)$(CONFIG_IPV6),yy)
50 KEEPALIVED_DEPENDS_LIBIP6TC=+libip6tc
51 endif
52
53 # The +kmod-nf-ipvs line should be +KEEPALIVED_LVS:kmod-nf-ipvs,
54 # but make menuconfig then reports :error: recursive dependency detected!
55 # !!FIXME DEPENDS:= +KEEPALIVED_LVS:kmod-nf-ipvs
56 define Package/keepalived
57 SECTION:=net
58 CATEGORY:=Network
59 TITLE:=VRRP with failover and monitoring daemon for LVS clusters
60 URL:=http://www.keepalived.org/
61 DEPENDS:= \
62 +libnl-genl \
63 +libmagic \
64 +KEEPALIVED_VRRP:kmod-macvlan \
65 +KEEPALIVED_VRRP:libnl-route \
66 +KEEPALIVED_VRRP:libnfnetlink \
67 +KEEPALIVED_SHA1:libopenssl \
68 +KEEPALIVED_IPTABLES:libip4tc \
69 $(KEEPALIVED_DEPENDS_LIBIP6TC) \
70 +KEEPALIVED_IPTABLES:libxtables \
71 +KEEPALIVED_IPTABLES:libipset \
72 +(KEEPALIVED_SNMP_VRRP||KEEPALIVED_SNMP_CHECKER||KEEPALIVED_SNMP_RFC2||KEEPALIVED_SNMP_RFC3):libnetsnmp \
73 +KEEPALIVED_JSON:libjson-c \
74 +KEEPALIVED_DBUS:glib2
75 endef
76
77 define Package/keepalived/description
78 VRRP with failover and monitoring daemon for Linux Virtual Server (LVS) clusters.
79 endef
80
81 define Package/keepalived/conffiles
82 /etc/keepalived/keepalived.conf
83 /etc/config/keepalived
84 /etc/keepalived.user
85 endef
86
87 CONFIGURE_ARGS+= \
88 --with-init=SYSV \
89 --disable-nftables \
90 --disable-track-process \
91 --with-run-dir="/var/run"
92
93 ifeq ($(CONFIG_KEEPALIVED_VRRP),)
94 CONFIGURE_ARGS += \
95 --disable-vrrp
96 endif
97
98 ifeq ($(CONFIG_KEEPALIVED_LVS),)
99 CONFIGURE_ARGS += \
100 --disable-lvs
101 endif
102
103 ifeq ($(CONFIG_KEEPALIVED_BFD),y)
104 CONFIGURE_ARGS += \
105 --enable-bfd
106 endif
107
108 ifeq ($(CONFIG_KEEPALIVED_SHA1),y)
109 CONFIGURE_ARGS += \
110 --enable-sha1
111 endif
112
113
114 ifeq ($(CONFIG_KEEPALIVED_VRRP),y)
115 ifeq ($(CONFIG_KEEPALIVED_IPTABLES),)
116 CONFIGURE_ARGS += \
117 --disable-iptables
118 endif
119
120 ifeq ($(CONFIG_KEEPALIVED_IPSETS),)
121 CONFIGURE_ARGS += \
122 --disable-libipset-dynamic
123 endif
124
125 ifeq ($(CONFIG_KEEPALIVED_SNMP_VRRP),y)
126 CONFIGURE_ARGS += \
127 --enable-snmp-vrrp
128 endif
129
130 ifeq ($(CONFIG_KEEPALIVED_SNMP_RFC2),y)
131 CONFIGURE_ARGS += \
132 --enable-snmp-rfcv2
133 endif
134
135 ifeq ($(CONFIG_KEEPALIVED_SNMP_RFC3),y)
136 CONFIGURE_ARGS += \
137 --enable-snmp-rfcv3
138 endif
139
140 ifeq ($(CONFIG_KEEPALIVED_SNMP_RFC3),y)
141 ifeq ($(CONFIG_KEEPALIVED_SNMP_REPLY_V3_FOR_V2),)
142 CONFIGURE_ARGS += \
143 --disable-snmp-reply-v3-for-v2
144 endif
145 endif # CONFIG_KEEPALIVED_SNMP_RFC3
146
147 ifeq ($(CONFIG_KEEPALIVED_JSON),y)
148 CONFIGURE_ARGS += \
149 --enable-json
150 endif
151
152 ifeq ($(CONFIG_KEEPALIVED_VRRP_AUTH),)
153 CONFIGURE_ARGS += \
154 --disable-vrrp-auth
155 endif
156
157 ifeq ($(CONFIG_KEEPALIVED_CHECKSUM_COMPAT),)
158 CONFIGURE_ARGS += \
159 --disable-checksum-compat
160 endif
161
162 ifeq ($(CONFIG_KEEPALIVED_DBUS),y)
163 CONFIGURE_ARGS += \
164 --enable-dbus
165 endif
166
167 ifeq ($(CONFIG_KEEPALIVED_LINKBEAT),)
168 CONFIGURE_ARGS += \
169 --disable-linkbeat
170 endif
171
172 ifeq ($(CONFIG_KEEPALIVED_ROUTES),)
173 CONFIGURE_ARGS += \
174 --disable-routes
175 endif
176 endif # CONFIG_KEEPALIVED_VRRP
177
178
179 ifeq ($(CONFIG_KEEPALIVED_LVS),y)
180 ifeq ($(CONFIG_KEEPALIVED_LVS_SYNCD),)
181 CONFIGURE_ARGS += \
182 --disable-lvs-syncd
183 endif
184
185 ifeq ($(CONFIG_KEEPALIVED_LVS_64BIT_STATS),)
186 CONFIGURE_ARGS += \
187 --disable-lvs-64bit-stats
188 endif
189
190 ifeq ($(CONFIG_KEEPALIVED_FWMARK),)
191 CONFIGURE_ARGS += \
192 --disable-fwmark
193 endif
194
195 ifeq ($(CONFIG_KEEPALIVED_SNMP_CHECKER),y)
196 CONFIGURE_ARGS += \
197 --enable-snmp-checker
198 endif
199
200 endif # CONFIG_KEEPALIVED_LVS
201
202
203 MAKE_FLAGS += STRIP="/bin/true"
204 TARGET_CFLAGS += -I$(LINUX_DIR)
205
206 define Package/keepalived/install
207 $(INSTALL_DIR) $(1)/usr/sbin
208 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/keepalived \
209 $(1)/usr/sbin/
210
211 $(INSTALL_DIR) $(1)/usr/bin
212 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/genhash \
213 $(1)/usr/bin/
214
215 $(INSTALL_DIR) $(1)/etc/keepalived
216 $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/keepalived/keepalived.conf \
217 $(1)/etc/keepalived/
218
219 $(INSTALL_DIR) $(1)/etc/uci-defaults
220 $(INSTALL_BIN) ./files/etc/uci-defaults/keepalived \
221 $(1)/etc/uci-defaults/keepalived
222
223 $(INSTALL_DIR) $(1)/etc/init.d
224 $(INSTALL_BIN) ./files/keepalived.init \
225 $(1)/etc/init.d/keepalived
226
227 $(INSTALL_DIR) $(1)/etc/config
228 $(INSTALL_CONF) ./files/keepalived.config \
229 $(1)/etc/config/keepalived
230
231 $(INSTALL_DIR) $(1)/etc
232 $(INSTALL_CONF) ./files/keepalived.user \
233 $(1)/etc/keepalived.user
234
235 $(INSTALL_DIR) $(1)/etc/hotplug.d/keepalived
236 $(INSTALL_DATA) ./files/hotplug-user \
237 $(1)/etc/hotplug.d/keepalived/01-user
238
239 ifneq ($(CONFIG_KEEPALIVED_SNMP_VRRP)$(CONFIG_KEEPALIVED_SNMP_CHECKER)$(CONFIG_KEEPALIVED_SNMP_RFC2)$(CONFIG_KEEPALIVED_SNMP_RFC3),)
240 $(INSTALL_DIR) $(1)/usr/share/snmp/mibs
241 endif
242
243 ifneq ($(CONFIG_KEEPALIVED_SNMP_VRRP)$(CONFIG_KEEPALIVED_SNMP_CHECKER),)
244 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/snmp/mibs/KEEPALIVED-MIB.txt \
245 $(1)/usr/share/snmp/mibs/KEEPALIVED-MIB.txt
246 endif
247
248 ifeq ($(CONFIG_KEEPALIVED_SNMP_RFC2),y)
249 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/snmp/mibs/VRRP-MIB.txt \
250 $(1)/usr/share/snmp/mibs/VRRP-MIB.txt
251 endif
252
253 ifeq ($(CONFIG_KEEPALIVED_SNMP_RFC3),y)
254 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/snmp/mibs/VRRPv3-MIB.txt \
255 $(1)/usr/share/snmp/mibs/VRRPv3-MIB.txt
256 endif
257
258 ifeq ($(CONFIG_KEEPALIVED_DBUS),y)
259 $(INSTALL_DIR) $(1)/etc/dbus-1/system.d
260 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/dbus-1/system.d/org.keepalived.Vrrp1.conf \
261 $(1)/etc/dbus-1/system.d/org.keepalived.Vrrp1.conf
262
263 $(INSTALL_DIR) $(1)/usr/share/dbus-1/interfaces
264 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/dbus-1/interfaces/org.keepalived.Vrrp1.Instance.xml \
265 $(1)/usr/share/dbus-1/interfaces/org.keepalived.Vrrp1.Instance.xml
266 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/dbus-1/interfaces/org.keepalived.Vrrp1.Vrrp.xml \
267 $(1)/usr/share/dbus-1/interfaces/org.keepalived.Vrrp1.Vrrp.xml
268 endif
269
270 endef
271
272 $(eval $(call BuildPackage,keepalived))