2 # Copyright (C) 2013-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
15 PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcpd.git
16 PKG_SOURCE_DATE:=2018-04-23
17 PKG_SOURCE_VERSION:=413652910234f44e11d6550abf6871621474b8cb
18 PKG_MIRROR_HASH:=2245eea8764e40b518e40633eeabd30eb8cc4d01574a351a3d6b0aef27f654ca
20 PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
23 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
26 PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_odhcpd_$(BUILD_VARIANT)_ext_cer_id
28 include $(INCLUDE_DIR)/package.mk
29 include $(INCLUDE_DIR)/cmake.mk
31 define Package/odhcpd/default
34 TITLE:=OpenWrt DHCPv6(-PD)/RA Server & Relay
35 DEPENDS:=+libubox +libuci +libubus +libnl-tiny
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.
44 define Package/odhcpd/default/config
46 depends on PACKAGE_$(1)
48 config PACKAGE_odhcpd_$(2)_ext_cer_id
51 prompt "CER-ID Extension ID (0 = disabled)"
56 $(call Package/odhcpd/default)
57 TITLE += and DHCPv4 server
61 Package/odhcpd/config=$(call Package/odhcpd/default/config,odhcpd,full)
63 define Package/odhcpd/description
64 $(call Package/odhcpd/default/description)
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
72 define Package/odhcpd-ipv6only
73 $(call Package/odhcpd/default)
77 Package/odhcpd-ipv6only/config=$(call Package/odhcpd/default/config,odhcpd-ipv6only,ipv6only)
79 define Package/odhcpd-ipv6only/description
80 $(call Package/odhcpd/default/description)
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.
87 CMAKE_OPTIONS += -DUBUS=1
89 ifeq ($(BUILD_VARIANT),full)
90 CMAKE_OPTIONS += -DDHCPV4_SUPPORT=1
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)
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
107 Package/odhcpd-ipv6only/install = $(Package/odhcpd/install)
109 $(eval $(call BuildPackage,odhcpd))
110 $(eval $(call BuildPackage,odhcpd-ipv6only))