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
:= \
25 CONFIG_KEEPALIVED_NFTABLES \
26 CONFIG_KEEPALIVED_VRRP \
27 CONFIG_KEEPALIVED_LVS \
28 CONFIG_KEEPALIVED_IPTABLES \
29 CONFIG_KEEPALIVED_BFD \
30 CONFIG_KEEPALIVED_SNMP_VRRP \
31 CONFIG_KEEPALIVED_SNMP_CHECKER \
32 CONFIG_KEEPALIVED_SNMP_RFC2 \
33 CONFIG_KEEPALIVED_SNMP_RFC3 \
34 CONFIG_KEEPALIVED_SNMP_REPLY_V3_FOR_V2 \
35 CONFIG_KEEPALIVED_DBUS \
36 CONFIG_KEEPALIVED_ROUTES \
41 include $(INCLUDE_DIR
)/package.mk
42 include $(INCLUDE_DIR
)/kernel.mk
44 define Package
/keepalived
/config
45 source
"$(SOURCE)/Config.in"
48 # The +kmod-nf-ipvs line should be +KEEPALIVED_LVS:kmod-nf-ipvs,
49 # but make menuconfig then reports :error: recursive dependency detected!
50 # !!FIXME DEPENDS:= +KEEPALIVED_LVS:kmod-nf-ipvs
51 define Package
/keepalived
54 TITLE
:=VRRP with failover and monitoring daemon for LVS clusters
55 URL
:=http
://www.keepalived.org
/
62 +KEEPALIVED_NFTABLES
:libnftnl \
63 +KEEPALIVED_VRRP
:kmod-macvlan \
64 +KEEPALIVED_VRRP
:libnl-route \
65 +KEEPALIVED_VRRP
:libnfnetlink \
66 +KEEPALIVED_SHA1
:libopenssl \
67 +KEEPALIVED_IPTABLES
:libip4tc \
68 +KEEPALIVED_IP6TABLES
:libip6tc \
69 +KEEPALIVED_IPTABLES
:libxtables \
70 +KEEPALIVED_IPTABLES
:libipset \
71 +(KEEPALIVED_SNMP_VRRP||KEEPALIVED_SNMP_CHECKER||KEEPALIVED_SNMP_RFC2||KEEPALIVED_SNMP_RFC3
):libnetsnmp \
72 +KEEPALIVED_DBUS
:glib2
75 define Package
/keepalived
/description
76 VRRP with failover and monitoring daemon for Linux Virtual Server
(LVS
) clusters.
79 define Package
/keepalived
/conffiles
80 /etc
/keepalived
/keepalived.conf
81 /etc
/config
/keepalived
88 --disable-track-process \
89 --runstatedir
="/var/run"
91 ifeq ($(CONFIG_KEEPALIVED_VRRP
),)
96 ifeq ($(CONFIG_KEEPALIVED_LVS
),)
101 ifeq ($(CONFIG_KEEPALIVED_BFD
),y
)
106 ifeq ($(CONFIG_KEEPALIVED_SHA1
),y
)
112 ifeq ($(CONFIG_KEEPALIVED_VRRP
),y
)
114 ifeq ($(CONFIG_KEEPALIVED_NFTABLES
),)
119 ifeq ($(CONFIG_KEEPALIVED_IPTABLES
),)
124 ifeq ($(CONFIG_KEEPALIVED_IPSETS
),)
126 --disable-libipset-dynamic
129 ifeq ($(CONFIG_KEEPALIVED_SNMP_VRRP
),y
)
134 ifeq ($(CONFIG_KEEPALIVED_SNMP_RFC2
),y
)
139 ifeq ($(CONFIG_KEEPALIVED_SNMP_RFC3
),y
)
144 ifeq ($(CONFIG_KEEPALIVED_SNMP_RFC3
),y
)
145 ifeq ($(CONFIG_KEEPALIVED_SNMP_REPLY_V3_FOR_V2
),)
147 --disable-snmp-reply-v3-for-v2
149 endif # CONFIG_KEEPALIVED_SNMP_RFC3
151 ifeq ($(CONFIG_KEEPALIVED_VRRP_AUTH
),)
156 ifeq ($(CONFIG_KEEPALIVED_CHECKSUM_COMPAT
),)
158 --disable-checksum-compat
161 ifeq ($(CONFIG_KEEPALIVED_DBUS
),y
)
166 ifeq ($(CONFIG_KEEPALIVED_LINKBEAT
),)
171 ifeq ($(CONFIG_KEEPALIVED_ROUTES
),)
175 endif # CONFIG_KEEPALIVED_VRRP
178 ifeq ($(CONFIG_KEEPALIVED_LVS
),y
)
179 ifeq ($(CONFIG_KEEPALIVED_LVS_SYNCD
),)
184 ifeq ($(CONFIG_KEEPALIVED_LVS_64BIT_STATS
),)
186 --disable-lvs-64bit-stats
189 ifeq ($(CONFIG_KEEPALIVED_FWMARK
),)
194 ifeq ($(CONFIG_KEEPALIVED_SNMP_CHECKER
),y
)
196 --enable-snmp-checker
199 endif # CONFIG_KEEPALIVED_LVS
202 MAKE_FLAGS
+= STRIP
="/bin/true"
203 TARGET_CFLAGS
+= -I
$(LINUX_DIR
)
205 define Package
/keepalived
/install
206 $(INSTALL_DIR
) $(1)/usr
/sbin
207 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/keepalived \
210 ifeq ($(CONFIG_KEEPALIVED_LVS
),y
)
211 $(INSTALL_DIR
) $(1)/usr
/bin
212 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/genhash \
216 $(INSTALL_DIR
) $(1)/etc
/keepalived
217 $(INSTALL_CONF
) $(PKG_INSTALL_DIR
)/etc
/keepalived
/keepalived.conf.sample \
218 $(1)/etc
/keepalived
/keepalived.conf
220 $(INSTALL_DIR
) $(1)/etc
/uci-defaults
221 $(INSTALL_BIN
) .
/files
/etc
/uci-defaults
/keepalived \
222 $(1)/etc
/uci-defaults
/keepalived
224 $(INSTALL_DIR
) $(1)/etc
/init.d
225 $(INSTALL_BIN
) .
/files
/keepalived.init \
226 $(1)/etc
/init.d
/keepalived
228 $(INSTALL_DIR
) $(1)/etc
/config
229 $(INSTALL_CONF
) .
/files
/keepalived.config \
230 $(1)/etc
/config
/keepalived
232 $(INSTALL_DIR
) $(1)/etc
233 $(INSTALL_CONF
) .
/files
/keepalived.user \
234 $(1)/etc
/keepalived.user
236 $(INSTALL_DIR
) $(1)/etc
/hotplug.d
/keepalived
237 $(INSTALL_DATA
) .
/files
/hotplug-user \
238 $(1)/etc
/hotplug.d
/keepalived
/01-user
240 $(INSTALL_DIR
) $(1)/usr
/libexec
/rpcd
241 $(INSTALL_BIN
) .
/files
/usr
/libexec
/rpcd
/keepalived \
242 $(1)/usr
/libexec
/rpcd
/keepalived
244 ifneq ($(CONFIG_KEEPALIVED_SNMP_VRRP
)$(CONFIG_KEEPALIVED_SNMP_CHECKER
)$(CONFIG_KEEPALIVED_SNMP_RFC2
)$(CONFIG_KEEPALIVED_SNMP_RFC3
),)
245 $(INSTALL_DIR
) $(1)/usr
/share
/snmp
/mibs
248 ifneq ($(CONFIG_KEEPALIVED_SNMP_VRRP
)$(CONFIG_KEEPALIVED_SNMP_CHECKER
),)
249 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/snmp
/mibs
/KEEPALIVED-MIB.txt \
250 $(1)/usr
/share
/snmp
/mibs
/KEEPALIVED-MIB.txt
253 ifeq ($(CONFIG_KEEPALIVED_SNMP_RFC2
),y
)
254 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/snmp
/mibs
/VRRP-MIB.txt \
255 $(1)/usr
/share
/snmp
/mibs
/VRRP-MIB.txt
258 ifeq ($(CONFIG_KEEPALIVED_SNMP_RFC3
),y
)
259 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/snmp
/mibs
/VRRPv3-MIB.txt \
260 $(1)/usr
/share
/snmp
/mibs
/VRRPv3-MIB.txt
263 ifeq ($(CONFIG_KEEPALIVED_DBUS
),y
)
264 $(INSTALL_DIR
) $(1)/etc
/dbus-1
/system.d
265 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/etc
/dbus-1
/system.d
/org.keepalived.Vrrp1.conf \
266 $(1)/etc
/dbus-1
/system.d
/org.keepalived.Vrrp1.conf
268 $(INSTALL_DIR
) $(1)/usr
/share
/dbus-1
/interfaces
269 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/dbus-1
/interfaces
/org.keepalived.Vrrp1.Instance.xml \
270 $(1)/usr
/share
/dbus-1
/interfaces
/org.keepalived.Vrrp1.Instance.xml
271 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/dbus-1
/interfaces
/org.keepalived.Vrrp1.Vrrp.xml \
272 $(1)/usr
/share
/dbus-1
/interfaces
/org.keepalived.Vrrp1.Vrrp.xml
277 $(eval
$(call BuildPackage
,keepalived
))