blob: c9a11908e51eb068f957abadac14de19c19f1edd [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 \
21 "
Andrew Geissler706d5aa2021-02-12 15:55:30 -060022SRC_URI[sha256sum] = "4e121f0e58b175a827581c69cb1d60778647049fa47f142940dddc9ce58f3c82"
Andrew Geisslerc9f78652020-09-18 14:11:35 -050023
Andrew Geissler6ce62a22020-11-30 19:58:47 -060024inherit autotools systemd update-rc.d upstream-version-is-even
Andrew Geissler4c19ea12020-10-27 13:52:24 -050025
26INITSCRIPT_NAME = "kea-dhcp4-server"
27INITSCRIPT_PARAMS = "defaults 30"
Andrew Geisslerc9f78652020-09-18 14:11:35 -050028
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
Andrew Geissler09209ee2020-12-13 08:44:15 -060053# patch out build host paths for reproducibility
54do_compile_prepend_class-target() {
55 sed -i -e "s,${WORKDIR},,g" ${B}/config.report
56}
57
Andrew Geisslerc9f78652020-09-18 14:11:35 -050058do_install_append() {
Andrew Geissler4c19ea12020-10-27 13:52:24 -050059 install -d ${D}${sysconfdir}/init.d
Andrew Geisslerc9f78652020-09-18 14:11:35 -050060 install -d ${D}${systemd_system_unitdir}
Andrew Geissler4c19ea12020-10-27 13:52:24 -050061
Andrew Geisslerc9f78652020-09-18 14:11:35 -050062 install -m 0644 ${WORKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir}
Andrew Geissler4c19ea12020-10-27 13:52:24 -050063 install -m 0755 ${WORKDIR}/kea-*-server ${D}${sysconfdir}/init.d
Andrew Geisslerc9f78652020-09-18 14:11:35 -050064 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' \
Andrew Geisslerc3d88e42020-10-02 09:45:00 -050066 ${D}${systemd_system_unitdir}/kea-dhcp*service ${D}${sbindir}/keactrl
Andrew Geisslerc9f78652020-09-18 14:11:35 -050067}
68
69do_install_append() {
70 rm -rf "${D}${localstatedir}"
71}
72
Andrew Geissler4c19ea12020-10-27 13:52:24 -050073CONFFILES_${PN} = "${sysconfdir}/kea/keactrl.conf"
74
Andrew Geisslerc9f78652020-09-18 14:11:35 -050075FILES_${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a"
76FILES_${PN} += "${libdir}/hooks/*.so"
77
78PARALLEL_MAKEINST = ""