From 64b2f5f944728abc72ee02e0392e25eb6fc99b89 Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Thu, 6 Aug 2026 09:59:20 +0200 Subject: [PATCH 1/4] cjdns: indent package metadata with two spaces The package definition blocks were indented with tabs, while the OpenWrt convention for package metadata is an indent of exactly two spaces. Reindent the Package/cjdns and Package/cjdns-tests blocks. No functional change. Signed-off-by: Josef Schlehofer Co-authored-by: Claude Fable 5 --- cjdns/Makefile | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/cjdns/Makefile b/cjdns/Makefile index c346eeb52..8fba91654 100644 --- a/cjdns/Makefile +++ b/cjdns/Makefile @@ -32,13 +32,13 @@ PKG_LICENSE_FILES:=LICENSE include $(INCLUDE_DIR)/package.mk define Package/cjdns - SECTION:=net - CATEGORY:=Network - SUBMENU:=Routing and Redirection - TITLE:=Encrypted near-zero-conf mesh routing protocol - URL:=https://github.com/cjdelisle/cjdns - DEPENDS:=@!arc @IPV6 +kmod-tun +libnl-tiny +libpthread +librt \ - +libuci-lua +lua-bencode +dkjson +luasocket +lua-sha2 + SECTION:=net + CATEGORY:=Network + SUBMENU:=Routing and Redirection + TITLE:=Encrypted near-zero-conf mesh routing protocol + URL:=https://github.com/cjdelisle/cjdns + DEPENDS:=@!arc @IPV6 +kmod-tun +libnl-tiny +libpthread +librt \ + +libuci-lua +lua-bencode +dkjson +luasocket +lua-sha2 endef define Package/cjdns/description @@ -49,12 +49,12 @@ define Package/cjdns/description endef define Package/cjdns-tests - SECTION:=net - CATEGORY:=Network - SUBMENU:=Routing and Redirection - TITLE:=cjdns test cases - URL:=https://github.com/cjdelisle/cjdns - DEPENDS:=+libpthread +librt @!arc + SECTION:=net + CATEGORY:=Network + SUBMENU:=Routing and Redirection + TITLE:=cjdns test cases + URL:=https://github.com/cjdelisle/cjdns + DEPENDS:=+libpthread +librt @!arc endef define Package/cjdns-test/description From cad991ace26af17782919abb420206f5f035b331 Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Thu, 6 Aug 2026 09:32:36 +0200 Subject: [PATCH 2/4] cjdns: fix version reporting of binaries The build system consumes the CJDNS_RELEASE_VERSION environment variable and compiles it into the binaries as CJD_PACKAGE_VERSION. The Makefile passed PKG_SOURCE_VERSION, which is never defined for this package as it is built from a release tarball, so cjdroute reported "Cjdns version: unknown". Pass PKG_VERSION instead, so `cjdroute --version` reports the packaged release version. This also makes the version check of the CI runtime tests pass. Signed-off-by: Josef Schlehofer Co-authored-by: Claude Fable 5 --- cjdns/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cjdns/Makefile b/cjdns/Makefile index 8fba91654..85dd98246 100644 --- a/cjdns/Makefile +++ b/cjdns/Makefile @@ -18,7 +18,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=cjdns PKG_VERSION:=21.1 -PKG_RELEASE:=6 +PKG_RELEASE:=7 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/cjdelisle/cjdns/tar.gz/$(PKG_NAME)-v$(PKG_VERSION)? @@ -64,7 +64,7 @@ endef define Build/Configure endef -PKG_DO_VARS:=CJDNS_RELEASE_VERSION=$(PKG_SOURCE_VERSION) +PKG_DO_VARS:=CJDNS_RELEASE_VERSION=$(PKG_VERSION) ifneq ($(CONFIG_KERNEL_SECCOMP_FILTER),y) PKG_DO_VARS+= Seccomp_NO=1 From 05f44132d321c6f3a4e645aba94ceba3649dc73a Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Thu, 6 Aug 2026 09:59:21 +0200 Subject: [PATCH 3/4] cjdns: mark as broken on riscv64 The bundled cnacl build system has no premade build plan for riscv64 and aborts with "build with no premade plan, TODO: generate one", which makes every CI run for this architecture fail: Error: build with no premade plan, TODO: generate one at getPlan (.../cnacl/node_build/make.js:77:11) Disable the package for riscv64 until upstream gains support for this architecture. Signed-off-by: Josef Schlehofer Co-authored-by: Claude Fable 5 --- cjdns/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cjdns/Makefile b/cjdns/Makefile index 85dd98246..3638b46f7 100644 --- a/cjdns/Makefile +++ b/cjdns/Makefile @@ -37,7 +37,7 @@ define Package/cjdns SUBMENU:=Routing and Redirection TITLE:=Encrypted near-zero-conf mesh routing protocol URL:=https://github.com/cjdelisle/cjdns - DEPENDS:=@!arc @IPV6 +kmod-tun +libnl-tiny +libpthread +librt \ + DEPENDS:=@!arc @!riscv64 @IPV6 +kmod-tun +libnl-tiny +libpthread +librt \ +libuci-lua +lua-bencode +dkjson +luasocket +lua-sha2 endef @@ -54,7 +54,7 @@ define Package/cjdns-tests SUBMENU:=Routing and Redirection TITLE:=cjdns test cases URL:=https://github.com/cjdelisle/cjdns - DEPENDS:=+libpthread +librt @!arc + DEPENDS:=+libpthread +librt @!arc @!riscv64 endef define Package/cjdns-test/description From 7b47b49d75e40d9ba48ab6f015d82cc3d1a8643b Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Thu, 6 Aug 2026 09:33:10 +0200 Subject: [PATCH 4/4] cjdns: add test-version.sh for CI runtime tests The generic version check of the CI runtime tests requires at least one executable of a package to report PKG_VERSION. The helper tools cjdrouteconf and publictoip6 do not provide version information and the test binary shipped in cjdns-tests does not either, so the check failed for both packages: cjdns-tests: No executables in the package provided version 21.1 Override the generic version check. cjdroute cannot be executed in the test container on all targets: on the emulated i386 and arm targets it crashes with SIGSEGV before printing anything, which predates this commit and also affected the generic check. Verify the version compiled into the binary instead, which is exactly what `cjdroute --version` would report, and skip the check for cjdns-tests. Signed-off-by: Josef Schlehofer Co-authored-by: Claude Fable 5 --- cjdns/test-version.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 cjdns/test-version.sh diff --git a/cjdns/test-version.sh b/cjdns/test-version.sh new file mode 100644 index 000000000..e7de4f753 --- /dev/null +++ b/cjdns/test-version.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +# shellcheck shell=busybox + +case "$PKG_NAME" in +cjdns) + # cjdroute crashes on some of the emulated CI targets (i386 and + # arm) long before it prints anything, so it cannot be executed + # here. Check that the packaged version is the one compiled into + # the binary, which is what `cjdroute --version` reports. + strings /usr/sbin/cjdroute | grep -F "$PKG_VERSION" + ;; + +cjdns-tests) + # The test binary does not provide version information + exit 0 + ;; + +*) + echo "Untested package: $PKG_NAME" >&2 + exit 1 + ;; +esac