Commit Message
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
---
kea/kea.nm | 113 ++++++++++++++++++
kea/kea.tmpfiles | 1 +
...-2.2.0-configure-fix-python3-version.patch | 12 ++
kea/systemd/kea-ctrl-agent.service | 13 ++
kea/systemd/kea-dhcp-ddns.service | 13 ++
kea/systemd/kea-dhcp4.service | 13 ++
kea/systemd/kea-dhcp6.service | 13 ++
7 files changed, 178 insertions(+)
create mode 100644 kea/kea.nm
create mode 100644 kea/kea.tmpfiles
create mode 100644 kea/patches/kea-2.2.0-configure-fix-python3-version.patch
create mode 100644 kea/systemd/kea-ctrl-agent.service
create mode 100644 kea/systemd/kea-dhcp-ddns.service
create mode 100644 kea/systemd/kea-dhcp4.service
create mode 100644 kea/systemd/kea-dhcp6.service
new file mode 100644
@@ -0,0 +1,113 @@
+###############################################################################
+# IPFire.org - An Open Source Firewall Solution #
+# Copyright (C) - IPFire Development Team <info@ipfire.org> #
+###############################################################################
+
+name = kea
+version = 2.3.5
+release = 1
+
+groups = System/Daemons
+url = http://kea.isc.org
+license = MPLv2.0 and Boost
+summary = DHCPv4, DHCPv6 and DDNS server from ISC
+
+description
+ DHCP implementation from Internet Systems Consortium, Inc. that features
+ fully functional DHCPv4, DHCPv6 and Dynamic DNS servers.
+
+ Both DHCP servers fully support server discovery, address assignment,
+ renewal, rebinding and release. The DHCPv6 server supports prefix delegation.
+ Both servers support DNS Update mechanism, using stand-alone DDNS daemon.
+end
+
+source_dl = https://ftp.isc.org/isc/kea/%{version}/
+sources = %{thisapp}.tar.gz
+
+build
+ requires
+ gcc-c++
+ bison
+ boost-devel
+ flex
+ log4cplus-devel
+ openssl-devel
+ end
+
+ configure_options += \
+ --disable-dependency-tracking \
+ --disable-rpath \
+ --disable-silent-rules \
+ --disable-static \
+ --enable-generate-parser \
+ --enable-shell \
+ --with-openssl \
+ --with-log4cplus
+
+ install_cmds
+ # Start empty lease databases
+ mkdir -pv %{BUILDROOT}%{sharedstatedir}/kea/
+ touch %{BUILDROOT}%{sharedstatedir}/kea/kea-leases4.csv
+ touch %{BUILDROOT}%{sharedstatedir}/kea/kea-leases6.csv
+ end
+end
+
+packages
+ package %{name}
+ prerequires
+ systemd
+ end
+
+ configfiles
+ %{sysconfdir}/kea/kea-ctrl-agent.conf
+ %{sysconfdir}/kea/kea-dhcp-ddns.conf
+ %{sysconfdir}/kea/kea-dhcp4.conf
+ %{sysconfdir}//kea/kea-dhcp6.conf
+ %{sysconfdir}/kea/keactrl.conf
+ end
+
+ datafiles
+ %{sharedstatedir}/kea/kea-leases4.csv
+ %{sharedstatedir}/kea/kea-leases6.csv
+ end
+
+ script postin
+ /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+ end
+
+ script preun
+ /usr/bin/systemctl --no-reload disable kea-ctrl-agent.service >/dev/null 2>&1 || :
+ /usr/bin/systemctl --no-reload disable kea-dhcp4.service >/dev/null 2>&1 || :
+ /usr/bin/systemctl --no-reload disable kea-dhcp6.service >/dev/null 2>&1 || :
+ /usr/bin/systemctl --no-reload disable kea-dhcp-ddns.service >/dev/null 2>&1 || :
+ /usr/bin/systemctl stop kea-ctrl-agent.service >/dev/null 2>&1 || :
+ /usr/bin/systemctl stop kea-dhcp4.service >/dev/null 2>&1 || :
+ /usr/bin/systemctl stop kea-dhcp6.service >/dev/null 2>&1 || :
+ /usr/bin/systemctl stop kea-dhcp-ddns.service >/dev/null 2>&1 || :
+ end
+
+ script postun
+ /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+ end
+
+ script postup
+ /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+ /usr/bin/systemctl try-restart kea-ctrl-agent.service >/dev/null 2>&1 || :
+ /usr/bin/systemctl try-restart kea-dhcp4.service >/dev/null 2>&1 || :
+ /usr/bin/systemctl try-restart kea-dhcp6.service >/dev/null 2>&1 || :
+ /usr/bin/systemctl try-restart kea-dhcp-ddns.service >/dev/null 2>&1 || :
+ end
+ end
+
+ package %{name}-libs
+ template LIBS
+ end
+
+ package %{name}-devel
+ template DEVEL
+ end
+
+ package %{name}-debuginfo
+ template DEBUGINFO
+ end
+end
new file mode 100644
@@ -0,0 +1 @@
+d /run/kea 0755 root root -
new file mode 100644
@@ -0,0 +1,12 @@
+diff -Nur a/configure b/configure
+--- a/configure 2023-02-28 07:56:13.629233758 +0000
++++ b/configure 2023-02-28 07:53:19.994816726 +0000
+@@ -22765,7 +22765,7 @@
+ if ${am_cv_python_version+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
++ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"`
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
+ $as_echo "$am_cv_python_version" >&6; }
new file mode 100644
@@ -0,0 +1,13 @@
+[Unit]
+Description=Kea Control Agent
+Documentation=man:kea-ctrl-agent(8)
+Wants=network-online.target
+After=network-online.target
+After=time-sync.target
+
+[Service]
+ExecStart=/usr/sbin/kea-ctrl-agent -c /etc/kea/kea-ctrl-agent.conf
+Environment=KEA_PIDFILE_DIR=/var/run/kea
+
+[Install]
+WantedBy=multi-user.target
new file mode 100644
@@ -0,0 +1,13 @@
+[Unit]
+Description=Kea DHCP-DDNS Server
+Documentation=man:kea-dhcp-ddns(8)
+Wants=network-online.target
+After=network-online.target
+After=time-sync.target
+
+[Service]
+ExecStart=/usr/sbin/kea-dhcp-ddns -c /etc/kea/kea-dhcp-ddns.conf
+Environment=KEA_PIDFILE_DIR=/var/run/kea
+
+[Install]
+WantedBy=multi-user.target
new file mode 100644
@@ -0,0 +1,13 @@
+[Unit]
+Description=Kea DHCPv4 Server
+Documentation=man:kea-dhcp4(8)
+Wants=network-online.target
+After=network-online.target
+After=time-sync.target
+
+[Service]
+ExecStart=/usr/sbin/kea-dhcp4 -c /etc/kea/kea-dhcp4.conf
+Environment=KEA_PIDFILE_DIR=/var/run/kea
+
+[Install]
+WantedBy=multi-user.target
new file mode 100644
@@ -0,0 +1,13 @@
+[Unit]
+Description=Kea DHCPv6 Server
+Documentation=man:kea-dhcp6(8)
+Wants=network-online.target
+After=network-online.target
+After=time-sync.target
+
+[Service]
+ExecStart=/usr/sbin/kea-dhcp6 -c /etc/kea/kea-dhcp6.conf
+Environment=KEA_PIDFILE_DIR=/var/run/kea
+
+[Install]
+WantedBy=multi-user.target