diff options
| author | sarthurdev <965089+sarthurdev@users.noreply.github.com> | 2025-12-16 13:42:57 +0100 |
|---|---|---|
| committer | sarthurdev <965089+sarthurdev@users.noreply.github.com> | 2025-12-19 12:55:54 +0100 |
| commit | ced455d432c716cd4f619bddf7cc7db2b5357d47 (patch) | |
| tree | 02709112c70536ed7233209d183be21143e6c3fe | |
| parent | 50b08d3c03115a3896bdbf1a38afb311880de9e8 (diff) | |
| download | vyos-build-ced455d432c716cd4f619bddf7cc7db2b5357d47.tar.gz vyos-build-ced455d432c716cd4f619bddf7cc7db2b5357d47.zip | |
kea: T8092: Build kea from source
| -rw-r--r-- | .github/workflows/trigger_rebuild_packages.yml | 6 | ||||
| -rw-r--r-- | data/architectures/amd64.toml | 5 | ||||
| -rw-r--r-- | data/architectures/arm64.toml | 5 | ||||
| -rw-r--r-- | docker/Dockerfile | 6 | ||||
| -rw-r--r-- | scripts/package-build/isc-kea/.gitignore | 2 | ||||
| l--------- | scripts/package-build/isc-kea/build.py | 1 | ||||
| -rwxr-xr-x | scripts/package-build/isc-kea/build.sh | 30 | ||||
| -rw-r--r-- | scripts/package-build/isc-kea/package.toml | 5 |
8 files changed, 50 insertions, 10 deletions
diff --git a/.github/workflows/trigger_rebuild_packages.yml b/.github/workflows/trigger_rebuild_packages.yml index ddd404ba..0c390b32 100644 --- a/.github/workflows/trigger_rebuild_packages.yml +++ b/.github/workflows/trigger_rebuild_packages.yml @@ -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 diff --git a/data/architectures/amd64.toml b/data/architectures/amd64.toml index 2e83358f..8676ad2f 100644 --- a/data/architectures/amd64.toml +++ b/data/architectures/amd64.toml @@ -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" diff --git a/data/architectures/arm64.toml b/data/architectures/arm64.toml index 9ed68bbb..0447d846 100644 --- a/data/architectures/arm64.toml +++ b/data/architectures/arm64.toml @@ -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" diff --git a/docker/Dockerfile b/docker/Dockerfile index b8493f05..6d913222 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -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 \ diff --git a/scripts/package-build/isc-kea/.gitignore b/scripts/package-build/isc-kea/.gitignore new file mode 100644 index 00000000..14a6344c --- /dev/null +++ b/scripts/package-build/isc-kea/.gitignore @@ -0,0 +1,2 @@ +isc-kea/ +kea-packaging/ diff --git a/scripts/package-build/isc-kea/build.py b/scripts/package-build/isc-kea/build.py new file mode 120000 index 00000000..3c76af73 --- /dev/null +++ b/scripts/package-build/isc-kea/build.py @@ -0,0 +1 @@ +../build.py
\ No newline at end of file diff --git a/scripts/package-build/isc-kea/build.sh b/scripts/package-build/isc-kea/build.sh new file mode 100755 index 00000000..b30804f5 --- /dev/null +++ b/scripts/package-build/isc-kea/build.sh @@ -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 diff --git a/scripts/package-build/isc-kea/package.toml b/scripts/package-build/isc-kea/package.toml new file mode 100644 index 00000000..19924493 --- /dev/null +++ b/scripts/package-build/isc-kea/package.toml @@ -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" |
