blob: 8d4be95cfedca522ed8146710abc41cb140ff067 [file] [log] [blame]
William A. Kennington IIIb95905d2021-06-02 12:40:56 -07001SECTION = "console/network"
2SUMMARY = "Internet Software Consortium DHCP Relay Agent"
3DESCRIPTION = "A DHCP relay agent passes DHCP requests from one \
4LAN to another, so that a DHCP server is not needed on every LAN."
5
6HOMEPAGE = "http://www.isc.org/"
7
8LICENSE = "ISC"
9LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;md5=004a4db50a1e20972e924a8618747c01"
10
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000011DEPENDS = "openssl libcap zlib chrpath-replacement-native"
12EXTRANATIVEPATH += "chrpath-native"
William A. Kennington IIIb95905d2021-06-02 12:40:56 -070013
Andrew Geissler69721092021-07-23 12:57:00 -040014SRC_URI = "https://ftp.isc.org/isc/dhcp/4.4.2-P1/dhcp-4.4.2-P1.tar.gz \
Andrew Geissler595f6302022-01-24 19:11:47 +000015 https://ftp.isc.org/isc/bind9/9.11.32/bind-9.11.32.tar.gz;name=bind;unpack=0 \
William A. Kennington IIIb95905d2021-06-02 12:40:56 -070016 file://default-relay \
17 file://init-relay \
18 file://dhcrelay.service \
19 file://0001-Makefile.am-only-build-dhcrelay.patch \
Andrew Geissler69721092021-07-23 12:57:00 -040020 file://0002-bind-version-update-to-latest-version.patch \
21 file://0003-bind-Makefile.in-disable-backtrace.patch \
William A. Kennington IIIb95905d2021-06-02 12:40:56 -070022 "
23
Andrew Geissler69721092021-07-23 12:57:00 -040024SRC_URI[md5sum] = "3089a1ebd20a802ec0870ae337d43907"
25SRC_URI[sha256sum] = "b05e04337539545a8faa0d6ac518defc61a07e5aec66a857f455e7f218c85a1a"
26SRC_URI[bind.md5sum] = "0d029dd06ca60c6739c3189c999ef757"
27SRC_URI[bind.sha256sum] = "cbf8cb4b74dd1452d97c3a2a8c625ea346df8516b4b3508ef07443121a591342"
William A. Kennington IIIb95905d2021-06-02 12:40:56 -070028
29UPSTREAM_CHECK_URI = "http://ftp.isc.org/isc/dhcp/"
30UPSTREAM_CHECK_REGEX = "(?P<pver>\d+\.\d+\.(\d+?))/"
31
Andrew Geissler69721092021-07-23 12:57:00 -040032S = "${WORKDIR}/dhcp-4.4.2-P1"
William A. Kennington IIIb95905d2021-06-02 12:40:56 -070033
34inherit autotools-brokensep systemd
35
Patrick Williams213cb262021-08-07 19:21:33 -050036SYSTEMD_SERVICE:${PN} = "dhcrelay.service"
37SYSTEMD_AUTO_ENABLE:${PN} = "disable"
William A. Kennington IIIb95905d2021-06-02 12:40:56 -070038
39CFLAGS += "-D_GNU_SOURCE -fcommon"
Patrick Williams213cb262021-08-07 19:21:33 -050040LDFLAGS:append = " -pthread"
William A. Kennington IIIb95905d2021-06-02 12:40:56 -070041
42EXTRA_OECONF = "--enable-paranoia \
43 --disable-static \
44 --enable-libtool \
45 --with-randomdev=/dev/random \
46 "
William A. Kennington IIIb95905d2021-06-02 12:40:56 -070047
48# Enable shared libs per dhcp README
Patrick Williams213cb262021-08-07 19:21:33 -050049do_configure:prepend () {
William A. Kennington IIIb95905d2021-06-02 12:40:56 -070050 cp configure.ac+lt configure.ac
Andrew Geissler595f6302022-01-24 19:11:47 +000051 cp ${WORKDIR}/bind-9.11.32.tar.gz ${S}/bind/bind.tar.gz
William A. Kennington IIIb95905d2021-06-02 12:40:56 -070052}
Andrew Geissler69721092021-07-23 12:57:00 -040053
Patrick Williams213cb262021-08-07 19:21:33 -050054do_compile:prepend() {
Andrew Geissler595f6302022-01-24 19:11:47 +000055 # Need to unpack this now instead of earlier as do_configure will delete the configure script
Andrew Geissler69721092021-07-23 12:57:00 -040056 rm -rf ${S}/bind/bind-9.11.32/
William A. Kennington IIIb95905d2021-06-02 12:40:56 -070057 tar xf ${S}/bind/bind.tar.gz -C ${S}/bind
Andrew Geissler69721092021-07-23 12:57:00 -040058 install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/bind/bind-9.11.32/
59 install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/bind/bind-9.11.32/
60 cp -fpR ${S}/m4/*.m4 ${S}/bind/bind-9.11.32/libtool.m4/
61 rm -rf ${S}/bind/bind-9.11.32/libtool
Andrew Geissler595f6302022-01-24 19:11:47 +000062 install -m 0755 ${S}/libtool ${S}/bind/bind-9.11.32/
William A. Kennington IIIb95905d2021-06-02 12:40:56 -070063}
64
Patrick Williams213cb262021-08-07 19:21:33 -050065do_install:append () {
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000066 install -Dm 0644 ${WORKDIR}/default-relay ${D}${sysconfdir}/default/dhcp-relay
67 install -Dm 0755 ${B}/bind/bind-9.11.32/lib/isccfg/.libs/libisccfg.so.163 ${D}${libdir}/libisccfg.so.163
68 install -Dm 0755 ${B}/bind/bind-9.11.32/lib/dns/.libs/libdns.so.1115 ${D}${libdir}/libdns.so.1115
69 chrpath --delete ${D}${libdir}/libisccfg.so.163
70 chrpath --delete ${D}${libdir}/libdns.so.1115
William A. Kennington IIIb95905d2021-06-02 12:40:56 -070071
72 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
73 install -d ${D}${systemd_unitdir}/system
74 install -m 0644 ${WORKDIR}/dhcrelay.service ${D}${systemd_unitdir}/system
75 sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/dhcrelay.service
76 sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhcrelay.service
77 else
78 install -d ${D}${sysconfdir}/init.d
79 install -m 0755 ${WORKDIR}/init-relay ${D}${sysconfdir}/init.d/dhcp-relay
80 fi
81}
82
83PARALLEL_MAKE = ""