yes
This commit is contained in:
parent
295f08a62d
commit
392f87ecbd
125
.github/workflows/build-openwrt-packages.yml
vendored
125
.github/workflows/build-openwrt-packages.yml
vendored
@ -16,19 +16,37 @@ on:
|
|||||||
options:
|
options:
|
||||||
- ''
|
- ''
|
||||||
- 'luci-app-secubox'
|
- 'luci-app-secubox'
|
||||||
|
- 'luci-app-secubox-admin'
|
||||||
|
- 'luci-app-secubox-bonus'
|
||||||
- 'luci-app-crowdsec-dashboard'
|
- 'luci-app-crowdsec-dashboard'
|
||||||
- 'luci-app-netdata-dashboard'
|
- 'luci-app-netdata-dashboard'
|
||||||
- 'luci-app-netifyd-dashboard'
|
- 'luci-app-netifyd-dashboard'
|
||||||
|
- 'luci-app-traffic-shaper'
|
||||||
- 'luci-app-wireguard-dashboard'
|
- 'luci-app-wireguard-dashboard'
|
||||||
- 'luci-app-network-modes'
|
- 'luci-app-network-modes'
|
||||||
|
- 'luci-app-network-tweaks'
|
||||||
- 'luci-app-client-guardian'
|
- 'luci-app-client-guardian'
|
||||||
- 'luci-app-system-hub'
|
- 'luci-app-system-hub'
|
||||||
|
- 'luci-app-ksm-manager'
|
||||||
- 'luci-app-bandwidth-manager'
|
- 'luci-app-bandwidth-manager'
|
||||||
- 'luci-app-auth-guardian'
|
- 'luci-app-auth-guardian'
|
||||||
- 'luci-app-media-flow'
|
- 'luci-app-media-flow'
|
||||||
- 'luci-app-vhost-manager'
|
- 'luci-app-vhost-manager'
|
||||||
- 'luci-app-cdn-cache'
|
- 'luci-app-cdn-cache'
|
||||||
|
- 'luci-app-magicmirror'
|
||||||
|
- 'luci-app-mqtt-bridge'
|
||||||
|
- 'luci-app-zigbee2mqtt'
|
||||||
- 'secubox-app'
|
- 'secubox-app'
|
||||||
|
- 'secubox-core'
|
||||||
|
- 'secubox-app-adguardhome'
|
||||||
|
- 'secubox-app-crowdsec'
|
||||||
|
- 'secubox-app-domoticz'
|
||||||
|
- 'secubox-app-lyrion'
|
||||||
|
- 'secubox-app-magicmirror'
|
||||||
|
- 'secubox-app-mailinabox'
|
||||||
|
- 'secubox-app-nextcloud'
|
||||||
|
- 'secubox-app-nodogsplash'
|
||||||
|
- 'secubox-app-zigbee2mqtt'
|
||||||
- 'luci-theme-secubox'
|
- 'luci-theme-secubox'
|
||||||
openwrt_version:
|
openwrt_version:
|
||||||
description: 'OpenWrt version'
|
description: 'OpenWrt version'
|
||||||
@ -44,7 +62,7 @@ on:
|
|||||||
architectures:
|
architectures:
|
||||||
description: 'Architectures (comma-separated or "all")'
|
description: 'Architectures (comma-separated or "all")'
|
||||||
required: false
|
required: false
|
||||||
default: 'x86-64'
|
default: 'arch_all'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
OPENWRT_VERSION: ${{ github.event.inputs.openwrt_version || '24.10.5' }}
|
OPENWRT_VERSION: ${{ github.event.inputs.openwrt_version || '24.10.5' }}
|
||||||
@ -151,7 +169,7 @@ jobs:
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
INPUT_ARCHS="${{ github.event.inputs.architectures }}"
|
INPUT_ARCHS="${{ github.event.inputs.architectures }}"
|
||||||
if [[ -z "$INPUT_ARCHS" || "$INPUT_ARCHS" == "all" ]]; then
|
if [[ -z "$INPUT_ARCHS" || "$INPUT_ARCHS" == "all" || "$INPUT_ARCHS" == "arch_all" ]]; then
|
||||||
MATRIX=$(cat /tmp/matrix.json)
|
MATRIX=$(cat /tmp/matrix.json)
|
||||||
else
|
else
|
||||||
MATRIX=$(jq -c --arg archs "$INPUT_ARCHS" '
|
MATRIX=$(jq -c --arg archs "$INPUT_ARCHS" '
|
||||||
@ -383,75 +401,78 @@ jobs:
|
|||||||
VERSION="${{ needs.setup.outputs.version }}"
|
VERSION="${{ needs.setup.outputs.version }}"
|
||||||
PACKAGE_NAME="${{ github.event.inputs.package_name }}"
|
PACKAGE_NAME="${{ github.event.inputs.package_name }}"
|
||||||
|
|
||||||
|
copy_package() {
|
||||||
|
local src="$1"
|
||||||
|
local base dest
|
||||||
|
base=$(basename "$src")
|
||||||
|
|
||||||
|
if [[ "$src" == package/secubox/* ]]; then
|
||||||
|
dest="sdk/package/secubox/$base"
|
||||||
|
mkdir -p "$(dirname "$dest")"
|
||||||
|
else
|
||||||
|
dest="sdk/package/$base"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo " 📁 $base (from $src)"
|
||||||
|
rm -rf "$dest"
|
||||||
|
cp -r "$src" "$dest"
|
||||||
|
|
||||||
|
if grep -q 'PKG_VERSION:=' "$dest/Makefile"; then
|
||||||
|
sed -i "s/PKG_VERSION:=.*/PKG_VERSION:=$VERSION/" "$dest/Makefile"
|
||||||
|
fi
|
||||||
|
if grep -q 'PKG_RELEASE:=' "$dest/Makefile"; then
|
||||||
|
sed -i "s/PKG_RELEASE:=.*/PKG_RELEASE:=1/" "$dest/Makefile"
|
||||||
|
fi
|
||||||
|
if grep -q 'luci\.mk' "$dest/Makefile"; then
|
||||||
|
sed -i 's|include.*luci\.mk|include $(TOPDIR)/feeds/luci/luci.mk|' "$dest/Makefile"
|
||||||
|
echo " ✓ Fixed Makefile include path"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
find_package_dir() {
|
||||||
|
local name="$1"
|
||||||
|
if [[ -d "$name" && -f "$name/Makefile" ]]; then
|
||||||
|
echo "$name"
|
||||||
|
elif [[ -d "package/secubox/$name" && -f "package/secubox/$name/Makefile" ]]; then
|
||||||
|
echo "package/secubox/$name"
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
if [[ -n "$PACKAGE_NAME" ]]; then
|
if [[ -n "$PACKAGE_NAME" ]]; then
|
||||||
echo "📦 Copying single package: $PACKAGE_NAME (version: $VERSION)..."
|
echo "📦 Copying single package: $PACKAGE_NAME (version: $VERSION)..."
|
||||||
|
|
||||||
if [[ -d "$PACKAGE_NAME" && -f "${PACKAGE_NAME}/Makefile" ]]; then
|
PKG_DIR=$(find_package_dir "$PACKAGE_NAME")
|
||||||
echo " 📁 $PACKAGE_NAME"
|
if [[ -z "$PKG_DIR" ]]; then
|
||||||
cp -r "$PACKAGE_NAME" sdk/package/
|
|
||||||
|
|
||||||
# Update version
|
|
||||||
sed -i "s/PKG_VERSION:=.*/PKG_VERSION:=$VERSION/" "sdk/package/${PACKAGE_NAME}/Makefile"
|
|
||||||
sed -i "s/PKG_RELEASE:=.*/PKG_RELEASE:=1/" "sdk/package/${PACKAGE_NAME}/Makefile"
|
|
||||||
|
|
||||||
# Fix Makefile include path for SDK environment
|
|
||||||
# Change from ../../luci.mk to $(TOPDIR)/feeds/luci/luci.mk
|
|
||||||
sed -i 's|include.*luci\.mk|include $(TOPDIR)/feeds/luci/luci.mk|' "sdk/package/${PACKAGE_NAME}/Makefile"
|
|
||||||
echo " ✓ Fixed Makefile include path"
|
|
||||||
else
|
|
||||||
echo "❌ Package $PACKAGE_NAME not found or missing Makefile"
|
echo "❌ Package $PACKAGE_NAME not found or missing Makefile"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
copy_package "$PKG_DIR"
|
||||||
else
|
else
|
||||||
echo "📦 Copying all packages (version: $VERSION)..."
|
echo "📦 Copying all packages (version: $VERSION)..."
|
||||||
|
|
||||||
for pkg in luci-app-*/; do
|
for pkg in luci-app-*/; do
|
||||||
if [[ -d "$pkg" && -f "${pkg}Makefile" ]]; then
|
if [[ -d "$pkg" && -f "${pkg}Makefile" ]]; then
|
||||||
PKG_NAME=$(basename "$pkg")
|
copy_package "$pkg"
|
||||||
echo " 📁 $PKG_NAME"
|
|
||||||
cp -r "$pkg" sdk/package/
|
|
||||||
|
|
||||||
# Update version
|
|
||||||
sed -i "s/PKG_VERSION:=.*/PKG_VERSION:=$VERSION/" "sdk/package/${PKG_NAME}/Makefile"
|
|
||||||
sed -i "s/PKG_RELEASE:=.*/PKG_RELEASE:=1/" "sdk/package/${PKG_NAME}/Makefile"
|
|
||||||
|
|
||||||
# Fix Makefile include path for SDK environment
|
|
||||||
# Change from ../../luci.mk to $(TOPDIR)/feeds/luci/luci.mk
|
|
||||||
sed -i 's|include.*luci\.mk|include $(TOPDIR)/feeds/luci/luci.mk|' "sdk/package/${PKG_NAME}/Makefile"
|
|
||||||
echo " ✓ Fixed Makefile include path"
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Copy secubox-app
|
for pkg in package/secubox/*/; do
|
||||||
if [[ -d "package/secubox/secubox-app" ]]; then
|
if [[ -d "$pkg" && -f "${pkg}/Makefile" ]]; then
|
||||||
echo " 📁 secubox-app"
|
copy_package "$pkg"
|
||||||
mkdir -p sdk/package/secubox
|
fi
|
||||||
cp -r package/secubox/secubox-app sdk/package/secubox/
|
done
|
||||||
|
|
||||||
# Update version
|
if [[ -d "luci-theme-secubox" && -f "luci-theme-secubox/Makefile" ]]; then
|
||||||
sed -i "s/PKG_VERSION:=.*/PKG_VERSION:=$VERSION/" "sdk/package/secubox/secubox-app/Makefile"
|
copy_package "luci-theme-secubox"
|
||||||
sed -i "s/PKG_RELEASE:=.*/PKG_RELEASE:=1/" "sdk/package/secubox/secubox-app/Makefile"
|
|
||||||
echo " ✓ Fixed version"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Copy luci-theme-secubox
|
|
||||||
if [[ -d "luci-theme-secubox" ]]; then
|
|
||||||
echo " 📁 luci-theme-secubox"
|
|
||||||
cp -r luci-theme-secubox sdk/package/
|
|
||||||
|
|
||||||
# Update version
|
|
||||||
sed -i "s/PKG_VERSION:=.*/PKG_VERSION:=$VERSION/" "sdk/package/luci-theme-secubox/Makefile"
|
|
||||||
sed -i "s/PKG_RELEASE:=.*/PKG_RELEASE:=1/" "sdk/package/luci-theme-secubox/Makefile"
|
|
||||||
|
|
||||||
# Fix Makefile include path for SDK environment
|
|
||||||
sed -i 's|include.*luci\.mk|include $(TOPDIR)/feeds/luci/luci.mk|' "sdk/package/luci-theme-secubox/Makefile"
|
|
||||||
echo " ✓ Fixed Makefile include path"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "📋 Packages in SDK:"
|
echo "📋 Packages in SDK:"
|
||||||
ls -d sdk/package/luci-app-*/ sdk/package/secubox/secubox-app/ sdk/package/luci-theme-secubox/ 2>/dev/null || echo "None"
|
ls -d sdk/package/luci-app-*/ sdk/package/secubox/*/ sdk/package/luci-theme-secubox/ 2>/dev/null || echo "None"
|
||||||
|
|
||||||
- name: Download pre-built LuCI dependencies
|
- name: Download pre-built LuCI dependencies
|
||||||
run: |
|
run: |
|
||||||
@ -894,7 +915,7 @@ jobs:
|
|||||||
body: |
|
body: |
|
||||||
## 📦 ${{ github.event.inputs.package_name && format('{0} Package', github.event.inputs.package_name) || 'SecuBox Packages' }} v${{ needs.setup.outputs.version }}
|
## 📦 ${{ github.event.inputs.package_name && format('{0} Package', github.event.inputs.package_name) || 'SecuBox Packages' }} v${{ needs.setup.outputs.version }}
|
||||||
|
|
||||||
Pre-built LuCI package${{ github.event.inputs.package_name && '' || 's' }} for OpenWrt ${{ env.OPENWRT_VERSION }}.
|
Pre-built OpenWrt package${{ github.event.inputs.package_name && '' || 's' }} for OpenWrt ${{ env.OPENWRT_VERSION }}.
|
||||||
|
|
||||||
${{ github.event.inputs.package_name && format('🎯 **Single package build**: {0}', github.event.inputs.package_name) || '' }}
|
${{ github.event.inputs.package_name && format('🎯 **Single package build**: {0}', github.event.inputs.package_name) || '' }}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user