summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/kea
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-connectivity/kea')
-rw-r--r--meta/recipes-connectivity/kea/files/0001-keactrl.in-create-var-lib-kea-and-var-run-kea-folder.patch39
-rw-r--r--meta/recipes-connectivity/kea/files/0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch28
-rw-r--r--meta/recipes-connectivity/kea/files/fix-multilib-conflict.patch55
-rw-r--r--meta/recipes-connectivity/kea/files/fix_pid_keactrl.patch29
-rw-r--r--meta/recipes-connectivity/kea/files/kea-dhcp-ddns-server46
-rw-r--r--meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service1
-rw-r--r--meta/recipes-connectivity/kea/files/kea-dhcp4-server46
-rw-r--r--meta/recipes-connectivity/kea/files/kea-dhcp6-server47
-rw-r--r--meta/recipes-connectivity/kea/kea_1.7.10.bb61
-rw-r--r--meta/recipes-connectivity/kea/kea_2.4.1.bb78
10 files changed, 303 insertions, 127 deletions
diff --git a/meta/recipes-connectivity/kea/files/0001-keactrl.in-create-var-lib-kea-and-var-run-kea-folder.patch b/meta/recipes-connectivity/kea/files/0001-keactrl.in-create-var-lib-kea-and-var-run-kea-folder.patch
deleted file mode 100644
index ab3fd83946..0000000000
--- a/meta/recipes-connectivity/kea/files/0001-keactrl.in-create-var-lib-kea-and-var-run-kea-folder.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1From 639dc25cdabc9d1846000a542c8cc19158b69994 Mon Sep 17 00:00:00 2001
2From: Mingli Yu <mingli.yu@windriver.com>
3Date: Fri, 18 Sep 2020 08:18:08 +0000
4Subject: [PATCH] keactrl.in: create /var/lib/kea and /var/run/kea folder
5
6Create /var/lib/kea and /var/run/kea folder to fix below error:
7 # keactrl start
8 INFO/keactrl: Starting /usr/sbin/kea-dhcp4 -c /etc/kea/kea-dhcp4.conf
9 INFO/keactrl: Starting /usr/sbin/kea-dhcp6 -c /etc/kea/kea-dhcp6.conf
10 INFO/keactrl: Starting /usr/sbin/kea-ctrl-agent -c /etc/kea/kea-ctrl-agent.conf
11 Unable to use interprocess sync lockfile (No such file or directory): /var/run/kea/logger_lockfile
12 Service failed: Launch failed: Unable to open PID file '/var/run/kea/kea-ctrl-agent.kea-ctrl-agent.pid' for write
13 [snip]
14 ERROR [kea-dhcp4.dhcp4/615.140641792751488] DHCP4_CONFIG_LOAD_FAIL configuration error using file: /etc/kea/kea-dhcp4.conf, reason: Unable to open database: unable to open '/var/lib/kea/kea-leases4.csv'
15 [snip]
16
17Upstream-Status: Inappropriate [config specific]
18
19Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
20---
21 src/bin/keactrl/keactrl.in | 2 ++
22 1 file changed, 2 insertions(+)
23
24diff --git a/src/bin/keactrl/keactrl.in b/src/bin/keactrl/keactrl.in
25index 12b2b3f..47cf6f9 100644
26--- a/src/bin/keactrl/keactrl.in
27+++ b/src/bin/keactrl/keactrl.in
28@@ -482,6 +482,8 @@ case ${command} in
29 # The variables (dhcp4_srv, dhcp6_serv, dhcp_ddns_srv etc) are set in the
30 # keactrl.conf file that shellcheck is unable to read.
31 # shellcheck disable=SC2154
32+ [ -d @LOCALSTATEDIR@/run/kea ] || mkdir -p @LOCALSTATEDIR@/run/kea
33+ [ -d @LOCALSTATEDIR@/lib/kea ] || mkdir -p @LOCALSTATEDIR@/lib/kea
34 run_conditional "dhcp4" "start_server ${dhcp4_srv} -c ${kea_dhcp4_config_file} ${args}" 1
35 run_conditional "dhcp6" "start_server ${dhcp6_srv} -c ${kea_dhcp6_config_file} ${args}" 1
36 # shellcheck disable=SC2154
37--
382.26.2
39
diff --git a/meta/recipes-connectivity/kea/files/0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch b/meta/recipes-connectivity/kea/files/0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch
new file mode 100644
index 0000000000..94fbd12737
--- /dev/null
+++ b/meta/recipes-connectivity/kea/files/0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch
@@ -0,0 +1,28 @@
1From 841924e1fe8db2bff3eab8d37634ef08f86c00ec Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Tue, 10 Nov 2020 15:57:03 +0000
4Subject: [PATCH] src/lib/log/logger_unittest_support.cc: do not write build
5 path into binary
6
7This breaks reproducibility and is needed only in unit testing.
8
9Upstream-Status: Inappropriate [oe-core specific]
10Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
11
12---
13 src/lib/log/logger_unittest_support.cc | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/src/lib/log/logger_unittest_support.cc b/src/lib/log/logger_unittest_support.cc
17index fc01c6e..f46d17e 100644
18--- a/src/lib/log/logger_unittest_support.cc
19+++ b/src/lib/log/logger_unittest_support.cc
20@@ -84,7 +84,7 @@ void initLogger(isc::log::Severity severity, int dbglevel) {
21 const char* localfile = getenv("KEA_LOGGER_LOCALMSG");
22
23 // Set a directory for creating lockfiles when running tests
24- setenv("KEA_LOCKFILE_DIR", TOP_BUILDDIR, 0);
25+ //setenv("KEA_LOCKFILE_DIR", TOP_BUILDDIR, 0);
26
27 // Initialize logging
28 initLogger(root, severity, dbglevel, localfile);
diff --git a/meta/recipes-connectivity/kea/files/fix-multilib-conflict.patch b/meta/recipes-connectivity/kea/files/fix-multilib-conflict.patch
index 733adf5536..5b135b3aee 100644
--- a/meta/recipes-connectivity/kea/files/fix-multilib-conflict.patch
+++ b/meta/recipes-connectivity/kea/files/fix-multilib-conflict.patch
@@ -1,4 +1,7 @@
1There are conflict of config files between kea and lib32-kea: 1From 06ebd1b2ced426c420ed162980eca194f9f918ae Mon Sep 17 00:00:00 2001
2From: Kai Kang <kai.kang@windriver.com>
3Date: Tue, 22 Sep 2020 15:02:33 +0800
4Subject: [PATCH] There are conflict of config files between kea and lib32-kea:
2 5
3| Error: Transaction test error: 6| Error: Transaction test error:
4| file /etc/kea/kea-ctrl-agent.conf conflicts between attempted installs of 7| file /etc/kea/kea-ctrl-agent.conf conflicts between attempted installs of
@@ -9,17 +12,19 @@ There are conflict of config files between kea and lib32-kea:
9Because they are all commented out, replace the expanded libdir path with 12Because they are all commented out, replace the expanded libdir path with
10'$libdir' in the config files to avoid conflict. 13'$libdir' in the config files to avoid conflict.
11 14
15Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/issues/2602]
12Signed-off-by: Kai Kang <kai.kang@windriver.com> 16Signed-off-by: Kai Kang <kai.kang@windriver.com>
17
13--- 18---
14 src/bin/keactrl/kea-ctrl-agent.conf.pre | 3 ++- 19 src/bin/keactrl/kea-ctrl-agent.conf.pre | 3 ++-
15 src/bin/keactrl/kea-dhcp4.conf.pre | 6 ++++-- 20 src/bin/keactrl/kea-dhcp4.conf.pre | 4 ++--
16 2 files changed, 6 insertions(+), 3 deletions(-) 21 2 files changed, 4 insertions(+), 3 deletions(-)
17 22
18diff --git a/src/bin/keactrl/kea-ctrl-agent.conf.pre b/src/bin/keactrl/kea-ctrl-agent.conf.pre 23diff --git a/src/bin/keactrl/kea-ctrl-agent.conf.pre b/src/bin/keactrl/kea-ctrl-agent.conf.pre
19index 211b7ff..d710ec7 100644 24index e6ae8b8..50a3092 100644
20--- a/src/bin/keactrl/kea-ctrl-agent.conf.pre 25--- a/src/bin/keactrl/kea-ctrl-agent.conf.pre
21+++ b/src/bin/keactrl/kea-ctrl-agent.conf.pre 26+++ b/src/bin/keactrl/kea-ctrl-agent.conf.pre
22@@ -45,7 +45,8 @@ 27@@ -51,7 +51,8 @@
23 // Agent will fail to start. 28 // Agent will fail to start.
24 "hooks-libraries": [ 29 "hooks-libraries": [
25 // { 30 // {
@@ -30,26 +35,24 @@ index 211b7ff..d710ec7 100644
30 // "param1": "foo" 35 // "param1": "foo"
31 // } 36 // }
32diff --git a/src/bin/keactrl/kea-dhcp4.conf.pre b/src/bin/keactrl/kea-dhcp4.conf.pre 37diff --git a/src/bin/keactrl/kea-dhcp4.conf.pre b/src/bin/keactrl/kea-dhcp4.conf.pre
33index 5f77a32..70ae3d9 100644 38index 6edb8a1..b2a7385 100644
34--- a/src/bin/keactrl/kea-dhcp4.conf.pre 39--- a/src/bin/keactrl/kea-dhcp4.conf.pre
35+++ b/src/bin/keactrl/kea-dhcp4.conf.pre 40+++ b/src/bin/keactrl/kea-dhcp4.conf.pre
36@@ -252,7 +252,8 @@ 41@@ -255,7 +255,7 @@
37 // // of all devices serviced by Kea, including their identifiers 42 // // of all devices serviced by Kea, including their identifiers
38 // // (like MAC address), their location in the network, times 43 // // (like MAC address), their location in the network, times
39 // // when they were active etc. 44 // // when they were active etc.
40- // "library": "@libdir@/kea/hooks/libdhcp_legal_log.so" 45- // "library": "@libdir@/kea/hooks/libdhcp_legal_log.so",
41+ // // Replace $libdir with real library path /usr/lib or /usr/lib64 46+ // "library": "$libdir/kea/hooks/libdhcp_legal_log.so",
42+ // "library": "$libdir/kea/hooks/libdhcp_legal_log.so" 47 // "parameters": {
43 // "parameters": { 48 // "path": "/var/lib/kea",
44 // "path": "/var/lib/kea", 49 // "base-name": "kea-forensic4"
45 // "base-name": "kea-forensic4" 50@@ -272,7 +272,7 @@
46@@ -269,7 +270,8 @@ 51 // // of specific options or perhaps even a combination of several
47 // // of specific options or perhaps even a combination of several 52 // // options and fields to uniquely identify a client. Those scenarios
48 // // options and fields to uniquely identify a client. Those scenarios 53 // // are addressed by the Flexible Identifiers hook application.
49 // // are addressed by the Flexible Identifiers hook application. 54- // "library": "@libdir@/kea/hooks/libdhcp_flex_id.so",
50- // "library": "@libdir@/kea/hooks/libdhcp_flex_id.so", 55+ // "library": "$libdir/kea/hooks/libdhcp_flex_id.so",
51+ // // Replace $libdir with real library path /usr/lib or /usr/lib64 56 // "parameters": {
52+ // "library": "$libdir/kea/hooks/libdhcp_flex_id.so", 57 // "identifier-expression": "relay4[2].hex"
53 // "parameters": { 58 // }
54 // "identifier-expression": "substring(relay6[0].option[18],0,8)"
55 // }
diff --git a/meta/recipes-connectivity/kea/files/fix_pid_keactrl.patch b/meta/recipes-connectivity/kea/files/fix_pid_keactrl.patch
new file mode 100644
index 0000000000..63a6a2805b
--- /dev/null
+++ b/meta/recipes-connectivity/kea/files/fix_pid_keactrl.patch
@@ -0,0 +1,29 @@
1From c878a356712606549f7f188b62f7d1cae08a176e Mon Sep 17 00:00:00 2001
2From: Armin kuster <akuster808@gmail.com>
3Date: Wed, 14 Oct 2020 22:48:31 -0700
4Subject: [PATCH] Busybox does not support ps -p so use pgrep
5
6Upstream-Status: Inappropriate [embedded specific]
7Based on changes from Diego Sueiro <Diego.Sueiro@arm.com>
8
9Signed-off-by: Armin kuster <akuster808@gmail.com>
10
11---
12 src/bin/keactrl/keactrl.in | 4 ++--
13 1 file changed, 2 insertions(+), 2 deletions(-)
14
15diff --git a/src/bin/keactrl/keactrl.in b/src/bin/keactrl/keactrl.in
16index 450e997..c353ca9 100644
17--- a/src/bin/keactrl/keactrl.in
18+++ b/src/bin/keactrl/keactrl.in
19@@ -149,8 +149,8 @@ check_running() {
20 # Get the PID from the PID file (if it exists)
21 get_pid_from_file "${proc_name}"
22 if [ ${_pid} -gt 0 ]; then
23- # Use ps to check if PID is alive
24- if ps -p ${_pid} 1>/dev/null; then
25+ # Use pgrep and grep to check if PID is alive
26+ if pgrep -v 1 | grep ${_pid} 1>/dev/null; then
27 # No error, so PID IS ALIVE
28 _running=1
29 fi
diff --git a/meta/recipes-connectivity/kea/files/kea-dhcp-ddns-server b/meta/recipes-connectivity/kea/files/kea-dhcp-ddns-server
new file mode 100644
index 0000000000..50fe40d439
--- /dev/null
+++ b/meta/recipes-connectivity/kea/files/kea-dhcp-ddns-server
@@ -0,0 +1,46 @@
1#!/bin/sh
2### BEGIN INIT INFO
3# Provides: kea-dhcp-ddns-server
4# Required-Start: $local_fs $network $remote_fs $syslog
5# Required-Stop: $local_fs $network $remote_fs $syslog
6# Default-Start: 2 3 4 5
7# Default-Stop: 0 1 6
8# Short-Description: ISC KEA DHCP IPv6 Server
9### END INIT INFO
10
11PATH=/sbin:/usr/sbin:/bin:/usr/bin
12DESC="kea-dhcp-ddns-server"
13NAME=kea-dhcp-ddns
14DAEMON=/usr/sbin/keactrl
15DAEMON_ARGS=" -s dhcp_ddns"
16
17set -e
18
19# Exit if the package is not installed
20[ -x "$DAEMON" ] || exit 0
21
22# Source function library.
23. /etc/init.d/functions
24
25case "$1" in
26 start)
27 echo -n "Starting $DESC: "
28 start-stop-daemon -S -b -n $NAME -x $DAEMON -- start $DAEMON_ARGS
29 echo "done."
30 ;;
31 stop)
32 echo -n "Stopping $DESC: "
33 kpid=`pidof $NAME`
34 kill $kpid
35 echo "done."
36 ;;
37 restart|force-reload)
38 #
39 $0 stop
40 $0 start
41 ;;
42 *)
43 echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
44 exit 1
45 ;;
46esac
diff --git a/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service b/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service
index 91aa2eb14f..f6059d73cb 100644
--- a/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service
+++ b/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service
@@ -6,7 +6,6 @@ After=time-sync.target
6 6
7[Service] 7[Service]
8ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/run/kea/ 8ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/run/kea/
9ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/kea
10ExecStart=@SBINDIR@/kea-dhcp-ddns -c @SYSCONFDIR@/kea/kea-dhcp-ddns.conf 9ExecStart=@SBINDIR@/kea-dhcp-ddns -c @SYSCONFDIR@/kea/kea-dhcp-ddns.conf
11 10
12[Install] 11[Install]
diff --git a/meta/recipes-connectivity/kea/files/kea-dhcp4-server b/meta/recipes-connectivity/kea/files/kea-dhcp4-server
new file mode 100644
index 0000000000..e83e51025d
--- /dev/null
+++ b/meta/recipes-connectivity/kea/files/kea-dhcp4-server
@@ -0,0 +1,46 @@
1#!/bin/sh
2### BEGIN INIT INFO
3# Provides: kea-dhcp4-server
4# Required-Start: $local_fs $network $remote_fs $syslog
5# Required-Stop: $local_fs $network $remote_fs $syslog
6# Default-Start: 2 3 4 5
7# Default-Stop: 0 1 6
8# Short-Description: ISC KEA DHCP IPv6 Server
9### END INIT INFO
10
11PATH=/sbin:/usr/sbin:/bin:/usr/bin
12DESC="kea-dhcp4-server"
13NAME=kea-dhcp4
14DAEMON=/usr/sbin/keactrl
15DAEMON_ARGS=" -s dhcp4"
16
17set -e
18
19# Exit if the package is not installed
20[ -x "$DAEMON" ] || exit 0
21
22# Source function library.
23. /etc/init.d/functions
24
25case "$1" in
26 start)
27 echo -n "Starting $DESC: "
28 start-stop-daemon -S -b -n $NAME -x $DAEMON -- start $DAEMON_ARGS
29 echo "done."
30 ;;
31 stop)
32 echo -n "Stopping $DESC: "
33 kpid=`pidof $NAME`
34 kill $kpid
35 echo "done."
36 ;;
37 restart|force-reload)
38 #
39 $0 stop
40 $0 start
41 ;;
42 *)
43 echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
44 exit 1
45 ;;
46esac
diff --git a/meta/recipes-connectivity/kea/files/kea-dhcp6-server b/meta/recipes-connectivity/kea/files/kea-dhcp6-server
new file mode 100644
index 0000000000..10f2d22641
--- /dev/null
+++ b/meta/recipes-connectivity/kea/files/kea-dhcp6-server
@@ -0,0 +1,47 @@
1#!/bin/sh
2### BEGIN INIT INFO
3# Provides: kea-dhcp6-server
4# Required-Start: $local_fs $network $remote_fs $syslog
5# Required-Stop: $local_fs $network $remote_fs $syslog
6# Default-Start: 2 3 4 5
7# Default-Stop: 0 1 6
8# Short-Description: ISC KEA DHCP IPv6 Server
9### END INIT INFO
10
11# PATH should only include /usr/* if it runs after the mountnfs.sh script
12PATH=/sbin:/usr/sbin:/bin:/usr/bin
13DESC="kea-dhcp6-server"
14NAME=kea-dhcp6
15DAEMON=/usr/sbin/keactrl
16DAEMON_ARGS=" -s dhcp6"
17
18set -e
19
20# Exit if the package is not installed
21[ -x "$DAEMON" ] || exit 0
22
23# Source function library.
24. /etc/init.d/functions
25
26case "$1" in
27 start)
28 echo -n "Starting $DESC: "
29 start-stop-daemon -S -b -n $NAME -x $DAEMON -- start $DAEMON_ARGS
30 echo "done."
31 ;;
32 stop)
33 echo -n "Stopping $DESC: "
34 kpid=`pidof $NAME`
35 kill $kpid
36 echo "done."
37 ;;
38 restart|force-reload)
39 #
40 $0 stop
41 $0 start
42 ;;
43 *)
44 echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
45 exit 1
46 ;;
47esac
diff --git a/meta/recipes-connectivity/kea/kea_1.7.10.bb b/meta/recipes-connectivity/kea/kea_1.7.10.bb
deleted file mode 100644
index 2ea4b12758..0000000000
--- a/meta/recipes-connectivity/kea/kea_1.7.10.bb
+++ /dev/null
@@ -1,61 +0,0 @@
1SUMMARY = "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
10SRC_URI = "\
11 http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \
12 file://0001-keactrl.in-create-var-lib-kea-and-var-run-kea-folder.patch \
13 file://kea-dhcp4.service \
14 file://kea-dhcp6.service \
15 file://kea-dhcp-ddns.service \
16 file://fix-multilib-conflict.patch \
17"
18SRC_URI[sha256sum] = "4e121f0e58b175a827581c69cb1d60778647049fa47f142940dddc9ce58f3c82"
19
20inherit autotools systemd
21
22SYSTEMD_SERVICE_${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service"
23SYSTEMD_AUTO_ENABLE = "disable"
24
25DEBUG_OPTIMIZATION_remove_mips = " -Og"
26DEBUG_OPTIMIZATION_append_mips = " -O"
27BUILD_OPTIMIZATION_remove_mips = " -Og"
28BUILD_OPTIMIZATION_append_mips = " -O"
29
30DEBUG_OPTIMIZATION_remove_mipsel = " -Og"
31DEBUG_OPTIMIZATION_append_mipsel = " -O"
32BUILD_OPTIMIZATION_remove_mipsel = " -Og"
33BUILD_OPTIMIZATION_append_mipsel = " -O"
34
35EXTRA_OECONF = "--with-boost-libs=-lboost_system \
36 --with-log4cplus=${STAGING_DIR_TARGET}${prefix} \
37 --with-openssl=${STAGING_DIR_TARGET}${prefix}"
38
39do_configure_prepend() {
40 # replace abs_top_builddir to avoid introducing the build path
41 # don't expand the abs_top_builddir on the target as the abs_top_builddir is meanlingless on the target
42 find ${S} -type f -name *.sh.in | xargs sed -i "s:@abs_top_builddir@:@abs_top_builddir_placeholder@:g"
43 sed -i "s:@abs_top_srcdir@:@abs_top_srcdir_placeholder@:g" ${S}/src/bin/admin/kea-admin.in
44}
45
46do_install_append() {
47 install -d ${D}${systemd_system_unitdir}
48 install -m 0644 ${WORKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir}
49 sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \
50 -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \
51 ${D}${systemd_system_unitdir}/kea-dhcp*service ${D}${sbindir}/keactrl
52}
53
54do_install_append() {
55 rm -rf "${D}${localstatedir}"
56}
57
58FILES_${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a"
59FILES_${PN} += "${libdir}/hooks/*.so"
60
61PARALLEL_MAKEINST = ""
diff --git a/meta/recipes-connectivity/kea/kea_2.4.1.bb b/meta/recipes-connectivity/kea/kea_2.4.1.bb
new file mode 100644
index 0000000000..19309ce314
--- /dev/null
+++ b/meta/recipes-connectivity/kea/kea_2.4.1.bb
@@ -0,0 +1,78 @@
1SUMMARY = "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"
6LIC_FILES_CHKSUM = "file://COPYING;md5=ea061fa0188838072c4248c1318ec131"
7
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 \
20 "
21SRC_URI[sha256sum] = "815c61f5c271caa4a1db31dd656eb50a7f6ea973da3690f7c8581408e180131a"
22
23inherit autotools systemd update-rc.d upstream-version-is-even
24
25INITSCRIPT_NAME = "kea-dhcp4-server"
26INITSCRIPT_PARAMS = "defaults 30"
27
28SYSTEMD_SERVICE:${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service"
29SYSTEMD_AUTO_ENABLE = "disable"
30
31DEBUG_OPTIMIZATION:remove:mips = " -Og"
32DEBUG_OPTIMIZATION:append:mips = " -O"
33BUILD_OPTIMIZATION:remove:mips = " -Og"
34BUILD_OPTIMIZATION:append:mips = " -O"
35
36DEBUG_OPTIMIZATION:remove:mipsel = " -Og"
37DEBUG_OPTIMIZATION:append:mipsel = " -O"
38BUILD_OPTIMIZATION:remove:mipsel = " -Og"
39BUILD_OPTIMIZATION:append:mipsel = " -O"
40
41CXXFLAGS:remove = "-fvisibility-inlines-hidden"
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_builddir@:@abs_top_builddir_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 ${UNPACKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir}
63 install -m 0755 ${UNPACKDIR}/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 = ""