fix(packages): add PKG_ARCH:=all and resolve build conflicts

- Add PKG_ARCH:=all to all 29 SecuBox packages for architecture independence
- Fix secubox-core: remove /var directory creation (conflicts with OpenWRT symlink)
- Fix luci-app-secubox: remove PKG_FILE_MODES causing build errors
- Refactor luci-app-network-tweaks: migrate files/ to root/ structure
- Set correct permissions on fix-permissions.sh (755)

Fixes:
- secubox-core now builds successfully (no /var conflict)
- luci-app-secubox installs without file conflicts
- All packages properly marked as architecture-independent

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
CyberMind-FR 2026-01-02 07:45:37 +01:00
parent f5c98d90a3
commit 4325197e35
37 changed files with 44 additions and 7 deletions

View File

@ -11,14 +11,12 @@ LUCI_DESCRIPTION:=Central control hub for all SecuBox modules. Provides unified
LUCI_DEPENDS:=+luci-base +rpcd +curl +jq +secubox-core
LUCI_PKGARCH:=all
# File permissions (CRITICAL: Helper scripts MUST be executable 755)
# Format: path:owner:group:mode
# - Helper scripts: 755 (if executable)
# File permissions
# - Helper scripts: 755 (set in source root/ directory)
# - Data files: 644 (readable by all - INSTALL_DATA sets this automatically)
# - Directories: 755 (set automatically by INSTALL_DIR)
# - CSS/JS files: 644 (set automatically by luci.mk)
# Note: RPCD backend is now provided by secubox-core package
PKG_FILE_MODES:=/usr/libexec/secubox/fix-permissions.sh:root:root:755
include $(TOPDIR)/feeds/luci/luci.mk

View File

View File

@ -3,6 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-auth-guardian
PKG_VERSION:=0.4.0
PKG_RELEASE:=1
PKG_ARCH:=all
PKG_LICENSE:=MIT
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -3,6 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-bandwidth-manager
PKG_VERSION:=0.4.0
PKG_RELEASE:=1
PKG_ARCH:=all
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -3,6 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-cdn-cache
PKG_VERSION:=0.5.0
PKG_RELEASE:=1
PKG_ARCH:=all
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -10,6 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-client-guardian
PKG_VERSION:=0.4.0
PKG_RELEASE:=1
PKG_ARCH:=all
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -10,6 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-crowdsec-dashboard
PKG_VERSION:=0.5.0
PKG_RELEASE:=1
PKG_ARCH:=all
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -6,6 +6,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-ksm-manager
PKG_VERSION:=0.4.0
PKG_RELEASE:=1
PKG_ARCH:=all
LUCI_TITLE:=LuCI support for Key Storage Manager
LUCI_DEPENDS:=+luci-base +rpcd +libubus +libubox +openssl-util +gnupg2 +nitropy +yubikey-manager +opensc +libccid +pcscd +kmod-usb-core +kmod-usb2 +kmod-usb3

View File

@ -6,6 +6,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-magicmirror
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_ARCH:=all
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -6,6 +6,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-media-flow
PKG_VERSION:=0.4.0
PKG_RELEASE:=1
PKG_ARCH:=all
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -3,6 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-mqtt-bridge
PKG_VERSION:=0.4.0
PKG_RELEASE:=2
PKG_ARCH:=all
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -10,6 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-netdata-dashboard
PKG_VERSION:=0.5.0
PKG_RELEASE:=1
PKG_ARCH:=all
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -10,6 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-netifyd-dashboard
PKG_VERSION:=0.4.0
PKG_RELEASE:=1
PKG_ARCH:=all
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -10,6 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-network-modes
PKG_VERSION:=0.5.0
PKG_RELEASE:=1
PKG_ARCH:=all
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -6,6 +6,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-network-tweaks
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_ARCH:=all
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -3,6 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-secubox-bonus
PKG_VERSION:=0.1.0
PKG_RELEASE:=1
PKG_ARCH:=all
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -3,6 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-system-hub
PKG_VERSION:=0.5.1
PKG_RELEASE:=3
PKG_ARCH:=all
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -3,6 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-traffic-shaper
PKG_VERSION:=0.4.0
PKG_RELEASE:=1
PKG_ARCH:=all
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -6,6 +6,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-vhost-manager
PKG_VERSION:=0.5.0
PKG_RELEASE:=4
PKG_ARCH:=all
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -10,6 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-wireguard-dashboard
PKG_VERSION:=0.4.0
PKG_RELEASE:=1
PKG_ARCH:=all
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -3,6 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-zigbee2mqtt
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_ARCH:=all
LUCI_TITLE:=LuCI Support for SecuBox Zigbee2MQTT App
LUCI_DESCRIPTION:=Graphical interface for managing the Zigbee2MQTT docker application.

View File

@ -3,6 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=secubox-app-adguardhome
PKG_RELEASE:=1
PKG_VERSION:=1.0.0
PKG_ARCH:=all
PKG_MAINTAINER:=CyberMind Studio <contact@cybermind.fr>
PKG_LICENSE:=Apache-2.0

View File

@ -8,6 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=crowdsec
PKG_VERSION:=1.7.4
PKG_RELEASE:=1
PKG_ARCH:=all
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/crowdsecurity/crowdsec/tar.gz/v$(PKG_VERSION)?

View File

@ -3,6 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=secubox-app-domoticz
PKG_RELEASE:=1
PKG_VERSION:=1.0.0
PKG_ARCH:=all
PKG_MAINTAINER:=CyberMind Studio <contact@cybermind.fr>
PKG_LICENSE:=Apache-2.0

View File

@ -3,6 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=secubox-app-lyrion
PKG_RELEASE:=1
PKG_VERSION:=1.0.0
PKG_ARCH:=all
PKG_MAINTAINER:=CyberMind Studio <contact@cybermind.fr>
PKG_LICENSE:=Apache-2.0

View File

@ -3,6 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=secubox-app-magicmirror
PKG_RELEASE:=1
PKG_VERSION:=1.0.0
PKG_ARCH:=all
PKG_MAINTAINER:=CyberMind Studio <contact@cybermind.fr>
PKG_LICENSE:=Apache-2.0

View File

@ -3,6 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=secubox-app-nextcloud
PKG_RELEASE:=1
PKG_VERSION:=1.0.0
PKG_ARCH:=all
PKG_MAINTAINER:=CyberMind Studio <contact@cybermind.fr>
PKG_LICENSE:=Apache-2.0

View File

@ -3,6 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=secubox-app-nodogsplash
PKG_VERSION:=5.0.2
PKG_RELEASE:=1
PKG_ARCH:=all
PKG_SOURCE:=nodogsplash-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/nodogsplash/nodogsplash/archive/refs/tags

View File

@ -3,6 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=secubox-app-zigbee2mqtt
PKG_RELEASE:=2
PKG_VERSION:=1.0.0
PKG_ARCH:=all
PKG_MAINTAINER:=CyberMind Studio <contact@cybermind.fr>
PKG_LICENSE:=Apache-2.0

View File

@ -3,6 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=secubox-app
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_ARCH:=all
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)

View File

@ -7,6 +7,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=secubox-core
PKG_VERSION:=0.8.0
PKG_RELEASE:=3
PKG_ARCH:=all
PKG_LICENSE:=GPL-2.0
PKG_MAINTAINER:=SecuBox Team
@ -83,9 +84,6 @@ define Package/secubox-core/install
# Install individual module catalog files
-$(INSTALL_DATA) ./root/usr/share/secubox/plugins/catalog/*.json $(1)/usr/share/secubox/plugins/catalog/ 2>/dev/null || true
$(INSTALL_DIR) $(1)/var/run/secubox
$(INSTALL_DIR) $(1)/var/log/secubox
endef
define Package/secubox-core/postinst

View File

@ -89,6 +89,9 @@ case "$1" in
json_add_object "get_appstore_apps"
json_close_object
json_add_object "list_apps"
json_close_object
json_add_object "get_appstore_app"
json_add_string "app_id" "string"
json_close_object
@ -358,6 +361,16 @@ case "$1" in
fi
;;
list_apps)
# Alias for get_appstore_apps - returns apps from main catalog
CATALOG_FILE="/usr/share/secubox/catalog.json"
if [ -f "$CATALOG_FILE" ]; then
jq '{apps: .plugins, categories: .categories}' "$CATALOG_FILE"
else
echo '{"apps":[],"categories":{}}'
fi
;;
get_appstore_app)
# Get single app details from catalog
read -r input