diff --git a/.github/workflows/build-module.yml b/.github/workflows/build-module.yml index 78a5f6c..7a30d2e 100644 --- a/.github/workflows/build-module.yml +++ b/.github/workflows/build-module.yml @@ -127,35 +127,34 @@ jobs: - name: Setup SDK and feeds run: | + # Find SDK directory SDK_DIR=$(find . -maxdepth 1 -name "openwrt-sdk-*" -type d | head -n1) - [ -z "$SDK_DIR" ] && echo "SDK directory not found" && exit 1 - + + if [ -z "$SDK_DIR" ]; then + echo "SDK directory not found" + exit 1 + fi + + # Get absolute paths WORKSPACE_DIR=$(pwd) + cd "$SDK_DIR" - - # Remove unstable feeds - sed -i '/telephony/d' feeds.conf.default - sed -i '/routing/d' feeds.conf.default - - # Update only required feeds - ./scripts/feeds update base packages luci - ./scripts/feeds install -p base - ./scripts/feeds install -p packages - ./scripts/feeds install -p luci - - # Copy packages + + # Update feeds to include LuCI + ./scripts/feeds update -a + ./scripts/feeds install -a + + # Copy current repository packages directly to package directory cp -r "$WORKSPACE_DIR/kmod-amneziawg" package/ cp -r "$WORKSPACE_DIR/amneziawg-tools" package/ cp -r "$WORKSPACE_DIR/luci-proto-amneziawg" package/ - - # Config - cat > .config < .config + echo "CONFIG_PACKAGE_amneziawg-tools=y" >> .config + echo "CONFIG_PACKAGE_luci-proto-amneziawg=y" >> .config + echo "CONFIG_PACKAGE_luci-i18n-amneziawg-ru=y" >> .config + make defconfig - name: Build AmneziaWG packages diff --git a/kmod-amneziawg/patches/001-fix-stats-compat.patch b/kmod-amneziawg/patches/001-fix-stats-compat.patch new file mode 100644 index 0000000..73c8d31 --- /dev/null +++ b/kmod-amneziawg/patches/001-fix-stats-compat.patch @@ -0,0 +1,12 @@ +--- a/src/device.c ++++ b/src/device.c +@@ -246,9 +246,7 @@ static const struct net_device_ops netd + .ndo_open = wg_open, + .ndo_stop = wg_stop, + .ndo_start_xmit = wg_xmit, +-#ifndef COMPAT_CANNOT_USE_PCPU_STAT_TYPE + .ndo_get_stats64 = dev_get_tstats64 +-#endif + }; + + static void wg_destruct(struct net_device *dev)