]> git.ipfire.org Git - people/pmueller/ipfire-3.x.git/commitdiff
kea: New package
authorStefan Schantl <stefan.schantl@ipfire.org>
Tue, 28 Feb 2023 10:23:47 +0000 (11:23 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 28 Feb 2023 14:22:01 +0000 (14:22 +0000)
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
kea/kea.nm [new file with mode: 0644]
kea/kea.tmpfiles [new file with mode: 0644]
kea/patches/kea-2.2.0-configure-fix-python3-version.patch [new file with mode: 0644]
kea/systemd/kea-ctrl-agent.service [new file with mode: 0644]
kea/systemd/kea-dhcp-ddns.service [new file with mode: 0644]
kea/systemd/kea-dhcp4.service [new file with mode: 0644]
kea/systemd/kea-dhcp6.service [new file with mode: 0644]

diff --git a/kea/kea.nm b/kea/kea.nm
new file mode 100644 (file)
index 0000000..c4e23a2
--- /dev/null
@@ -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
diff --git a/kea/kea.tmpfiles b/kea/kea.tmpfiles
new file mode 100644 (file)
index 0000000..0b3abeb
--- /dev/null
@@ -0,0 +1 @@
+d /run/kea 0755 root root -
diff --git a/kea/patches/kea-2.2.0-configure-fix-python3-version.patch b/kea/patches/kea-2.2.0-configure-fix-python3-version.patch
new file mode 100644 (file)
index 0000000..97a3f3a
--- /dev/null
@@ -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; }
diff --git a/kea/systemd/kea-ctrl-agent.service b/kea/systemd/kea-ctrl-agent.service
new file mode 100644 (file)
index 0000000..b5c860c
--- /dev/null
@@ -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
diff --git a/kea/systemd/kea-dhcp-ddns.service b/kea/systemd/kea-dhcp-ddns.service
new file mode 100644 (file)
index 0000000..5fdbe0b
--- /dev/null
@@ -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
diff --git a/kea/systemd/kea-dhcp4.service b/kea/systemd/kea-dhcp4.service
new file mode 100644 (file)
index 0000000..0a72768
--- /dev/null
@@ -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
diff --git a/kea/systemd/kea-dhcp6.service b/kea/systemd/kea-dhcp6.service
new file mode 100644 (file)
index 0000000..e1fc05a
--- /dev/null
@@ -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