blob: f1bbbc49e737492c93a027633d7c16d6a2b4b750 [file] [log] [blame]
Andrew Geisslerc9f78652020-09-18 14:11:35 -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 & Apache-2.0"
6LIC_FILES_CHKSUM = "file://COPYING;md5=68d95543d2096459290a4e6b9ceccffa"
7
8DEPENDS = "boost log4cplus openssl"
9
Andrew Geissler09209ee2020-12-13 08:44:15 -060010SRC_URI = "http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \
11 file://0001-keactrl.in-create-var-lib-kea-and-var-run-kea-folder.patch \
12 file://kea-dhcp4.service \
13 file://kea-dhcp6.service \
14 file://kea-dhcp-ddns.service \
15 file://kea-dhcp4-server \
16 file://kea-dhcp6-server \
17 file://kea-dhcp-ddns-server \
18 file://fix-multilib-conflict.patch \
19 file://fix_pid_keactrl.patch \
20 file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \
Andrew Geissler90fd73c2021-03-05 15:25:55 -060021 file://0001-ax_cpp11.m4-Include-memory-header.patch \
22 file://0001-include-limits.h.patch \
Andrew Geissler09209ee2020-12-13 08:44:15 -060023 "
Andrew Geisslerd1e89492021-02-12 15:35:20 -060024SRC_URI[sha256sum] = "486ca7abedb9d6fdf8e4344ad8688d1171f2ef0f5506d118988aadeae80a1d39"
Andrew Geisslerc9f78652020-09-18 14:11:35 -050025
Andrew Geissler6ce62a22020-11-30 19:58:47 -060026inherit autotools systemd update-rc.d upstream-version-is-even
Andrew Geissler4c19ea12020-10-27 13:52:24 -050027
28INITSCRIPT_NAME = "kea-dhcp4-server"
29INITSCRIPT_PARAMS = "defaults 30"
Andrew Geisslerc9f78652020-09-18 14:11:35 -050030
Patrick Williams213cb262021-08-07 19:21:33 -050031SYSTEMD_SERVICE:${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service"
Andrew Geisslerc9f78652020-09-18 14:11:35 -050032SYSTEMD_AUTO_ENABLE = "disable"
33
Patrick Williams213cb262021-08-07 19:21:33 -050034DEBUG_OPTIMIZATION:remove:mips = " -Og"
35DEBUG_OPTIMIZATION:append:mips = " -O"
36BUILD_OPTIMIZATION:remove:mips = " -Og"
37BUILD_OPTIMIZATION:append:mips = " -O"
Andrew Geisslerc9f78652020-09-18 14:11:35 -050038
Patrick Williams213cb262021-08-07 19:21:33 -050039DEBUG_OPTIMIZATION:remove:mipsel = " -Og"
40DEBUG_OPTIMIZATION:append:mipsel = " -O"
41BUILD_OPTIMIZATION:remove:mipsel = " -Og"
42BUILD_OPTIMIZATION:append:mipsel = " -O"
Andrew Geisslerc9f78652020-09-18 14:11:35 -050043
44EXTRA_OECONF = "--with-boost-libs=-lboost_system \
45 --with-log4cplus=${STAGING_DIR_TARGET}${prefix} \
46 --with-openssl=${STAGING_DIR_TARGET}${prefix}"
47
Patrick Williams213cb262021-08-07 19:21:33 -050048do_configure:prepend() {
Andrew Geisslerc9f78652020-09-18 14:11:35 -050049 # replace abs_top_builddir to avoid introducing the build path
50 # don't expand the abs_top_builddir on the target as the abs_top_builddir is meanlingless on the target
51 find ${S} -type f -name *.sh.in | xargs sed -i "s:@abs_top_builddir@:@abs_top_builddir_placeholder@:g"
52 sed -i "s:@abs_top_srcdir@:@abs_top_srcdir_placeholder@:g" ${S}/src/bin/admin/kea-admin.in
53}
54
Andrew Geissler09209ee2020-12-13 08:44:15 -060055# patch out build host paths for reproducibility
Patrick Williams213cb262021-08-07 19:21:33 -050056do_compile:prepend:class-target() {
Andrew Geissler09209ee2020-12-13 08:44:15 -060057 sed -i -e "s,${WORKDIR},,g" ${B}/config.report
58}
59
Patrick Williams213cb262021-08-07 19:21:33 -050060do_install:append() {
Andrew Geissler4c19ea12020-10-27 13:52:24 -050061 install -d ${D}${sysconfdir}/init.d
Andrew Geisslerc9f78652020-09-18 14:11:35 -050062 install -d ${D}${systemd_system_unitdir}
Andrew Geissler4c19ea12020-10-27 13:52:24 -050063
Andrew Geisslerc9f78652020-09-18 14:11:35 -050064 install -m 0644 ${WORKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir}
Andrew Geissler4c19ea12020-10-27 13:52:24 -050065 install -m 0755 ${WORKDIR}/kea-*-server ${D}${sysconfdir}/init.d
Andrew Geisslerc9f78652020-09-18 14:11:35 -050066 sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \
67 -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \
Andrew Geisslerc3d88e42020-10-02 09:45:00 -050068 ${D}${systemd_system_unitdir}/kea-dhcp*service ${D}${sbindir}/keactrl
Andrew Geisslerc9f78652020-09-18 14:11:35 -050069}
70
Patrick Williams213cb262021-08-07 19:21:33 -050071do_install:append() {
Andrew Geisslerc9f78652020-09-18 14:11:35 -050072 rm -rf "${D}${localstatedir}"
73}
74
Patrick Williams213cb262021-08-07 19:21:33 -050075CONFFILES:${PN} = "${sysconfdir}/kea/keactrl.conf"
Andrew Geissler4c19ea12020-10-27 13:52:24 -050076
Patrick Williams213cb262021-08-07 19:21:33 -050077FILES:${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a"
78FILES:${PN} += "${libdir}/hooks/*.so"
Andrew Geisslerc9f78652020-09-18 14:11:35 -050079
80PARALLEL_MAKEINST = ""