summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2026-03-19 13:36:34 +0200
committerGitHub <noreply@github.com>2026-03-19 13:36:34 +0200
commita7fef643d90105d3a099fe3fd4124a9e7df40bae (patch)
tree7a47c17ef4b338e8a066cebd5afdc8db46ad63de /scripts
parentcf9583252173f15138c0e196efadc2bc4512b23c (diff)
parentfca6d1e606ca2f708d6de78a48c6a76eea591f0c (diff)
downloadvyos-build-a7fef643d90105d3a099fe3fd4124a9e7df40bae.tar.gz
vyos-build-a7fef643d90105d3a099fe3fd4124a9e7df40bae.zip
Merge pull request #1139 from sarthurdev/kea_multiaddr
kea: T7853: Offer subnet for any interface address
Diffstat (limited to 'scripts')
-rw-r--r--scripts/package-build/isc-kea/.gitignore4
-rw-r--r--scripts/package-build/isc-kea/package.toml2
-rw-r--r--scripts/package-build/isc-kea/patches/isc-kea/0001-3162-Check-all-interface-addresses-for-matching-subn.patch59
-rwxr-xr-xscripts/package-build/isc-kea/prebuild.sh (renamed from scripts/package-build/isc-kea/build.sh)3
4 files changed, 62 insertions, 6 deletions
diff --git a/scripts/package-build/isc-kea/.gitignore b/scripts/package-build/isc-kea/.gitignore
index 14a6344c..39caf968 100644
--- a/scripts/package-build/isc-kea/.gitignore
+++ b/scripts/package-build/isc-kea/.gitignore
@@ -1,2 +1,2 @@
-isc-kea/
-kea-packaging/
+/isc-kea/
+/kea-packaging/
diff --git a/scripts/package-build/isc-kea/package.toml b/scripts/package-build/isc-kea/package.toml
index 19924493..57bf393a 100644
--- a/scripts/package-build/isc-kea/package.toml
+++ b/scripts/package-build/isc-kea/package.toml
@@ -2,4 +2,4 @@
name = "isc-kea"
commit_id = "Kea-3.0.2"
scm_url = "https://gitlab.isc.org/isc-projects/kea.git"
-build_cmd = "cd ..; ./build.sh"
+pre_build_hook = "cd ..; ./prebuild.sh"
diff --git a/scripts/package-build/isc-kea/patches/isc-kea/0001-3162-Check-all-interface-addresses-for-matching-subn.patch b/scripts/package-build/isc-kea/patches/isc-kea/0001-3162-Check-all-interface-addresses-for-matching-subn.patch
new file mode 100644
index 00000000..57d700c3
--- /dev/null
+++ b/scripts/package-build/isc-kea/patches/isc-kea/0001-3162-Check-all-interface-addresses-for-matching-subn.patch
@@ -0,0 +1,59 @@
+From 7d4662a0e26fae27583883a8c8138b62792fc3cf Mon Sep 17 00:00:00 2001
+From: sarthurdev <965089+sarthurdev@users.noreply.github.com>
+Date: Sat, 20 Sep 2025 23:00:20 +0200
+Subject: [PATCH] [#3162] Check all interface addresses for matching subnet
+
+---
+ src/lib/dhcpsrv/cfg_subnets4.cc | 31 +++++++++++++++++++------------
+ 1 file changed, 19 insertions(+), 12 deletions(-)
+
+diff --git a/src/lib/dhcpsrv/cfg_subnets4.cc b/src/lib/dhcpsrv/cfg_subnets4.cc
+index 13286bb6d4..f25349f63a 100644
+--- a/src/lib/dhcpsrv/cfg_subnets4.cc
++++ b/src/lib/dhcpsrv/cfg_subnets4.cc
+@@ -393,23 +393,30 @@ CfgSubnets4::selectSubnet(const SubnetSelector& selector) const {
+ if (subnet) {
+ return (subnet);
+ } else {
+- // Let's try to get an address from the local interface and
+- // try to match it to defined subnet.
+- iface->getAddress4(address);
++ // Let's try to get addresses from the local interface and
++ // try to match one to a defined subnet.
++ for (auto const& addr : iface->getAddresses()) {
++
++ // We only care about IPv4 here
++ if (!addr.get().isV4()) {
++ continue;
++ }
++
++ address = addr.get();
++ subnet = selectSubnet(address, selector.client_classes_);
++
++ if (subnet) {
++ return (subnet);
++ }
++ }
+ }
+ }
+
+ // Unable to find a suitable address to use for subnet selection.
+- if (address.isV4Zero()) {
+- LOG_DEBUG(dhcpsrv_logger, DHCPSRV_DBG_TRACE,
+- DHCPSRV_SUBNET4_SELECT_NO_USABLE_ADDRESS);
+-
+- return (ConstSubnet4Ptr());
+- }
++ LOG_DEBUG(dhcpsrv_logger, DHCPSRV_DBG_TRACE,
++ DHCPSRV_SUBNET4_SELECT_NO_USABLE_ADDRESS);
+
+- // We have identified an address in the client's packet that can be
+- // used for subnet selection. Match this packet with the subnets.
+- return (selectSubnet(address, selector.client_classes_));
++ return (ConstSubnet4Ptr());
+ }
+
+ ConstSubnet4Ptr
+--
+2.50.1 (Apple Git-155)
+
diff --git a/scripts/package-build/isc-kea/build.sh b/scripts/package-build/isc-kea/prebuild.sh
index b30804f5..7bd6d5b6 100755
--- a/scripts/package-build/isc-kea/build.sh
+++ b/scripts/package-build/isc-kea/prebuild.sh
@@ -25,6 +25,3 @@ sed -i '/usr\/share\/doc\/kea/d' debian/*.install
echo "usr/share/doc/kea/*" >> debian/not-installed
echo "usr/share/kea/meson-info/*" >> debian/not-installed
rm -rf debian/isc-kea-doc.install debian/isc-kea-subscriber* debian/isc-kea-premium*
-
-sudo mk-build-deps --install --tool 'apt-get --yes --no-install-recommends'
-dpkg-buildpackage -uc -us -tc -b