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
14 PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcpd.git
15 PKG_SOURCE_DATE:=2019-01-16
16 PKG_SOURCE_VERSION:=0a36768064ee2869a747446ed8b9d89121ecc1f1
17 PKG_MIRROR_HASH:=119da62ab4c9a4a5954ef9005d84f3de18d0b774bb557ed4f78f90bb82ec18d1
19 PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
22 PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
25 PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_odhcpd_$(BUILD_VARIANT)_ext_cer_id
27 include $(INCLUDE_DIR)/package.mk
28 include $(INCLUDE_DIR)/cmake.mk
30 define Package/odhcpd/default
33 TITLE:=OpenWrt DHCPv6(-PD)/RA Server & Relay
34 DEPENDS:=+libubox +libuci +libubus +libnl-tiny
37 define Package/odhcpd/default/description
38 odhcpd is a daemon for serving and relaying IP management protocols to
39 configure clients and downstream routers. It tries to follow the RFC 6204
40 requirements for IPv6 home routers.
43 define Package/odhcpd/default/config
45 depends on PACKAGE_$(1)
47 config PACKAGE_odhcpd_$(2)_ext_cer_id
50 prompt "CER-ID Extension ID (0 = disabled)"
55 $(call Package/odhcpd/default)
56 TITLE += and DHCPv4 server
60 Package/odhcpd/config=$(call Package/odhcpd/default/config,odhcpd,full)
62 define Package/odhcpd/description
63 $(call Package/odhcpd/default/description)
65 This is a variant providing server services for DHCPv4, RA, stateless and
66 stateful DHCPv6, prefix delegation and can be used to relay RA, DHCPv6 and
67 NDP between routed (non-bridged) interfaces in case no delegated prefixes
71 define Package/odhcpd-ipv6only
72 $(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))