2 # Copyright (C) 2006-2015 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
12 PKG_RELEASE
:=$(AUTORELEASE
)
14 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
15 PKG_SOURCE_URL
:=https
://www.keepalived.org
/software
16 PKG_HASH
:=c61940d874154a560a54627ecf7ef47adebdf832164368d10bf242a4d9b7d49d
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
>
24 PKG_CONFIG_DEPENDS
+= \
30 KEEPALIVED_SNMP_VRRP \
31 KEEPALIVED_SNMP_CHECKER \
32 KEEPALIVED_SNMP_RFC2 \
33 KEEPALIVED_SNMP_RFC3 \
34 KEEPALIVED_SNMP_REPLY_V3_FOR_V2 \
42 include $(INCLUDE_DIR
)/package.mk
43 include $(INCLUDE_DIR
)/kernel.mk
45 define Package
/keepalived
/config
46 source
"$(SOURCE)/Config.in"
49 # specifying +(IPV6&&KEEPALIVED_IPTABLES) in the DEPENDS definition doesn't work
50 ifeq ($(CONFIG_KEEPALIVED_IPTABLES
)$(CONFIG_IPV6
),yy
)
51 KEEPALIVED_DEPENDS_LIBIP6TC
=+libip6tc
54 # The +kmod-nf-ipvs line should be +KEEPALIVED_LVS:kmod-nf-ipvs,
55 # but make menuconfig then reports :error: recursive dependency detected!
56 # !!FIXME DEPENDS:= +KEEPALIVED_LVS:kmod-nf-ipvs
57 define Package
/keepalived
60 TITLE
:=VRRP with failover and monitoring daemon for LVS clusters
61 URL
:=http
://www.keepalived.org
/
66 +KEEPALIVED_NFTABLES
:libnftnl \
67 +KEEPALIVED_VRRP
:kmod-macvlan \
68 +KEEPALIVED_VRRP
:libnl-route \
69 +KEEPALIVED_VRRP
:libnfnetlink \
70 +KEEPALIVED_SHA1
:libopenssl \
71 +KEEPALIVED_IPTABLES
:libip4tc \
72 $(KEEPALIVED_DEPENDS_LIBIP6TC
) \
73 +KEEPALIVED_IPTABLES
:libxtables \
74 +KEEPALIVED_IPTABLES
:libipset \
75 +(KEEPALIVED_SNMP_VRRP||KEEPALIVED_SNMP_CHECKER||KEEPALIVED_SNMP_RFC2||KEEPALIVED_SNMP_RFC3
):libnetsnmp \
76 +KEEPALIVED_JSON
:libjson-c \
77 +KEEPALIVED_DBUS
:glib2
80 define Package
/keepalived
/description
81 VRRP with failover and monitoring daemon for Linux Virtual Server
(LVS
) clusters.
84 define Package
/keepalived
/conffiles
85 /etc
/keepalived
/keepalived.conf
86 /etc
/config
/keepalived
92 --disable-track-process \
93 --runstatedir
="/var/run"
95 ifeq ($(CONFIG_KEEPALIVED_VRRP
),)
100 ifeq ($(CONFIG_KEEPALIVED_LVS
),)
105 ifeq ($(CONFIG_KEEPALIVED_BFD
),y
)
110 ifeq ($(CONFIG_KEEPALIVED_SHA1
),y
)
116 ifeq ($(CONFIG_KEEPALIVED_VRRP
),y
)
118 ifeq ($(CONFIG_KEEPALIVED_NFTABLES
),)
123 ifeq ($(CONFIG_KEEPALIVED_IPTABLES
),)
128 ifeq ($(CONFIG_KEEPALIVED_IPSETS
),)
130 --disable-libipset-dynamic
133 ifeq ($(CONFIG_KEEPALIVED_SNMP_VRRP
),y
)
138 ifeq ($(CONFIG_KEEPALIVED_SNMP_RFC2
),y
)
143 ifeq ($(CONFIG_KEEPALIVED_SNMP_RFC3
),y
)
148 ifeq ($(CONFIG_KEEPALIVED_SNMP_RFC3
),y
)
149 ifeq ($(CONFIG_KEEPALIVED_SNMP_REPLY_V3_FOR_V2
),)
151 --disable-snmp-reply-v3-for-v2
153 endif # CONFIG_KEEPALIVED_SNMP_RFC3
155 ifeq ($(CONFIG_KEEPALIVED_JSON
),y
)
160 ifeq ($(CONFIG_KEEPALIVED_VRRP_AUTH
),)
165 ifeq ($(CONFIG_KEEPALIVED_CHECKSUM_COMPAT
),)
167 --disable-checksum-compat
170 ifeq ($(CONFIG_KEEPALIVED_DBUS
),y
)
175 ifeq ($(CONFIG_KEEPALIVED_LINKBEAT
),)
180 ifeq ($(CONFIG_KEEPALIVED_ROUTES
),)
184 endif # CONFIG_KEEPALIVED_VRRP
187 ifeq ($(CONFIG_KEEPALIVED_LVS
),y
)
188 ifeq ($(CONFIG_KEEPALIVED_LVS_SYNCD
),)
193 ifeq ($(CONFIG_KEEPALIVED_LVS_64BIT_STATS
),)
195 --disable-lvs-64bit-stats
198 ifeq ($(CONFIG_KEEPALIVED_FWMARK
),)
203 ifeq ($(CONFIG_KEEPALIVED_SNMP_CHECKER
),y
)
205 --enable-snmp-checker
208 endif # CONFIG_KEEPALIVED_LVS
211 MAKE_FLAGS
+= STRIP
="/bin/true"
212 TARGET_CFLAGS
+= -I
$(LINUX_DIR
)
214 define Package
/keepalived
/install
215 $(INSTALL_DIR
) $(1)/usr
/sbin
216 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/keepalived \
219 ifeq ($(CONFIG_KEEPALIVED_LVS
),y
)
220 $(INSTALL_DIR
) $(1)/usr
/bin
221 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/genhash \
225 $(INSTALL_DIR
) $(1)/etc
/keepalived
226 $(INSTALL_CONF
) $(PKG_INSTALL_DIR
)/etc
/keepalived
/keepalived.conf.sample \
227 $(1)/etc
/keepalived
/keepalived.conf
229 $(INSTALL_DIR
) $(1)/etc
/uci-defaults
230 $(INSTALL_BIN
) .
/files
/etc
/uci-defaults
/keepalived \
231 $(1)/etc
/uci-defaults
/keepalived
233 $(INSTALL_DIR
) $(1)/etc
/init.d
234 $(INSTALL_BIN
) .
/files
/keepalived.init \
235 $(1)/etc
/init.d
/keepalived
237 $(INSTALL_DIR
) $(1)/etc
/config
238 $(INSTALL_CONF
) .
/files
/keepalived.config \
239 $(1)/etc
/config
/keepalived
241 $(INSTALL_DIR
) $(1)/etc
242 $(INSTALL_CONF
) .
/files
/keepalived.user \
243 $(1)/etc
/keepalived.user
245 $(INSTALL_DIR
) $(1)/etc
/hotplug.d
/keepalived
246 $(INSTALL_DATA
) .
/files
/hotplug-user \
247 $(1)/etc
/hotplug.d
/keepalived
/01-user
249 ifneq ($(CONFIG_KEEPALIVED_SNMP_VRRP
)$(CONFIG_KEEPALIVED_SNMP_CHECKER
)$(CONFIG_KEEPALIVED_SNMP_RFC2
)$(CONFIG_KEEPALIVED_SNMP_RFC3
),)
250 $(INSTALL_DIR
) $(1)/usr
/share
/snmp
/mibs
253 ifneq ($(CONFIG_KEEPALIVED_SNMP_VRRP
)$(CONFIG_KEEPALIVED_SNMP_CHECKER
),)
254 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/snmp
/mibs
/KEEPALIVED-MIB.txt \
255 $(1)/usr
/share
/snmp
/mibs
/KEEPALIVED-MIB.txt
258 ifeq ($(CONFIG_KEEPALIVED_SNMP_RFC2
),y
)
259 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/snmp
/mibs
/VRRP-MIB.txt \
260 $(1)/usr
/share
/snmp
/mibs
/VRRP-MIB.txt
263 ifeq ($(CONFIG_KEEPALIVED_SNMP_RFC3
),y
)
264 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/snmp
/mibs
/VRRPv3-MIB.txt \
265 $(1)/usr
/share
/snmp
/mibs
/VRRPv3-MIB.txt
268 ifeq ($(CONFIG_KEEPALIVED_DBUS
),y
)
269 $(INSTALL_DIR
) $(1)/etc
/dbus-1
/system.d
270 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/etc
/dbus-1
/system.d
/org.keepalived.Vrrp1.conf \
271 $(1)/etc
/dbus-1
/system.d
/org.keepalived.Vrrp1.conf
273 $(INSTALL_DIR
) $(1)/usr
/share
/dbus-1
/interfaces
274 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/dbus-1
/interfaces
/org.keepalived.Vrrp1.Instance.xml \
275 $(1)/usr
/share
/dbus-1
/interfaces
/org.keepalived.Vrrp1.Instance.xml
276 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/dbus-1
/interfaces
/org.keepalived.Vrrp1.Vrrp.xml \
277 $(1)/usr
/share
/dbus-1
/interfaces
/org.keepalived.Vrrp1.Vrrp.xml
282 $(eval
$(call BuildPackage
,keepalived
))