From 207c5a8d677c56768e30cab32b038d5a4f2b78ba Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Thu, 6 Aug 2026 09:44:30 +0200 Subject: [PATCH 1/5] bmx7: clean up Makefile - Remove GIT_REV="$(PKG_REV)" from MAKE_ARGS. PKG_REV is not defined anywhere, so an empty value was passed, and the bmx7 build system does not consume a GIT_REV make variable at all (the GIT_REV macro is a C define with a built-in fallback). - Do not create empty /etc/config and /etc/init.d directories in the bmx7 package. Both files installed there belong to the bmx7-uci-config package, which creates the directories itself. Signed-off-by: Josef Schlehofer Co-authored-by: Claude Fable 5 --- bmx7/Makefile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/bmx7/Makefile b/bmx7/Makefile index b560d520e..7f292fddd 100644 --- a/bmx7/Makefile +++ b/bmx7/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=bmx7 PKG_VERSION:=2024.06.11 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz @@ -30,7 +30,6 @@ MAKE_ARGS += EXTRA_CFLAGS="$(TARGET_CFLAGS) \ -DBMX7_LIB_IWINFO" \ EXTRA_LDFLAGS="$(TARGET_LDFLAGS) \ -L$(STAGING_DIR)/usr/lib -liwinfo" \ - GIT_REV="$(PKG_REV)" \ CC="$(TARGET_CC)" \ INSTALL_DIR="$(PKG_INSTALL_DIR)" \ build_all @@ -98,7 +97,7 @@ define Package/bmx7-table endef define Package/bmx7/install - $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d + $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(MAKE_PATH)/bmx7 $(1)/usr/sbin/bmx7 endef From d5bf0be771d466e03ff56a06de1dc76a91b40756 Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Thu, 6 Aug 2026 09:44:30 +0200 Subject: [PATCH 2/5] bmx7: add test-version.sh for CI runtime tests The package version is derived from PKG_SOURCE_DATE (e.g. 2024.06.11), which the bmx7 binary does not report, so the generic version check of the CI runtime tests always fails for the bmx7 package. Skip the version check: `bmx7 -v` is not suitable for CI, because it first generates the node RSA-2048 key, which can take a very long time on emulated architectures. The plugin packages ship libraries only and provide no version information either. Signed-off-by: Josef Schlehofer Co-authored-by: Claude Fable 5 --- bmx7/test-version.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 bmx7/test-version.sh diff --git a/bmx7/test-version.sh b/bmx7/test-version.sh new file mode 100644 index 000000000..5651bd797 --- /dev/null +++ b/bmx7/test-version.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +# shellcheck shell=busybox + +case "$PKG_NAME" in +bmx7) + # The version of bmx7 is derived from the source date, which the + # binary does not report. Running `bmx7 -v` is not suitable for + # CI either, as it first generates the node RSA key, which can + # take a very long time on emulated architectures. + exit 0 + ;; + +bmx7-*) + # Plugins are libraries and do not provide version information + exit 0 + ;; + +*) + echo "Untested package: $PKG_NAME" >&2 + exit 1 + ;; +esac From 6e1e58746e5f6c807bcc0e645187a0634fb04764 Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Thu, 6 Aug 2026 14:14:06 +0200 Subject: [PATCH 3/5] bmx7: correct the reason recorded in test-version.sh The comment said running `bmx7 -v` generates the node RSA key without saying why, and claimed it takes a very long time on emulated architectures, which was never measured. The mechanism is in the option ordering: struct opt_type carries an order field which "enforces an order during the init process", and apply_init_args() applies every option with a lower order before the one being processed. ARG_KEY_PATH has order 4 and ARG_VERSION has order 9, so opt_key_path() runs first, and while initializing it creates a DEF_NODE_RSA_TX_TYPE (RSA2048) key whenever the key file is missing. bmx7 itself warns "Creating %s private key. This can take a while..." at that point. Record that instead of the unmeasured claim. Signed-off-by: Josef Schlehofer Co-authored-by: Claude Fable 5 --- bmx7/test-version.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/bmx7/test-version.sh b/bmx7/test-version.sh index 5651bd797..9d2784b08 100644 --- a/bmx7/test-version.sh +++ b/bmx7/test-version.sh @@ -5,9 +5,10 @@ case "$PKG_NAME" in bmx7) # The version of bmx7 is derived from the source date, which the - # binary does not report. Running `bmx7 -v` is not suitable for - # CI either, as it first generates the node RSA key, which can - # take a very long time on emulated architectures. + # binary does not report. `bmx7 -v` is not an alternative: the + # key path option is applied before the version option, so a + # missing node key gets generated first - "Creating RSA2048 + # private key. This can take a while", as bmx7 puts it. exit 0 ;; From e42b19921b21a70776324d3b4e6624b4b7c6cb90 Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Thu, 6 Aug 2026 14:31:03 +0200 Subject: [PATCH 4/5] bmx7: add the trailing slash to the /etc/bmx7 conffiles entry /etc/bmx7 is a directory, so its conffiles entry has to carry a trailing slash to match the documented convention. The path is not part of the package payload - the install recipe only creates /usr/lib, /etc/config and /etc/init.d - so it is handled through /lib/upgrade/keep.d, where sysupgrade walks it recursively and both spellings behave the same. This is a formatting fix, not a behaviour change. Signed-off-by: Josef Schlehofer Co-authored-by: Claude Fable 5 --- bmx7/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bmx7/Makefile b/bmx7/Makefile index 7f292fddd..8fe78b54a 100644 --- a/bmx7/Makefile +++ b/bmx7/Makefile @@ -107,7 +107,7 @@ endef define Package/bmx7-uci-config/conffiles /etc/config/bmx7 -/etc/bmx7 +/etc/bmx7/ endef define Package/bmx7-uci-config/install From 9f993838021581ae74dc622c5840138b88236ab6 Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Thu, 6 Aug 2026 14:31:03 +0200 Subject: [PATCH 5/5] bmx7: build in parallel PKG_BUILD_PARALLEL:=1 had no effect: the custom Build/Compile calls $(MAKE) without $(PKG_JOBS) and without the '+' jobserver prefix, both of which Build/Compile/Default passes. Add them, so the flag actually takes effect. Signed-off-by: Josef Schlehofer Co-authored-by: Claude Fable 5 --- bmx7/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bmx7/Makefile b/bmx7/Makefile index 8fe78b54a..3d46148aa 100644 --- a/bmx7/Makefile +++ b/bmx7/Makefile @@ -102,7 +102,7 @@ define Package/bmx7/install endef define Build/Compile - $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) $(MAKE_ARGS) + +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) $(MAKE_ARGS) endef define Package/bmx7-uci-config/conffiles