027b6593112f3bac217d20c0c1c38b54158b2fa6
[openwrt/staging/mkresin.git] / package / network / services / odhcpd / Makefile
1 #
2 # Copyright (C) 2013-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:=odhcpd
11 PKG_RELEASE:=1
12 PKG_VERSION:=1.8
13
14 PKG_SOURCE_PROTO:=git
15 PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcpd.git
16 PKG_SOURCE_DATE:=2018-06-26
17 PKG_SOURCE_VERSION:=81a281e83d71c778ad1dab72721d07f0a129521d
18 PKG_MIRROR_HASH:=f7a018d47d6ea4eb2037d99066e24b0a211eca64db7680a91ffae21bcafc6af2
19
20 PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
21 PKG_LICENSE:=GPL-2.0
22
23 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
24
25 PKG_INSTALL:=1
26 PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_odhcpd_$(BUILD_VARIANT)_ext_cer_id
27
28 include $(INCLUDE_DIR)/package.mk
29 include $(INCLUDE_DIR)/cmake.mk
30
31 define Package/odhcpd/default
32 SECTION:=net
33 CATEGORY:=Network
34 TITLE:=OpenWrt DHCPv6(-PD)/RA Server & Relay
35 DEPENDS:=+libubox +libuci +libubus +libnl-tiny
36 endef
37
38 define Package/odhcpd/default/description
39 odhcpd is a daemon for serving and relaying IP management protocols to
40 configure clients and downstream routers. It tries to follow the RFC 6204
41 requirements for IPv6 home routers.
42 endef
43
44 define Package/odhcpd/default/config
45 menu "Configuration"
46 depends on PACKAGE_$(1)
47
48 config PACKAGE_odhcpd_$(2)_ext_cer_id
49 int
50 default 0
51 prompt "CER-ID Extension ID (0 = disabled)"
52 endmenu
53 endef
54
55 define Package/odhcpd
56 $(call Package/odhcpd/default)
57 TITLE += and DHCPv4 server
58 VARIANT:=full
59 endef
60
61 Package/odhcpd/config=$(call Package/odhcpd/default/config,odhcpd,full)
62
63 define Package/odhcpd/description
64 $(call Package/odhcpd/default/description)
65
66 This is a variant providing server services for DHCPv4, RA, stateless and
67 stateful DHCPv6, prefix delegation and can be used to relay RA, DHCPv6 and
68 NDP between routed (non-bridged) interfaces in case no delegated prefixes
69 are available.
70 endef
71
72 define Package/odhcpd-ipv6only
73 $(call Package/odhcpd/default)
74 VARIANT:=ipv6only
75 endef
76
77 Package/odhcpd-ipv6only/config=$(call Package/odhcpd/default/config,odhcpd-ipv6only,ipv6only)
78
79 define Package/odhcpd-ipv6only/description
80 $(call Package/odhcpd/default/description)
81
82 This is a variant providing server services for RA, stateless and stateful
83 DHCPv6, prefix delegation and can be used to relay RA, DHCPv6 and NDP between
84 routed (non-bridged) interfaces in case no delegated prefixes are available.
85 endef
86
87 CMAKE_OPTIONS += -DUBUS=1
88
89 ifeq ($(BUILD_VARIANT),full)
90 CMAKE_OPTIONS += -DDHCPV4_SUPPORT=1
91 endif
92
93 ifneq ($(CONFIG_PACKAGE_odhcpd_$(BUILD_VARIANT)_ext_cer_id),0)
94 CMAKE_OPTIONS += -DEXT_CER_ID=$(CONFIG_PACKAGE_odhcpd_$(BUILD_VARIANT)_ext_cer_id)
95 endif
96
97 define Package/odhcpd/install
98 $(INSTALL_DIR) $(1)/usr/sbin/
99 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/odhcpd $(1)/usr/sbin/
100 $(INSTALL_BIN) ./files/odhcpd-update $(1)/usr/sbin/
101 $(INSTALL_DIR) $(1)/etc/init.d
102 $(INSTALL_BIN) ./files/odhcpd.init $(1)/etc/init.d/odhcpd
103 $(INSTALL_DIR) $(1)/etc/uci-defaults
104 $(INSTALL_BIN) ./files/odhcpd.defaults $(1)/etc/uci-defaults
105 endef
106
107 Package/odhcpd-ipv6only/install = $(Package/odhcpd/install)
108
109 $(eval $(call BuildPackage,odhcpd))
110 $(eval $(call BuildPackage,odhcpd-ipv6only))