blob: c3aa4dc8f06c297c79c9ed16ccec6519ef940af6 [file] [log] [blame]
Patrick Williams92b42cb2022-09-03 06:53:57 -05001SUMMARY = "ISC Kea DHCP Server"
2DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It supports both DHCPv4 and DHCPv6 protocols along with their extensions, e.g. prefix delegation and dynamic updates to DNS."
3HOMEPAGE = "http://kea.isc.org"
4SECTION = "connectivity"
5LICENSE = "MPL-2.0"
Andrew Geissler5082cc72023-09-11 08:41:39 -04006LIC_FILES_CHKSUM = "file://COPYING;md5=ea061fa0188838072c4248c1318ec131"
Patrick Williams92b42cb2022-09-03 06:53:57 -05007
8DEPENDS = "boost log4cplus openssl"
9
10SRC_URI = "http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \
11 file://kea-dhcp4.service \
12 file://kea-dhcp6.service \
13 file://kea-dhcp-ddns.service \
14 file://kea-dhcp4-server \
15 file://kea-dhcp6-server \
16 file://kea-dhcp-ddns-server \
17 file://fix-multilib-conflict.patch \
18 file://fix_pid_keactrl.patch \
19 file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \
Andrew Geissler5082cc72023-09-11 08:41:39 -040020 file://0001-kea-fix-reproducible-build-failure.patch \
Patrick Williams92b42cb2022-09-03 06:53:57 -050021 "
Patrick Williams169d7bc2024-01-05 11:33:25 -060022SRC_URI[sha256sum] = "815c61f5c271caa4a1db31dd656eb50a7f6ea973da3690f7c8581408e180131a"
Patrick Williams92b42cb2022-09-03 06:53:57 -050023
24inherit autotools systemd update-rc.d upstream-version-is-even
25
26INITSCRIPT_NAME = "kea-dhcp4-server"
27INITSCRIPT_PARAMS = "defaults 30"
28
29SYSTEMD_SERVICE:${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service"
30SYSTEMD_AUTO_ENABLE = "disable"
31
32DEBUG_OPTIMIZATION:remove:mips = " -Og"
33DEBUG_OPTIMIZATION:append:mips = " -O"
34BUILD_OPTIMIZATION:remove:mips = " -Og"
35BUILD_OPTIMIZATION:append:mips = " -O"
36
37DEBUG_OPTIMIZATION:remove:mipsel = " -Og"
38DEBUG_OPTIMIZATION:append:mipsel = " -O"
39BUILD_OPTIMIZATION:remove:mipsel = " -Og"
40BUILD_OPTIMIZATION:append:mipsel = " -O"
41
42EXTRA_OECONF = "--with-boost-libs=-lboost_system \
43 --with-log4cplus=${STAGING_DIR_TARGET}${prefix} \
44 --with-openssl=${STAGING_DIR_TARGET}${prefix}"
45
46do_configure:prepend() {
47 # replace abs_top_builddir to avoid introducing the build path
48 # don't expand the abs_top_builddir on the target as the abs_top_builddir is meanlingless on the target
49 find ${S} -type f -name *.sh.in | xargs sed -i "s:@abs_top_builddir@:@abs_top_builddir_placeholder@:g"
50 sed -i "s:@abs_top_srcdir@:@abs_top_srcdir_placeholder@:g" ${S}/src/bin/admin/kea-admin.in
51}
52
53# patch out build host paths for reproducibility
54do_compile:prepend:class-target() {
55 sed -i -e "s,${WORKDIR},,g" ${B}/config.report
56}
57
58do_install:append() {
59 install -d ${D}${sysconfdir}/init.d
60 install -d ${D}${systemd_system_unitdir}
61
62 install -m 0644 ${WORKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir}
63 install -m 0755 ${WORKDIR}/kea-*-server ${D}${sysconfdir}/init.d
64 sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \
65 -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \
66 ${D}${systemd_system_unitdir}/kea-dhcp*service ${D}${sbindir}/keactrl
67}
68
69do_install:append() {
70 rm -rf "${D}${localstatedir}"
71}
72
73CONFFILES:${PN} = "${sysconfdir}/kea/keactrl.conf"
74
75FILES:${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a"
76FILES:${PN} += "${libdir}/hooks/*.so"
77
78PARALLEL_MAKEINST = ""