hc
2024-11-01 7e970c18f85f99acc678d90128b6e01dce1bf273
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
################################################################################
#
# dhcp
#
################################################################################
 
DHCP_VERSION = 4.4.2-P1
DHCP_SITE = http://ftp.isc.org/isc/dhcp/$(DHCP_VERSION)
DHCP_INSTALL_STAGING = YES
DHCP_LICENSE = MPL-2.0
DHCP_LICENSE_FILES = LICENSE
DHCP_DEPENDENCIES = bind host-gawk
DHCP_CPE_ID_VENDOR = isc
 
# use libtool-enabled configure.ac
define DHCP_LIBTOOL_AUTORECONF
   cp $(@D)/configure.ac+lt $(@D)/configure.ac
endef
 
DHCP_CONF_ENV = \
   CPPFLAGS='-D_PATH_DHCPD_CONF=\"/etc/dhcp/dhcpd.conf\" \
       -D_PATH_DHCLIENT_CONF=\"/etc/dhcp/dhclient.conf\"' \
   CFLAGS='$(TARGET_CFLAGS) -DISC_CHECK_NONE=1'
 
DHCP_CONF_ENV += ac_cv_prog_AWK=$(HOST_DIR)/bin/gawk
 
DHCP_CONF_OPTS = \
   --with-libbind=$(STAGING_DIR)/usr \
   --with-randomdev=/dev/random \
   --with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \
   --with-srv6-lease-file=/var/lib/dhcp/dhcpd6.leases \
   --with-cli-lease-file=/var/lib/dhcp/dhclient.leases \
   --with-cli6-lease-file=/var/lib/dhcp/dhclient6.leases \
   --with-srv-pid-file=/var/run/dhcpd.pid \
   --with-srv6-pid-file=/var/run/dhcpd6.pid \
   --with-cli-pid-file=/var/run/dhclient.pid \
   --with-cli6-pid-file=/var/run/dhclient6.pid \
   --with-relay-pid-file=/var/run/dhcrelay.pid \
   --with-relay6-pid-file=/var/run/dhcrelay6.pid
 
ifeq ($(BR2_STATIC_LIBS),y)
DHCP_CONF_ENV += LIBS="`$(STAGING_DIR)/usr/bin/bind9-config --libs bind9`"
DHCP_CONF_OPTS += --disable-libtool
else
DHCP_POST_EXTRACT_HOOKS += DHCP_LIBTOOL_AUTORECONF
DHCP_AUTORECONF = YES
DHCP_CONF_OPTS += --enable-libtool
endif
 
ifeq ($(BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK),y)
DHCP_CONF_OPTS += --enable-delayed-ack
endif
 
define DHCP_INSTALL_LIBS
   $(MAKE) -C $(@D)/common install-exec DESTDIR=$(TARGET_DIR)
   $(MAKE) -C $(@D)/omapip install-exec DESTDIR=$(TARGET_DIR)
endef
 
ifeq ($(BR2_PACKAGE_DHCP_SERVER),y)
define DHCP_INSTALL_CTL_LIBS
   $(MAKE) -C $(@D)/dhcpctl install-exec DESTDIR=$(TARGET_DIR)
endef
define DHCP_INSTALL_SERVER
   mkdir -p $(TARGET_DIR)/var/lib
   (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
   $(MAKE) -C $(@D)/server DESTDIR=$(TARGET_DIR) install-sbinPROGRAMS
   $(INSTALL) -m 0644 -D package/dhcp/dhcpd.conf \
       $(TARGET_DIR)/etc/dhcp/dhcpd.conf
endef
endif
 
ifeq ($(BR2_PACKAGE_DHCP_RELAY),y)
define DHCP_INSTALL_RELAY
   mkdir -p $(TARGET_DIR)/var/lib
   (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
   $(MAKE) -C $(@D)/relay DESTDIR=$(TARGET_DIR) install-sbinPROGRAMS
endef
endif
 
ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y)
define DHCP_INSTALL_CLIENT
   mkdir -p $(TARGET_DIR)/var/lib
   (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
   $(MAKE) -C $(@D)/client DESTDIR=$(TARGET_DIR) sbindir=/sbin \
       install-sbinPROGRAMS
   $(INSTALL) -m 0644 -D package/dhcp/dhclient.conf \
       $(TARGET_DIR)/etc/dhcp/dhclient.conf
   $(INSTALL) -m 0755 -D package/dhcp/dhclient-script \
       $(TARGET_DIR)/sbin/dhclient-script
endef
endif
 
# Options don't matter, scripts won't start if binaries aren't there
define DHCP_INSTALL_INIT_SYSV
   $(INSTALL) -m 0755 -D package/dhcp/S80dhcp-server \
       $(TARGET_DIR)/etc/init.d/S80dhcp-server
   $(INSTALL) -m 0755 -D package/dhcp/S80dhcp-relay \
       $(TARGET_DIR)/etc/init.d/S80dhcp-relay
endef
 
ifeq ($(BR2_PACKAGE_DHCP_SERVER),y)
define DHCP_INSTALL_INIT_SYSTEMD
   $(INSTALL) -D -m 644 package/dhcp/dhcpd.service \
       $(TARGET_DIR)/usr/lib/systemd/system/dhcpd.service
 
   mkdir -p $(TARGET_DIR)/usr/lib/tmpfiles.d
   echo "d /var/lib/dhcp 0755 - - - -" > \
       $(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf
   echo "f /var/lib/dhcp/dhcpd.leases - - - - -" >> \
       $(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf
endef
endif
 
define DHCP_INSTALL_TARGET_CMDS
   $(DHCP_INSTALL_LIBS)
   $(DHCP_INSTALL_CTL_LIBS)
   $(DHCP_INSTALL_RELAY)
   $(DHCP_INSTALL_SERVER)
   $(DHCP_INSTALL_CLIENT)
endef
 
$(eval $(autotools-package))