kea: T8092: Build kea from source

This commit is contained in:
sarthurdev 2025-12-16 13:42:57 +01:00
parent 50b08d3c03
commit ced455d432
8 changed files with 50 additions and 10 deletions

View file

@ -49,6 +49,8 @@ jobs:
- 'scripts/package-build/hsflowd/**'
isc-dhcp:
- 'scripts/package-build/isc-dhcp/**'
isc-kea:
- 'scripts/package-build/isc-kea/**'
keepalived:
- 'scripts/package-build/keepalived/**'
libnss-mapuser:
@ -167,6 +169,10 @@ jobs:
trigger_build "isc-dhcp"
fi
if [ "${{ steps.changes.outputs.isc-kea }}" == "true" ]; then
trigger_build "isc-kea"
fi
if [ "${{ steps.changes.outputs.keepalived }}" == "true" ]; then
trigger_build "keepalived"
fi

View file

@ -19,8 +19,3 @@ packages = [
[additional_repositories.zabbix]
url = "https://repo.zabbix.com/zabbix/6.0/debian"
[additional_repositories.kea]
architecture = "amd64"
url = "https://dl.cloudsmith.io/public/isc/kea-3-0/deb/debian"
distribution = "bookworm"

View file

@ -12,8 +12,3 @@ squashfs_compression_type = "xz -b 256k -always-use-fragments -no-recovery"
[additional_repositories.zabbix]
url = "https://repo.zabbix.com/zabbix/6.0/debian-arm64"
[additional_repositories.kea]
architecture = "arm64"
url = "https://dl.cloudsmith.io/public/isc/kea-3-0/deb/debian"
distribution = "bookworm"

View file

@ -331,6 +331,12 @@ RUN git clone -b 4.4.6 https://github.com/perfsonar/i2util.git /tmp/i2util && \
dpkg-buildpackage -uc -us -tc -b && \
dpkg -i /tmp/*i2util*_$(dpkg-architecture -qDEB_HOST_ARCH).deb
# Package needed for building Kea
RUN echo "deb http://deb.debian.org/debian bookworm-backports main" \
> /etc/apt/sources.list.d/bookworm-backports.list \
&& apt-get update \
&& apt install -y -t bookworm-backports meson
# Creating image for embedded systems needs this utilities to prepare a image file
RUN apt-get update && apt-get install -y \
parted \

View file

@ -0,0 +1,2 @@
isc-kea/
kea-packaging/

View file

@ -0,0 +1 @@
../build.py

View file

@ -0,0 +1,30 @@
#!/bin/sh
SRC="isc-kea"
# Fetch debian packaging repo
git clone https://gitlab.isc.org/isc-projects/kea-packaging.git
rm -rf isc-kea/debian
cp -r kea-packaging/debian isc-kea/
rm -rf kea-packaging
cd $SRC
# Determine version from git tag
TAG=$(git describe --tags --exact-match)
VERSION="${TAG#Kea-}"
# Modify debian files, add version, remove docs/manpages and unnecessary packages
sed -i "s/{VERSION}/$VERSION/g" debian/changelog
sed -i 's/{ISC_VERSION}/vyos/g' debian/changelog
sed -i 's/{ISC_VERSION}/vyos/g' debian/rules
sed -i '/meson compile -C build doc/d' debian/rules
sed -Ei '/^Package: isc-kea-(premium|subscriber)/,/^$/d' debian/control
sed -i '/usr\/share\/man/d' debian/*.install
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

View file

@ -0,0 +1,5 @@
[[packages]]
name = "isc-kea"
commit_id = "Kea-3.0.2"
scm_url = "https://gitlab.isc.org/isc-projects/kea.git"
build_cmd = "cd ..; ./build.sh"