kea: Upgrade to 3.0 LTS release

* Drop backported patch and refresh remaining
* Add fixes to build with boost 1.89.0
* Switch to meson build system
* Delete meson-info files
  There’s no Meson built-in switch to stop creating intro-*.json
  in the build dir (that’s by design), only to stop installing them is
  possible. for runtime, Kea doesn’t read it, this is just build metadata

License-Update: Removed remaining coroutine references [1]

[1] 93bab7a99f

(From OE-Core rev: 7fc9f49262379442503f010933047e421efcf5f3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj
2025-09-02 23:22:30 -07:00
committed by Richard Purdie
parent 6250a25224
commit 857bb50a35
8 changed files with 258 additions and 130 deletions

View File

@@ -0,0 +1,53 @@
From cf6af9219ba688fcd01d73a392dd1306d2b7a9e6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 27 Aug 2025 22:20:09 -0700
Subject: [PATCH] build: boost 1.89.0 fixes
Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2771/]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meson.build | 2 +-
src/lib/asiodns/io_fetch.cc | 1 +
src/lib/asiolink/interval_timer.cc | 1 +
3 files changed, 3 insertions(+), 1 deletion(-)
--- a/meson.build
+++ b/meson.build
@@ -189,7 +189,7 @@ message(f'Detected system "@SYSTEM@".')
#### Dependencies
-boost_dep = dependency('boost', version: '>=1.66', modules: ['system'])
+boost_dep = dependency('boost', version: '>=1.66')
dl_dep = dependency('dl')
threads_dep = dependency('threads')
add_project_dependencies(boost_dep, dl_dep, threads_dep, language: ['cpp'])
@@ -1094,7 +1094,7 @@ pkg.generate(
if TARGETS_GEN_MESSAGES.length() > 0
alias_target('messages', TARGETS_GEN_MESSAGES)
else
- error(
+ warning(
'No messages to generate. This is probably an error in the meson.build files.',
)
endif
--- a/src/lib/asiodns/io_fetch.cc
+++ b/src/lib/asiodns/io_fetch.cc
@@ -22,6 +22,7 @@
#include <dns/rcode.h>
#include <util/io.h>
+#include <boost/asio/deadline_timer.hpp>
#include <boost/scoped_ptr.hpp>
#include <boost/date_time/posix_time/posix_time_types.hpp>
--- a/src/lib/asiolink/interval_timer.cc
+++ b/src/lib/asiolink/interval_timer.cc
@@ -9,6 +9,7 @@
#include <asiolink/interval_timer.h>
#include <asiolink/io_service.h>
+#include <boost/asio/deadline_timer.hpp>
#include <boost/enable_shared_from_this.hpp>
#include <boost/noncopyable.hpp>
#include <boost/shared_ptr.hpp>

View File

@@ -1,96 +0,0 @@
From 72d7e6c0b6b5af4fea2e4db9ed33757984ccdc5b Mon Sep 17 00:00:00 2001
From: Razvan Becheriu <razvan@isc.org>
Date: Fri, 14 Jun 2024 17:09:50 +0300
Subject: [PATCH] make kea environment available to lfc
Upstream-Status: Backport
[https://gitlab.isc.org/isc-projects/kea/-/commit/f477e8ebcc8b8e1f1adaad4d55031084c0ff6f40]
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
configure.ac | 2 ++
src/lib/dhcpsrv/memfile_lease_mgr.cc | 3 ++-
.../tests/memfile_lease_mgr_unittest.cc | 26 +++++++++++++++++++
src/lib/dhcpsrv/tests/test_kea_lfc_env.sh.in | 6 +++++
4 files changed, 36 insertions(+), 1 deletion(-)
create mode 100644 src/lib/dhcpsrv/tests/test_kea_lfc_env.sh.in
diff --git a/configure.ac b/configure.ac
index c00edb5..7b572b0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1629,6 +1629,8 @@ AC_CONFIG_FILES([src/lib/dhcp_ddns/tests/Makefile])
AC_CONFIG_FILES([src/lib/dhcpsrv/Makefile])
AC_CONFIG_FILES([src/lib/dhcpsrv/tests/Makefile])
AC_CONFIG_FILES([src/lib/dhcpsrv/tests/test_libraries.h])
+AC_CONFIG_FILES([src/lib/dhcpsrv/tests/test_kea_lfc_env.sh],
+ [chmod +x src/lib/dhcpsrv/tests/test_kea_lfc_env.sh])
AC_CONFIG_FILES([src/lib/dhcpsrv/testutils/Makefile])
AC_CONFIG_FILES([src/lib/dns/Makefile])
AC_CONFIG_FILES([src/lib/dns/tests/Makefile])
diff --git a/src/lib/dhcpsrv/memfile_lease_mgr.cc b/src/lib/dhcpsrv/memfile_lease_mgr.cc
index db4f5d5..0ecf3e7 100644
--- a/src/lib/dhcpsrv/memfile_lease_mgr.cc
+++ b/src/lib/dhcpsrv/memfile_lease_mgr.cc
@@ -209,7 +209,8 @@ LFCSetup::setup(const uint32_t lfc_interval,
args.push_back("ignored-path");
// Create the process (do not start it yet).
- process_.reset(new ProcessSpawn(ProcessSpawn::ASYNC, executable, args));
+ process_.reset(new ProcessSpawn(ProcessSpawn::ASYNC, executable, args,
+ ProcessEnvVars(), true));
// If we've been told to run it once now, invoke the callback directly.
if (run_once_now) {
diff --git a/src/lib/dhcpsrv/tests/memfile_lease_mgr_unittest.cc b/src/lib/dhcpsrv/tests/memfile_lease_mgr_unittest.cc
index 034f1f5..9edf637 100644
--- a/src/lib/dhcpsrv/tests/memfile_lease_mgr_unittest.cc
+++ b/src/lib/dhcpsrv/tests/memfile_lease_mgr_unittest.cc
@@ -534,6 +534,32 @@ TEST_F(MemfileLeaseMgrTest, lfcTimer) {
EXPECT_EQ(2, lease_mgr->getLFCCount());
}
+/// @brief Check that the kea environment is accesible to the Lease
+/// File Cleanup process.
+TEST_F(MemfileLeaseMgrTest, lfcEnv) {
+ DatabaseConnection::ParameterMap pmap;
+ pmap["type"] = "memfile";
+ pmap["universe"] = "4";
+ pmap["name"] = getLeaseFilePath("leasefile4_0.csv");
+ pmap["lfc-interval"] = "1";
+
+ std::ostringstream s;
+ s << DHCP_DATA_DIR << "/test_kea_lfc_env.sh";
+ setenv("KEA_LFC_EXECUTABLE", s.str().c_str(), 1);
+
+ boost::scoped_ptr<NakedMemfileLeaseMgr> lease_mgr(new NakedMemfileLeaseMgr(pmap));
+
+ // Try to run the lease file cleanup.
+ ASSERT_NO_THROW(lease_mgr->lfcCallback());
+
+ // Wait for the LFC process to complete.
+ ASSERT_TRUE(waitForProcess(*lease_mgr, 1));
+
+ // And make sure it has returned an exit status of 0.
+ EXPECT_EQ(0, lease_mgr->getLFCExitStatus())
+ << "environment not available to LFC";
+}
+
/// @brief This test checks if the LFC timer is disabled (doesn't trigger)
/// cleanups when the lfc-interval is set to 0.
TEST_F(MemfileLeaseMgrTest, lfcTimerDisabled) {
diff --git a/src/lib/dhcpsrv/tests/test_kea_lfc_env.sh.in b/src/lib/dhcpsrv/tests/test_kea_lfc_env.sh.in
new file mode 100644
index 0000000..3eb71d5
--- /dev/null
+++ b/src/lib/dhcpsrv/tests/test_kea_lfc_env.sh.in
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+if [ $(env | grep -c KEA_LFC_EXECUTABLE) != 0 ]; then
+ exit 0
+fi
+exit 1
--
2.25.1

View File

@@ -0,0 +1,123 @@
From 5ec5e08edc059ed0c0d430dc8e02cd64bebc8d1c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 28 Aug 2025 17:02:49 -0700
Subject: [PATCH] meson: use a runtime-safe interpreter string
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
In cross builds, python.find_installation() (what
PYTHON usually comes from) must be a native
interpreter (since Meson runs it during configure),
but you dont want that absolute native path baked
into target files. You want a runtime/target path
such as /usr/bin/env python3 (portable) or
/usr/bin/python3
Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/issues/4087]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
doc/sphinx/meson.build | 8 +++++++-
meson.build | 8 +++++++-
src/bin/shell/tests/meson.build | 8 +++++++-
src/lib/util/python/meson.build | 8 +++++++-
4 files changed, 28 insertions(+), 4 deletions(-)
--- a/doc/sphinx/meson.build
+++ b/doc/sphinx/meson.build
@@ -70,7 +70,13 @@ doc_conf.set('builddir', meson.current_b
doc_conf.set('srcdir', meson.current_source_dir())
doc_conf.set('sphinxbuilddir', sphinxbuilddir)
doc_conf.set('abs_sphinxbuilddir', abs_sphinxbuilddir)
-doc_conf.set('PYTHON', PYTHON.full_path())
+# During cross builds, avoid embedding the native Python path into target artifacts.
+# Use a runtime-safe interpreter path for the target.
+py_for_runtime = '/usr/bin/env python3'
+if not meson.is_cross_build()
+ py_for_runtime = PYTHON.full_path()
+endif
+doc_conf.set('PYTHON', py_for_runtime)
doc_conf.set('TOP_SOURCE_DIR', TOP_SOURCE_DIR)
if PDFLATEX.found()
doc_conf.set('HAVE_PDFLATEX', 'yes')
--- a/meson.build
+++ b/meson.build
@@ -638,9 +638,13 @@ link_args = []
# Also, Meson might use it by default, but might not use it on all systems, so lots of variables...
# EXECUTABLE_RPATH = f'$ORIGIN/../@LIBDIR@'
# HOOK_RPATH = '$ORIGIN/../..'
-
+if not meson.is_cross_build()
BUILD_RPATH = TOP_BUILD_DIR / 'src/lib'
INSTALL_RPATH = LIBDIR_INSTALLED
+else
+BUILD_RPATH = ''
+INSTALL_RPATH = ''
+endif
# Add rpaths for NETCONF dependencies.
if NETCONF_DEP.found()
@@ -759,7 +763,13 @@ report_conf_data.set('CXX_ARGS', ' '.joi
report_conf_data.set('LD_ID', cpp.get_linker_id())
link_args += get_option('cpp_link_args')
report_conf_data.set('LD_ARGS', ' '.join(link_args))
-report_conf_data.set('PYTHON_PATH', PYTHON.full_path())
+# During cross builds, avoid embedding the native Python path into target artifacts.
+# Use a runtime-safe interpreter path for the target.
+py_for_runtime = '/usr/bin/env python3'
+if not meson.is_cross_build()
+ py_for_runtime = PYTHON.full_path()
+endif
+report_conf_data.set('PYTHON_PATH', py_for_runtime)
report_conf_data.set('PYTHON_VERSION', PYTHON.version())
report_conf_data.set('PKGPYTHONDIR', PKGPYTHONDIR)
result = cpp.run(
--- a/src/bin/shell/tests/meson.build
+++ b/src/bin/shell/tests/meson.build
@@ -3,7 +3,13 @@ if not TESTS_OPT.enabled()
endif
shell_tests_conf_data = configuration_data()
-shell_tests_conf_data.set('PYTHON', PYTHON.full_path())
+# During cross builds, avoid embedding the native Python path into target artifacts.
+# Use a runtime-safe interpreter path for the target.
+py_for_runtime = '/usr/bin/env python3'
+if not meson.is_cross_build()
+ py_for_runtime = PYTHON.full_path()
+endif
+shell_tests_conf_data.set('PYTHON', py_for_runtime)
shell_tests_conf_data.set('abs_top_builddir', TOP_BUILD_DIR)
shell_tests_conf_data.set('abs_top_srcdir', TOP_SOURCE_DIR)
shell_unittest = configure_file(
--- a/src/lib/util/python/meson.build
+++ b/src/lib/util/python/meson.build
@@ -4,7 +4,13 @@ endif
configure_file(input: 'const2hdr.py', output: 'const2hdr.py', copy: true)
util_python_conf_data = configuration_data()
-util_python_conf_data.set('PYTHON', PYTHON.full_path())
+# During cross builds, avoid embedding the native Python path into target artifacts.
+# Use a runtime-safe interpreter path for the target.
+py_for_runtime = '/usr/bin/env python3'
+if not meson.is_cross_build()
+ py_for_runtime = PYTHON.full_path()
+endif
+util_python_conf_data.set('PYTHON', py_for_runtime)
configure_file(
input: 'gen_wiredata.py.in',
output: 'gen_wiredata.py',
--- a/src/bin/shell/meson.build
+++ b/src/bin/shell/meson.build
@@ -1,5 +1,11 @@
kea_shell_conf_data = configuration_data()
-kea_shell_conf_data.set('PYTHON', PYTHON.full_path())
+# During cross builds, avoid embedding the native Python path into target artifacts.
+# Use a runtime-safe interpreter path for the target.
+py_for_runtime = '/usr/bin/env python3'
+if not meson.is_cross_build()
+ py_for_runtime = PYTHON.full_path()
+endif
+kea_shell_conf_data.set('PYTHON', py_for_runtime)
kea_shell_conf_data.set('PACKAGE_VERSION', PROJECT_VERSION)
kea_shell_conf_data.set(
'EXTENDED_VERSION',

View File

@@ -0,0 +1,54 @@
From c8a1f0b9c17c8485bdeac045e5afdcd4467c1c14 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 28 Aug 2025 17:31:39 -0700
Subject: [PATCH] mk_cfgrpt.sh: strip prefixes
Add support for a STRIP_PREFIXES env var (colon-separated list).
The script will pipe its output through sed to remove any of those prefixes.
Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/issues/4087]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
tools/mk_cfgrpt.sh | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/tools/mk_cfgrpt.sh b/tools/mk_cfgrpt.sh
index bc0cc41..8f41ce1 100755
--- a/tools/mk_cfgrpt.sh
+++ b/tools/mk_cfgrpt.sh
@@ -43,6 +43,26 @@ then
exit 2
fi
+# Optional: strip absolute path prefixes from generated output to make
+# cross-builds reproducible (e.g. Yocto sysroot/work dirs).
+# Provide colon-separated prefixes via STRIP_PREFIXES.
+strip_paths() {
+ if [ -z "${STRIP_PREFIXES:-}" ]; then
+ cat
+ return
+ fi
+ # Build a sed script that removes each prefix wherever it appears.
+ SED_SCRIPT=
+ IFS=':'; for p in $STRIP_PREFIXES; do
+ [ -n "$p" ] || continue
+ # Escape forward slashes
+ ep=$(printf '%s' "$p" | sed 's,/,\\/,g')
+ SED_SCRIPT="${SED_SCRIPT}s/${ep}//g;"
+ done
+ IFS=' '
+ sed -e "$SED_SCRIPT"
+}
+
# Header
cat >> "${dest}" << END
// config_report.cc. Generated from config.report by tools/mk_cfgrpt.sh
@@ -55,7 +75,7 @@ END
# Body: escape '\'s and '"'s, preprend ' ";;;; ' and append '",'
sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/^/ ";;;; /' -e 's/$/",/' \
- < "${report_file}" >> "${dest}"
+ < "${report_file}" | strip_paths >> "${dest}"
# Trailer
cat >> "${dest}" <<END

View File

@@ -13,11 +13,9 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
src/lib/log/logger_unittest_support.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/lib/log/logger_unittest_support.cc b/src/lib/log/logger_unittest_support.cc
index fc01c6e..f46d17e 100644
--- a/src/lib/log/logger_unittest_support.cc
+++ b/src/lib/log/logger_unittest_support.cc
@@ -84,7 +84,7 @@ void initLogger(isc::log::Severity severity, int dbglevel) {
@@ -84,7 +84,7 @@ void initLogger(isc::log::Severity sever
const char* localfile = getenv("KEA_LOGGER_LOCALMSG");
// Set a directory for creating lockfiles when running tests

View File

@@ -24,11 +24,9 @@ Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
src/bin/keactrl/kea-dhcp6.conf.pre | 4 ++--
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/bin/keactrl/kea-ctrl-agent.conf.pre b/src/bin/keactrl/kea-ctrl-agent.conf.pre
index e6ae8b8..50a3092 100644
--- a/src/bin/keactrl/kea-ctrl-agent.conf.pre
+++ b/src/bin/keactrl/kea-ctrl-agent.conf.pre
@@ -51,7 +51,8 @@
@@ -85,7 +85,8 @@
// Agent will fail to start.
"hooks-libraries": [
// {
@@ -38,8 +36,6 @@ index e6ae8b8..50a3092 100644
// "parameters": {
// "param1": "foo"
// }
diff --git a/src/bin/keactrl/kea-dhcp4.conf.pre b/src/bin/keactrl/kea-dhcp4.conf.pre
index 6edb8a1..b2a7385 100644
--- a/src/bin/keactrl/kea-dhcp4.conf.pre
+++ b/src/bin/keactrl/kea-dhcp4.conf.pre
@@ -255,7 +255,7 @@
@@ -49,9 +45,9 @@ index 6edb8a1..b2a7385 100644
- // "library": "@libdir@/kea/hooks/libdhcp_legal_log.so",
+ // "library": "$libdir/kea/hooks/libdhcp_legal_log.so",
// "parameters": {
// "path": "/var/lib/kea",
// "base-name": "kea-forensic4"
@@ -272,7 +272,7 @@
// }
@@ -271,7 +271,7 @@
// // of specific options or perhaps even a combination of several
// // options and fields to uniquely identify a client. Those scenarios
// // are addressed by the Flexible Identifiers hook application.
@@ -60,8 +56,6 @@ index 6edb8a1..b2a7385 100644
// "parameters": {
// "identifier-expression": "relay4[2].hex"
// }
diff --git a/src/bin/keactrl/kea-dhcp6.conf.pre b/src/bin/keactrl/kea-dhcp6.conf.pre
index 271021b..5b85854 100644
--- a/src/bin/keactrl/kea-dhcp6.conf.pre
+++ b/src/bin/keactrl/kea-dhcp6.conf.pre
@@ -201,7 +201,7 @@
@@ -71,9 +65,9 @@ index 271021b..5b85854 100644
- // "library": "@libdir@/kea/hooks/libdhcp_legal_log.so",
+ // "library": "$libdir/kea/hooks/libdhcp_legal_log.so",
// "parameters": {
// "path": "/var/lib/kea",
// "base-name": "kea-forensic6"
@@ -218,7 +218,7 @@
// }
@@ -217,7 +217,7 @@
// // of specific options or perhaps even a combination of several
// // options and fields to uniquely identify a client. Those scenarios
// // are addressed by the Flexible Identifiers hook application.

View File

@@ -15,21 +15,16 @@ Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
src/bin/keactrl/keactrl.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/bin/keactrl/keactrl.in b/src/bin/keactrl/keactrl.in
index cccfdac303..20ae2e6ec5 100644
--- a/src/bin/keactrl/keactrl.in
+++ b/src/bin/keactrl/keactrl.in
@@ -146,8 +146,8 @@ check_running() {
@@ -157,8 +157,8 @@ check_running() {
# Get the PID from the PID file (if it exists)
get_pid_from_file "${proc_name}"
if [ ${_pid} -gt 0 ]; then
if [ "${_pid}" -gt 0 ]; then
- # Use ps to check if PID is alive
- if ps -p ${_pid} 1>/dev/null; then
- if ps -p "${_pid}" 1>/dev/null; then
+ # Use pgrep and grep to check if PID is alive
+ if pgrep -v 1 | grep ${_pid} 1>/dev/null; then
# No error, so PID IS ALIVE
_running=1
fi
--
2.39.2

View File

@@ -3,11 +3,11 @@ DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It
HOMEPAGE = "http://kea.isc.org"
SECTION = "connectivity"
LICENSE = "MPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=ee16e7280a6cf2a1487717faf33190dc"
LIC_FILES_CHKSUM = "file://COPYING;md5=fb634ed1d923b8b8fd1ed7ffc9b70ae4"
DEPENDS = "boost log4cplus openssl"
SRC_URI = "http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \
SRC_URI = "http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.xz \
file://kea-dhcp4.service \
file://kea-dhcp6.service \
file://kea-dhcp-ddns.service \
@@ -17,11 +17,15 @@ SRC_URI = "http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \
file://fix-multilib-conflict.patch \
file://fix_pid_keactrl.patch \
file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \
file://0001-make-kea-environment-available-to-lfc.patch \
file://0001-build-boost-1.89.0-fixes.patch \
file://0001-meson-use-a-runtime-safe-interpreter-string.patch \
file://0001-mk_cfgrpt.sh-strip-prefixes.patch \
"
SRC_URI[sha256sum] = "6806405e4d559abc10febd2c273dc6e2bc6ac42767afa5ca20b118ffba84a671"
SRC_URI[sha256sum] = "ec84fec4bb7f6b9d15a82e755a571e9348eb4d6fbc62bb3f6f1296cd7a24c566"
inherit autotools systemd update-rc.d upstream-version-is-even
inherit meson pkgconfig systemd update-rc.d upstream-version-is-even
EXTRA_OECONF += "-Dcrypto=openssl -Drunstatedir=${runtimedir} -Dkrb5=disabled -Dnetconf=disabled"
INITSCRIPT_NAME = "kea-dhcp4-server"
INITSCRIPT_PARAMS = "defaults 30"
@@ -40,20 +44,18 @@ BUILD_OPTIMIZATION:remove:mipsel = " -Og"
BUILD_OPTIMIZATION:append:mipsel = " -O"
CXXFLAGS:remove = "-fvisibility-inlines-hidden"
EXTRA_OECONF = "--with-boost-libs=-lboost_system \
--with-log4cplus=${STAGING_DIR_TARGET}${prefix} \
--with-openssl=${STAGING_DIR_TARGET}${prefix}"
do_configure:prepend() {
# replace abs_top_builddir to avoid introducing the build path
# don't expand the abs_top_builddir on the target as the abs_top_builddir is meanlingless on the target
find ${S} -type f -name *.sh.in | xargs sed -i "s:@abs_top_builddir@:@abs_top_builddir_placeholder@:g"
sed -i "s:@abs_top_builddir@:@abs_top_builddir_placeholder@:g" ${S}/src/bin/admin/kea-admin.in
export STRIP_PREFIXES="${RECIPE_SYSROOT_NATIVE}:${RECIPE_SYSROOT}:${WORKDIR}:${B}"
}
# patch out build host paths for reproducibility
do_compile:prepend:class-target() {
sed -i -e "s,${WORKDIR},,g" ${B}/config.report
sed -i -e "s,${WORKDIR},,g" ${B}/config.report
}
do_install:append() {
@@ -65,7 +67,10 @@ do_install:append() {
sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \
-e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \
${D}${systemd_system_unitdir}/kea-dhcp*service ${D}${sbindir}/keactrl
sed -i "s:${B}:@abs_top_builddir_placeholder@:g" ${D}${sbindir}/kea-admin
sed -i -e "s:${B}:@abs_top_builddir_placeholder@:g" \
-e "s:${S}:@abs_top_srcdir_placeholder@:g" \
${D}${sbindir}/kea-admin
rm -rf ${D}${datadir}/${BPN}/meson-info
}
do_install:append() {
@@ -74,7 +79,9 @@ do_install:append() {
CONFFILES:${PN} = "${sysconfdir}/kea/keactrl.conf"
PACKAGES =+ "${PN}-python"
FILES:${PN}-python = "${nonarch_libdir}/python*/site-packages/*"
RDEPENDS:${PN}-python = "python3"
FILES:${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a"
FILES:${PN} += "${libdir}/hooks/*.so"
PARALLEL_MAKEINST = ""