openwrt/package/network/services/odhcpd/Makefile
Álvaro Fernández Rojas 3696241d3a
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
odhcpd: update to Git HEAD (2025-10-26)
fc27940fe993 dhcpv6: support a configurable DUID
ae16476bcad2 dhcpv6-ia: split reconf_msg struct into partial structs
a3bf57a39958 dhcpv6: split clientid to a separate struct
14da3727ac0c dhcpv6-ia: simplify/fix IID calculations
f49574e42e78 odhcpd: change "-c" cmd line arg to take a dir
0900202c2754 dhcpv4: dhcpv4_lease() - clarify which variables are requests
2c1e6e7c3ebf dhcpv4: dhcpv4_lease() - simplification
48487aedead8 dhcpv4: dhcpv4_lease() - convert to switch statement
3ad54baa4adc dhcpv4: dhcpv4_assign() - explain address assignment
fab8f67818e6 dhcpv6: send timezone only when client requests

0d0fac3007...fc27940fe9

Fixes: 28bb40caaf ("odhcpd: update to Git HEAD (2025-10-22)")
Link: https://github.com/openwrt/openwrt/pull/20559
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-10-27 08:04:53 +01:00

108 lines
3.1 KiB
Makefile

#
# Copyright (C) 2013-2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=odhcpd
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcpd.git
PKG_MIRROR_HASH:=acb086731fd7d072ddddc1d5f3bad9377e89a05597ce004d24bd0cdb60586f0a
PKG_SOURCE_DATE:=2025-10-26
PKG_SOURCE_VERSION:=fc27940fe9939f99aeb988d021c7edfa54460123
PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
PKG_LICENSE:=GPL-2.0
PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_odhcpd_$(BUILD_VARIANT)_ext_cer_id
PKG_ASLR_PIE_REGULAR:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/odhcpd/default
SECTION:=net
CATEGORY:=Network
TITLE:=OpenWrt DHCPv6(-PD)/RA Server & Relay
DEPENDS:=+libjson-c +libubox +libuci +libubus +libnl-tiny
endef
define Package/odhcpd/default/description
odhcpd is a daemon for serving and relaying IP management protocols to
configure clients and downstream routers. It tries to follow the RFC 6204
requirements for IPv6 home routers.
endef
define Package/odhcpd/default/config
menu "Configuration"
depends on PACKAGE_$(1)
config PACKAGE_odhcpd_$(2)_ext_cer_id
int
default 0
prompt "CER-ID Extension ID (0 = disabled)"
endmenu
endef
define Package/odhcpd
$(call Package/odhcpd/default)
TITLE += and DHCPv4 server
VARIANT:=full
endef
Package/odhcpd/config=$(call Package/odhcpd/default/config,odhcpd,full)
define Package/odhcpd/description
$(call Package/odhcpd/default/description)
This is a variant providing server services for DHCPv4, RA, stateless and
stateful DHCPv6, prefix delegation and can be used to relay RA, DHCPv6 and
NDP between routed (non-bridged) interfaces in case no delegated prefixes
are available.
endef
define Package/odhcpd-ipv6only
$(call Package/odhcpd/default)
VARIANT:=ipv6only
DEPENDS+= @IPV6
endef
Package/odhcpd-ipv6only/config=$(call Package/odhcpd/default/config,odhcpd-ipv6only,ipv6only)
define Package/odhcpd-ipv6only/description
$(call Package/odhcpd/default/description)
This is a variant providing server services for RA, stateless and stateful
DHCPv6, prefix delegation and can be used to relay RA, DHCPv6 and NDP between
routed (non-bridged) interfaces in case no delegated prefixes are available.
endef
CMAKE_OPTIONS += -DUBUS=1
ifeq ($(BUILD_VARIANT),full)
CMAKE_OPTIONS += -DDHCPV4_SUPPORT=1
endif
ifneq ($(CONFIG_PACKAGE_odhcpd_$(BUILD_VARIANT)_ext_cer_id),0)
CMAKE_OPTIONS += -DEXT_CER_ID=$(CONFIG_PACKAGE_odhcpd_$(BUILD_VARIANT)_ext_cer_id)
endif
define Package/odhcpd/install
$(INSTALL_DIR) $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/odhcpd $(1)/usr/sbin/
$(INSTALL_BIN) ./files/odhcpd-update $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/odhcpd.init $(1)/etc/init.d/odhcpd
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) ./files/odhcpd.defaults $(1)/etc/uci-defaults/15_odhcpd
endef
Package/odhcpd-ipv6only/install = $(Package/odhcpd/install)
$(eval $(call BuildPackage,odhcpd))
$(eval $(call BuildPackage,odhcpd-ipv6only))