unos-repository

APK repository for unos
git clone git://git.finwo.net/misc/unos-repository
Log | Files | Refs | README

commit da28e1c13c991b2db936ccff3de467be0492b6ab
parent d46be19220fa2b0c740315e9d65e87ceabc19883
Author: finwo <finwo@pm.me>
Date:   Fri, 18 Sep 2026 12:59:47 +0200

Unit tests, unosd is now a multi-call binary for subcommands

Diffstat:
Mpackages/base-files/files/network/interfaces | 2++
Mpackages/base-files/files/network/ports | 2++
Mpackages/linux-longterm/template | 4++--
Mpackages/linux-mainline/template | 4++--
Mpackages/linux-stable/template | 4++--
Mpackages/unosd/template | 16+++++-----------
6 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/packages/base-files/files/network/interfaces b/packages/base-files/files/network/interfaces @@ -1,6 +1,8 @@ # UNOS network interfaces # Cumulus style: `iface <name>` preferred, `inet` is optional. # See ifupdown2 docs for hooks: pre-up/post-up etc. +source interfaces.d/*.cnf + auto lo iface lo address 127.0.0.1/8 diff --git a/packages/base-files/files/network/ports b/packages/base-files/files/network/ports @@ -31,6 +31,8 @@ # On generic x86_64 there is no ASIC and none of these apply; the kernel # backend ignores them and Linux does the forwarding. +source ports.d/*.cnf + port swp1 speed 25000 fec rs diff --git a/packages/linux-longterm/template b/packages/linux-longterm/template @@ -43,10 +43,10 @@ depends_linux_headers= # shellcheck disable=SC1091 . "${UNOS_MKDIR}/kernel.inc" -KDELTA_ENABLE="IKCONFIG IKCONFIG_PROC NET_L3_MASTER_DEV IPV6_MULTIPLE_TABLES BLK_DEV_NVME MMC MMC_BLOCK" +KDELTA_ENABLE="IKCONFIG IKCONFIG_PROC NET_L3_MASTER_DEV IPV6_MULTIPLE_TABLES BLK_DEV_NVME MMC MMC_BLOCK BRIDGE VLAN_8021Q" KDELTA_MODULE="NET_VRF" KDELTA_DISABLE="" -KASSERT_Y="IPV6 IP_MULTIPLE_TABLES IPV6_MULTIPLE_TABLES NET_L3_MASTER_DEV DEVTMPFS_MOUNT BLK_DEV_INITRD SERIAL_8250_CONSOLE MODULES IKCONFIG IKCONFIG_PROC EFI_STUB BLK_DEV_NVME MMC MMC_BLOCK NVME_CORE" +KASSERT_Y="IPV6 IP_MULTIPLE_TABLES IPV6_MULTIPLE_TABLES NET_L3_MASTER_DEV DEVTMPFS_MOUNT BLK_DEV_INITRD SERIAL_8250_CONSOLE MODULES IKCONFIG IKCONFIG_PROC EFI_STUB BLK_DEV_NVME MMC MMC_BLOCK NVME_CORE BRIDGE VLAN_8021Q" KASSERT_M="NET_VRF" KASSERT_N="MODULE_SIG" diff --git a/packages/linux-mainline/template b/packages/linux-mainline/template @@ -41,10 +41,10 @@ depends_linux_headers= # shellcheck disable=SC1091 . "${UNOS_MKDIR}/kernel.inc" -KDELTA_ENABLE="IKCONFIG IKCONFIG_PROC NET_L3_MASTER_DEV IPV6_MULTIPLE_TABLES BLK_DEV_NVME MMC MMC_BLOCK" +KDELTA_ENABLE="IKCONFIG IKCONFIG_PROC NET_L3_MASTER_DEV IPV6_MULTIPLE_TABLES BLK_DEV_NVME MMC MMC_BLOCK BRIDGE VLAN_8021Q" KDELTA_MODULE="NET_VRF" KDELTA_DISABLE="" -KASSERT_Y="IPV6 IP_MULTIPLE_TABLES IPV6_MULTIPLE_TABLES NET_L3_MASTER_DEV DEVTMPFS_MOUNT BLK_DEV_INITRD SERIAL_8250_CONSOLE MODULES IKCONFIG IKCONFIG_PROC EFI_STUB BLK_DEV_NVME MMC MMC_BLOCK NVME_CORE" +KASSERT_Y="IPV6 IP_MULTIPLE_TABLES IPV6_MULTIPLE_TABLES NET_L3_MASTER_DEV DEVTMPFS_MOUNT BLK_DEV_INITRD SERIAL_8250_CONSOLE MODULES IKCONFIG IKCONFIG_PROC EFI_STUB BLK_DEV_NVME MMC MMC_BLOCK NVME_CORE BRIDGE VLAN_8021Q" KASSERT_M="NET_VRF" KASSERT_N="MODULE_SIG" diff --git a/packages/linux-stable/template b/packages/linux-stable/template @@ -35,10 +35,10 @@ depends_linux_headers= # shellcheck disable=SC1091 . "${UNOS_MKDIR}/kernel.inc" -KDELTA_ENABLE="IKCONFIG IKCONFIG_PROC NET_L3_MASTER_DEV IPV6_MULTIPLE_TABLES BLK_DEV_NVME MMC MMC_BLOCK" +KDELTA_ENABLE="IKCONFIG IKCONFIG_PROC NET_L3_MASTER_DEV IPV6_MULTIPLE_TABLES BLK_DEV_NVME MMC MMC_BLOCK BRIDGE VLAN_8021Q" KDELTA_MODULE="NET_VRF" KDELTA_DISABLE="" -KASSERT_Y="IPV6 IP_MULTIPLE_TABLES IPV6_MULTIPLE_TABLES NET_L3_MASTER_DEV DEVTMPFS_MOUNT BLK_DEV_INITRD SERIAL_8250_CONSOLE MODULES IKCONFIG IKCONFIG_PROC EFI_STUB BLK_DEV_NVME MMC MMC_BLOCK NVME_CORE" +KASSERT_Y="IPV6 IP_MULTIPLE_TABLES IPV6_MULTIPLE_TABLES NET_L3_MASTER_DEV DEVTMPFS_MOUNT BLK_DEV_INITRD SERIAL_8250_CONSOLE MODULES IKCONFIG IKCONFIG_PROC EFI_STUB BLK_DEV_NVME MMC MMC_BLOCK NVME_CORE BRIDGE VLAN_8021Q" KASSERT_M="NET_VRF" KASSERT_N="MODULE_SIG" diff --git a/packages/unosd/template b/packages/unosd/template @@ -1,7 +1,7 @@ # Template file for 'unosd' pkgname=unosd version=0.1.0 -revision=3 +revision=4 short_desc="UNOS control plane daemon - kernel netlink mirror into the dataplane" maintainer="finwo <finwo@pm.me>" license="GPL-2.0-only" @@ -9,22 +9,16 @@ homepage="https://unos.finwo.dev" depends="busybox iproute2" do_build() { - # Build unosd via its own Makefile (assembles build/<target> and runs dep) + # Single multicall binary (src/main.c dispatch + src/cli/*.c constructors) make -C "${UNOS_MKDIR}/../src/unosd" -j"$(nproc)" [ -x "${UNOS_MKDIR}/../src/unosd/build/linux-glibc-amd64/unosd" ] || die "unosd binary missing after build" - # Build unosc (thin IPC client) directly -- not via the unosd Makefile's wildcard - # which would incorrectly link it into unosd - cc -Wall -Wextra -O2 -o "${UNOS_MKDIR}/../src/unosd/build/linux-glibc-amd64/unosc" \ - "${UNOS_MKDIR}/../src/unosd/src/cli/unosc.c" - [ -x "${UNOS_MKDIR}/../src/unosd/build/linux-glibc-amd64/unosc" ] || die "unosc binary missing" } do_install() { vinstall "${UNOS_MKDIR}/../src/unosd/build/linux-glibc-amd64/unosd" 755 usr/bin unosd - vinstall "${UNOS_MKDIR}/../src/unosd/build/linux-glibc-amd64/unosc" 755 usr/bin unosc - # ifup/ifdown/ifquery/ifreload as symlinks to unosc (argv[0] dispatch) - for link in ifup ifdown ifquery ifreload; do - ln -sfn unosc "${DESTDIR}/usr/bin/${link}" + # multicall: unosc and if* are symlinks to the same binary (argv[0] dispatch in src/main.c) + for link in unosc ifup ifdown ifquery ifreload; do + ln -sfn unosd "${DESTDIR}/usr/bin/${link}" done vinstall ${FILESDIR}/unosd-run 755 etc/sv/unosd run vinstall ${FILESDIR}/unosd-check 755 etc/sv/unosd check