Compare commits

..
6 Commits
Author SHA1 Message Date
remittor b24533aa31 build: Add support TRX-images 2026-01-23 12:05:29 +03:00
remittor cf361cee05 base: Add lscpu and bind-tools 2026-01-23 12:05:04 +03:00
remittor dfe28b48e2 xmake: Fix patches for podkop 2026-01-10 09:14:50 +03:00
remittor 4c16b18d55 Add support Asus TUF-AX4200q 2026-01-08 17:07:38 +03:00
remittor a906be818e Fix for use new directories 2026-01-08 17:03:37 +03:00
remittor fc841c5a6d config: Rename config files 2026-01-08 17:00:12 +03:00
25 changed files with 247 additions and 65 deletions

No files matched your search

+120 -26
View File
@@ -42,6 +42,14 @@ on:
options: options:
- true - true
- false - false
trx_build:
description: 'TRX images build'
required: true
default: 'false'
type: choice
options:
- true
- false
suffix: suffix:
description: 'TAG suffix' description: 'TAG suffix'
required: false required: false
@@ -50,7 +58,6 @@ on:
env: env:
TEST_BUILD: ${{ github.event.inputs.test_build == 'true' }} TEST_BUILD: ${{ github.event.inputs.test_build == 'true' }}
FAKE_BUILD: ${{ github.event.inputs.fake_build == 'true' }}
TAG_SUFFIX: ${{ github.event.inputs.fake_build == 'true' && '-fake' || github.event.inputs.test_build == 'true' && '-test' || '' }} TAG_SUFFIX: ${{ github.event.inputs.fake_build == 'true' && '-fake' || github.event.inputs.test_build == 'true' && '-test' || '' }}
TARGET_NAME: ${{ github.event.inputs.target_name }} TARGET_NAME: ${{ github.event.inputs.target_name }}
G_PKG_DIR: ${{ github.event.inputs.package_dir }} G_PKG_DIR: ${{ github.event.inputs.package_dir }}
@@ -157,8 +164,9 @@ jobs:
- rt-ax57m - rt-ax57m
- rt-ax59u - rt-ax59u
- rt-ax89x - rt-ax89x
- tuf_ax4200 - tuf-ax4200
- tuf_ax6000 - tuf-ax4200q
- tuf-ax6000
- zen-bt8 - zen-bt8
isTest: isTest:
- ${{ needs.check.outputs.test_build == 'true' }} - ${{ needs.check.outputs.test_build == 'true' }}
@@ -203,6 +211,31 @@ jobs:
- name: Checkout builder - name: Checkout builder
uses: actions/checkout@main uses: actions/checkout@main
- name: Prepare env params
env:
INP_FAKE_BUILD: ${{ github.event.inputs.fake_build == 'true' }}
INP_TRX_BUILD: ${{ github.event.inputs.trx_build == 'true' }}
TARGET: ${{ matrix.target }}
run: |
FAKE_BUILD=$INP_FAKE_BUILD
TRX_BUILD=false
if [ "$INP_TRX_BUILD" = true ]; then
CFG="./_initramfs/$TARGET.config"
if [ -f "$CFG" ]; then
TRX_BUILD=true
echo "Start TRX build for $CFG"
echo "OPT_INITRAMFS=-i" >> $GITHUB_ENV
else
FAKE_BUILD=true
echo "Start FAKE build for $TARGET"
echo "SKIP_ME=true" >> $GITHUB_ENV
fi
fi
echo "FAKE_BUILD = $FAKE_BUILD"
echo "TRX_BUILD = $TRX_BUILD"
echo "FAKE_BUILD=$FAKE_BUILD" >> $GITHUB_ENV
echo "TRX_BUILD=$TRX_BUILD" >> $GITHUB_ENV
- name: Download OpenWrt sources - name: Download OpenWrt sources
run: | run: |
git clone --branch $REPO_BRANCH $REPO_URL.git openwrt git clone --branch $REPO_BRANCH $REPO_URL.git openwrt
@@ -291,7 +324,7 @@ jobs:
TARGET: ${{ matrix.target }} TARGET: ${{ matrix.target }}
FW_VER: ${{ needs.check.outputs.fw_ver }} FW_VER: ${{ needs.check.outputs.fw_ver }}
run: | run: |
./xmake.sh -I -t $TARGET ./xmake.sh $OPT_INITRAMFS -I -t $TARGET
G_DEVICE_NAME=$( grep -so '^CONFIG_TARGET.*DEVICE.*=y' .config | sed -r 's/.*DEVICE_(.*)=y/\1/' ) G_DEVICE_NAME=$( grep -so '^CONFIG_TARGET.*DEVICE.*=y' .config | sed -r 's/.*DEVICE_(.*)=y/\1/' )
[ -z "$G_DEVICE_NAME" ] && exit 31 [ -z "$G_DEVICE_NAME" ] && exit 31
G_BOARD_NAME=$( grep -so '^CONFIG_TARGET_BOARD=.*' .config | cut -d'"' -f2 ) G_BOARD_NAME=$( grep -so '^CONFIG_TARGET_BOARD=.*' .config | cut -d'"' -f2 )
@@ -337,7 +370,7 @@ jobs:
- name: Download sources (dl) - name: Download sources (dl)
id: download id: download
if: ${{ steps.configure.outputs.status == 'success' && github.event.inputs.fake_build != 'true' }} if: ${{ steps.configure.outputs.status == 'success' && env.FAKE_BUILD != 'true' }}
run: | run: |
make -j$(nproc) download make -j$(nproc) download
echo "status=success" >> $GITHUB_OUTPUT echo "status=success" >> $GITHUB_OUTPUT
@@ -354,7 +387,7 @@ jobs:
- name: Build tools and toolchain - name: Build tools and toolchain
id: tools id: tools
if: ${{ steps.configure.outputs.status == 'success' && github.event.inputs.fake_build != 'true' }} if: ${{ steps.configure.outputs.status == 'success' && env.FAKE_BUILD != 'true' }}
run: | run: |
make toolchain/install -j$(nproc) make toolchain/install -j$(nproc)
echo "status=success" >> $GITHUB_OUTPUT echo "status=success" >> $GITHUB_OUTPUT
@@ -376,14 +409,14 @@ jobs:
TARGET: ${{ matrix.target }} TARGET: ${{ matrix.target }}
run: | run: |
make clean make clean
./xmake.sh -I -t $TARGET ./xmake.sh $OPT_INITRAMFS -I -t $TARGET
mkdir -p logs mkdir -p logs
cp -f .config logs/config2 cp -f .config logs/config2
[ -f config1 ] && cp -f config1 logs/config1 [ -f config1 ] && cp -f config1 logs/config1
- name: Kernel compile - name: Kernel compile
id: kernel id: kernel
if: ${{ steps.tools.outputs.status == 'success' && github.event.inputs.fake_build != 'true' }} if: ${{ steps.tools.outputs.status == 'success' && env.FAKE_BUILD != 'true' }}
run: | run: |
make target/linux/compile -j$(nproc) make target/linux/compile -j$(nproc)
echo "status=success" >> $GITHUB_OUTPUT echo "status=success" >> $GITHUB_OUTPUT
@@ -418,29 +451,57 @@ jobs:
make V=sc world make V=sc world
fi fi
fi fi
# process results echo "status=success" >> $GITHUB_OUTPUT
OUT_DIR=bin/targets/$G_BOARD_NAME/$G_SUBTARGET_NAME
if [ "$FAKE_BUILD" = "true" ]; then - name: Process out results
id: install
if: steps.compile.outputs.status == 'success' || env.FAKE_BUILD == 'true'
env:
TARGET: ${{ matrix.target }}
OUT_DIR: ./bin/targets/${{ env.G_BOARD_NAME }}/${{ env.G_SUBTARGET_NAME }}
run: |
if [ "$FAKE_BUILD" = true ]; then
mkdir -p logs mkdir -p logs
mkdir -p $OUT_DIR mkdir -p "$OUT_DIR"
echo "$G_BOARD_NAME $G_SUBTARGET_NAME $G_DEVICE_NAME" > "$OUT_DIR/$G_DEVICE_NAME.txt" cd "$OUT_DIR"
touch "$OUT_DIR/kernel-debug.tar.zst" echo "$G_BOARD_NAME $G_SUBTARGET_NAME $G_DEVICE_NAME" > "$G_DEVICE_NAME.txt"
touch FAKE_BUILD.bin
touch kernel-debug.tar.zst
BLD_VER=$FW_VER BLD_VER=$FW_VER
else else
BLD_VER=$( cat $OUT_DIR/profiles.json | grep -so '"version_number":"[^"]*' | grep -so '[^"]*$' ) if [ ! -d "$OUT_DIR" ]; then
echo "OUT_DIR not found!"
exit 99
fi
cd "$OUT_DIR"
BLD_VER=$( cat profiles.json | grep -so '"version_number":"[^"]*' | grep -so '[^"]*$' )
fi
if [ "$SKIP_ME" = true ]; then
touch FLAG-SKIP_ME
fi
if [ "$TRX_BUILD" = true ]; then
touch FLAG-TRX_BUILD
fi fi
echo "Firmware $BLD_VER [$FILE_DATE] builded!" echo "Firmware $BLD_VER [$FILE_DATE] builded!"
if [ ! -f $OUT_DIR/kernel-debug.tar.zst ]; then if [ ! -f kernel-debug.tar.zst ]; then
echo "File kernel-debug.tar.zst not found!" echo "File kernel-debug.tar.zst not found!"
exit 100 exit 100
fi fi
if [ "$TRX_BUILD" = true ]; then
find . -maxdepth 1 -type f ! -name '*-initramfs*' ! -name 'FLAG-*' -delete
VER_MAJOR=$( echo "$BLD_VER" | cut -d. -f1 )
STD_IMG_DIR="openwrt-initramfs-bin-for-luci"
mkdir $STD_IMG_DIR
find . -maxdepth 1 -type f -name '*-initramfs*.bin' -exec mv -f {} $STD_IMG_DIR/openwrt-${VER_MAJOR}_${TARGET}_initramfs.bin \;
find . -maxdepth 1 -type f -name '*-initramfs*.trx' -exec mv -f {} openwrt-${VER_MAJOR}_${TARGET}_initramfs.trx \;
fi
echo "status=success" >> $GITHUB_OUTPUT echo "status=success" >> $GITHUB_OUTPUT
echo "FW_BUILD_OK=1" >> $GITHUB_ENV echo "FW_BUILD_OK=1" >> $GITHUB_ENV
echo "BLD_VER=$BLD_VER" >> $GITHUB_ENV echo "BLD_VER=$BLD_VER" >> $GITHUB_ENV
echo "OUT_DIR=$OUT_DIR" >> $GITHUB_ENV echo "OUT_DIR=$OUT_DIR" >> $GITHUB_ENV
- name: Mark firmware build failed - name: Mark firmware build failed
if: false # steps.compile.outcome == 'failure' if: false # steps.install.outcome == 'failure' || steps.compile.outcome == 'failure'
run: | run: |
echo "Firmware build failed, continuing pipeline" echo "Firmware build failed, continuing pipeline"
echo "FW_BUILD_OK=0" >> $GITHUB_ENV echo "FW_BUILD_OK=0" >> $GITHUB_ENV
@@ -471,7 +532,7 @@ jobs:
tar -cJvf logs-$TARGET-$FW_DATE.tar.xz logs tar -cJvf logs-$TARGET-$FW_DATE.tar.xz logs
- name: Cleanup OUT directory - name: Cleanup OUT directory
if: steps.compile.outputs.status == 'success' if: steps.install.outputs.status == 'success'
env: env:
OUT_DIR: ${{ env.OUT_DIR }} OUT_DIR: ${{ env.OUT_DIR }}
run: | run: |
@@ -491,7 +552,7 @@ jobs:
- name: Upload OUT directory - name: Upload OUT directory
uses: actions/upload-artifact@main uses: actions/upload-artifact@main
if: steps.compile.outputs.status == 'success' if: steps.install.outputs.status == 'success'
with: with:
name: openwrt-${{ env.BLD_VER }}-${{ needs.check.outputs.build_date }}-${{ env.G_DEVICE_NAME }} name: openwrt-${{ env.BLD_VER }}-${{ needs.check.outputs.build_date }}-${{ env.G_DEVICE_NAME }}
path: ${{ env.OUT_DIR }} path: ${{ env.OUT_DIR }}
@@ -530,19 +591,52 @@ jobs:
- name: Put images into zip - name: Put images into zip
run: | run: |
mkdir -p public mkdir -p public
find . -mindepth 1 -type d -name 'openwrt-*' -exec sh -c 'zip -0 ./public/$(basename {}).zip -j {} {}/*' \; for DIR in openwrt-*; do
[ -d "$DIR" ] || continue
if [ -f "$DIR/FLAG-SKIP_ME" ]; then
echo "Skip $DIR"
continue
fi
ZIP_SUFFIX=""
if [ -f "$DIR/FLAG-TRX_BUILD" ]; then
echo "TRX_BUILD=true" >> $GITHUB_ENV
ZIP_SUFFIX=".trx"
fi
rm -f "$DIR"/FLAG-*
zip_name="./public/$(basename "$DIR")${ZIP_SUFFIX}.zip"
echo "Creating $zip_name"
( cd "$DIR"; zip -0 -r "../$zip_name" . )
done
- name: Show all zip files
run: |
ls -lh ./public/*.zip ls -lh ./public/*.zip
- name: Upload assets - name: Generate names
uses: andelf/nightly-release@main
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAG: ${{ needs.check.outputs.tag }} TAG: ${{ needs.check.outputs.tag }}
FW_VER: ${{ needs.check.outputs.fw_ver }}
FW_DATE: ${{ needs.check.outputs.fw_date }}
run: |
NAME="$TAG"
DESC="OpenWrt $FW_VER [$FW_DATE]"
if [ "$TRX_BUILD" = true ]; then
NAME="TRX-$TAG"
TAG="$TAG-trx"
DESC="TRX images based on $DESC"
fi
echo "REL_TAG=$TAG" >> $GITHUB_ENV
echo "REL_NAME=$NAME" >> $GITHUB_ENV
echo "REL_DESC=$DESC" >> $GITHUB_ENV
- name: Upload assets
uses: softprops/action-gh-release@v2
with: with:
draft: ${{ env.TEST_BUILD == 'true' || github.event.inputs.fake_build == 'true' }}
prerelease: true prerelease: true
tag_name: ${{ needs.check.outputs.tag }}${{ env.TAG_SUFFIX }} tag_name: ${{ env.REL_TAG }}${{ env.TAG_SUFFIX }}
name: '${{ needs.check.outputs.tag }}' name: '${{ env.REL_NAME }}'
body: | body: |
OpenWrt ${{ needs.check.outputs.fw_ver }} [${{ needs.check.outputs.fw_date }}] ${{ env.REL_DESC }}
author: [remittor](https://github.com/remittor) author: [remittor](https://github.com/remittor)
files: ./public/*.zip files: ./public/*.zip
File renamed without changes.
File renamed without changes.
File renamed without changes.
+3
View File
@@ -45,6 +45,8 @@ CONFIG_PACKAGE_luci-app-filemanager=y
CONFIG_PACKAGE_luci-i18n-filemanager-ru=y CONFIG_PACKAGE_luci-i18n-filemanager-ru=y
#CONFIG_PACKAGE_atftp=y #CONFIG_PACKAGE_atftp=y
#CONFIG_PACKAGE_atftpd=y #CONFIG_PACKAGE_atftpd=y
CONFIG_PACKAGE_lscpu=y
CONFIG_PACKAGE_bind-tools=y
CONFIG_PACKAGE_facinstall=y CONFIG_PACKAGE_facinstall=y
### Add-on programs ### Add-on programs
@@ -186,6 +188,7 @@ CONFIG_OPENSSL_WITH_MDC2=y
CONFIG_OPENSSL_WITH_WHIRLPOOL=y CONFIG_OPENSSL_WITH_WHIRLPOOL=y
### SSL certificates ### SSL certificates
CONFIG_PACKAGE_ca-bundle=y
CONFIG_PACKAGE_ca-certificates=y CONFIG_PACKAGE_ca-certificates=y
### Luci ### Luci
@@ -37,12 +37,14 @@ CONFIG_PACKAGE_uboot-envtools=y
CONFIG_PACKAGE_mtd-utils=y CONFIG_PACKAGE_mtd-utils=y
CONFIG_PACKAGE_iw=y CONFIG_PACKAGE_iw=y
CONFIG_PACKAGE_mc=y CONFIG_PACKAGE_mc=y
CONFIG_PACKAGE_rsync=y
CONFIG_PACKAGE_luci-app-ttyd=y CONFIG_PACKAGE_luci-app-ttyd=y
CONFIG_PACKAGE_luci-i18n-ttyd-ru=y CONFIG_PACKAGE_luci-i18n-ttyd-ru=y
CONFIG_PACKAGE_luci-app-filemanager=y CONFIG_PACKAGE_luci-app-filemanager=y
CONFIG_PACKAGE_luci-i18n-filemanager-ru=y CONFIG_PACKAGE_luci-i18n-filemanager-ru=y
CONFIG_PACKAGE_atftp=y CONFIG_PACKAGE_atftp=y
#CONFIG_PACKAGE_atftpd=y #CONFIG_PACKAGE_atftpd=y
CONFIG_PACKAGE_lscpu=y
CONFIG_PACKAGE_facinstall=y CONFIG_PACKAGE_facinstall=y
CONFIG_PACKAGE_kmod-mtd-rw=y CONFIG_PACKAGE_kmod-mtd-rw=y
@@ -55,6 +57,7 @@ CONFIG_PACKAGE_iperf3=y
CONFIG_PACKAGE_htop=y CONFIG_PACKAGE_htop=y
CONFIG_PACKAGE_nano=y CONFIG_PACKAGE_nano=y
CONFIG_PACKAGE_ccrypt=y CONFIG_PACKAGE_ccrypt=y
CONFIG_PACKAGE_curl=y
CONFIG_PACKAGE_wget=y CONFIG_PACKAGE_wget=y
CONFIG_PACKAGE_patch=y CONFIG_PACKAGE_patch=y
CONFIG_PACKAGE_diffutils=y CONFIG_PACKAGE_diffutils=y
@@ -64,6 +67,10 @@ CONFIG_PACKAGE_terminfo=y
CONFIG_PACKAGE_zlib=y CONFIG_PACKAGE_zlib=y
CONFIG_PACKAGE_ethtool=y CONFIG_PACKAGE_ethtool=y
### SSL certificates
CONFIG_PACKAGE_ca-bundle=y
CONFIG_PACKAGE_ca-certificates=y
### Luci ### Luci
CONFIG_LUCI_LANG_en=y CONFIG_LUCI_LANG_en=y
CONFIG_LUCI_LANG_ru=y CONFIG_LUCI_LANG_ru=y
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
View File
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+14
View File
@@ -0,0 +1,14 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_tuf-ax4200q=y
#include _addons.config
#include _base_initrd.config
#include _wifi_en.config
CONFIG_TARGET_INITRAMFS_FORCE=y
CONFIG_TARGET_ROOTFS_INITRAMFS=y
CONFIG_USES_SEPARATE_INITRAMFS=n
CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE=n
File renamed without changes.
File renamed without changes.
File renamed without changes.
+42
View File
@@ -0,0 +1,42 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_tuf-ax4200q=y
#include _addons.config
#include _base.config
#include _wifi_en.config
#include _printer.config
#include _samba.config
#include _torrents.config
#include _proxy.config
#include _argon.config
#include _vpn.config
### Temp and sensors
CONFIG_PACKAGE_lm-sensors=y
CONFIG_PACKAGE_lm-sensors-detect=y
CONFIG_PACKAGE_luci-app-temp-status=y
CONFIG_PACKAGE_luci-i18n-temp-status-ru=y
CONFIG_PACKAGE_collectd-mod-sensors=y
### HDD tools
CONFIG_PACKAGE_smartmontools=y
CONFIG_PACKAGE_hdparm=y
CONFIG_PACKAGE_hd-idle=y
CONFIG_PACKAGE_luci-app-hd-idle=y
#CONFIG_PACKAGE_luci-i18n-hd-idle-ru=y
CONFIG_PACKAGE_luci-app-disks-info=y
#CONFIG_PACKAGE_luci-i18n-disks-info-ru=y
CONFIG_PACKAGE_luci-app-diskman=y
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y
CONFIG_PACKAGE_luci-i18n-dashboard-ru=y
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m
File renamed without changes.
+59 -37
View File
@@ -15,7 +15,6 @@ OPT_FULL_REBUILD=false
KALLSYMS=false KALLSYMS=false
TESTING_KERNEL=false TESTING_KERNEL=false
BUILD_ONLY_INITRAMFS=false BUILD_ONLY_INITRAMFS=false
BUILD_SKIP_INITRAMFS=false
ONLY_INIT=false ONLY_INIT=false
while getopts "j:t:fiskTI" opt; do while getopts "j:t:fiskTI" opt; do
@@ -26,7 +25,6 @@ while getopts "j:t:fiskTI" opt; do
k) KALLSYMS=true;; k) KALLSYMS=true;;
T) TESTING_KERNEL=true;; T) TESTING_KERNEL=true;;
i) BUILD_ONLY_INITRAMFS=true;; i) BUILD_ONLY_INITRAMFS=true;;
s) BUILD_SKIP_INITRAMFS=true;;
I) ONLY_INIT=true;; I) ONLY_INIT=true;;
esac esac
done done
@@ -70,7 +68,7 @@ function build_target {
fi fi
inclst=$( get_cfg_inc_lst $CFG ) inclst=$( get_cfg_inc_lst $CFG )
for inc in $inclst; do for inc in $inclst; do
incfn=$XDIR/$inc incfn=$XDIR/_cfginc/$inc
[ ! -f $incfn ] && die "File '$inc' not found!" [ ! -f $incfn ] && die "File '$inc' not found!"
sed -i "/#include $inc/a <<LF>><<LF>>" $CFG sed -i "/#include $inc/a <<LF>><<LF>>" $CFG
sed -i "s/<<LF>>/\n/g" $CFG sed -i "s/<<LF>>/\n/g" $CFG
@@ -121,10 +119,10 @@ function build_target {
fi fi
fi fi
AWG_LUCI_MK=$XDIR/package/feeds/_ruantiblock/luci-app-ruantiblock/Makefile RAB_LUCI_MK=$XDIR/package/feeds/_ruantiblock/luci-app-ruantiblock/Makefile
if [ -f $AWG_LUCI_MK ]; then if [ -f $RAB_LUCI_MK ]; then
if ! grep "PKG_PROVIDES" $AWG_LUCI_MK >/dev/null ; then if ! grep "PKG_PROVIDES" $RAB_LUCI_MK >/dev/null ; then
sed -i 's/LUCI_PKGARCH:=all/LUCI_PKGARCH:=all\nPKG_PROVIDES:=luci-app-ruantiblock/g' $AWG_LUCI_MK sed -i 's/LUCI_PKGARCH:=all/LUCI_PKGARCH:=all\nPKG_PROVIDES:=luci-app-ruantiblock/g' $RAB_LUCI_MK
fi fi
fi fi
@@ -135,15 +133,38 @@ function build_target {
fi fi
fi fi
PODKOP_MK=$XDIR/package/feeds/_podkop/podkop/Makefile PODKOP_DIR=$XDIR/package/feeds/_podkop
if [ -f $PODKOP_MK ]; then if [ -d $PODKOP_DIR ]; then
PODKOP_PATCH=
PODKOP_MK=$PODKOP_DIR/podkop/Makefile
if [ -f $PODKOP_MK ] && grep -q '+sing-box' $PODKOP_MK ; then
sed -i 's/+sing-box / /g' $PODKOP_MK sed -i 's/+sing-box / /g' $PODKOP_MK
sed -i 's/CONFLICTS:=.*/CONFLICTS:=/g' $PODKOP_MK sed -i 's/CONFLICTS:=.*/CONFLICTS:=/g' $PODKOP_MK
PODKOP_PATCH="$PODKOP_PATCH (del depend sing-box)"
fi fi
PODKOP_SH=$XDIR/package/feeds/_podkop/podkop/files/usr/bin/podkop PODKOP_SH=$PODKOP_DIR/podkop/files/usr/bin/podkop
if [ -f $PODKOP_SH ] && ! grep -q '(which sing-box)' $PODKOP_SH ; then if [ -f $PODKOP_SH ] && ! grep -q '(which sing-box)' $PODKOP_SH ; then
sed -i '/,\\"dns_configured\\":/i [ -z "$(which sing-box)" ] && status="not installed"' $PODKOP_SH sed -i '/,\\"dns_configured\\":/i [ -z "$(which sing-box)" ] && status="not installed"' $PODKOP_SH
echo ">>> podkop patched !!!" PODKOP_PATCH="$PODKOP_PATCH (status for sing-box)"
fi
if [ -f $PODKOP_MK ] && grep -q 'PODKOP_VERSION' $PODKOP_MK ; then
PKGVERLIST=$( git ls-remote --tags https://github.com/itdoginfo/podkop.git | awk -F/ '{print $3}' | grep -Ev '^v' | sort -V | tail -n 2 )
VER_PREV=$( sed -n '1p' <<< "$PKGVERLIST" )
VER_LATEST=$( sed -n '2p' <<< "$PKGVERLIST" )
[ -z "$VER_LATEST" ] && { echo "ERROR: cannot detect version of podkop!"; exit 1; }
sed -i 's/PKG_VERSION :=.*/PKG_VERSION:='$VER_LATEST'/g' $PODKOP_MK
PODKOP_PATCH="$PODKOP_PATCH (set ver $VER_LATEST)"
fi
PODKOP_MK=$PODKOP_DIR/luci-app-podkop/Makefile
if [ -f $PODKOP_MK ] && grep -q 'PODKOP_VERSION' $PODKOP_MK ; then
PKGVERLIST=$( git ls-remote --tags https://github.com/itdoginfo/podkop.git | awk -F/ '{print $3}' | grep -Ev '^v' | sort -V | tail -n 2 )
VER_PREV=$( sed -n '1p' <<< "$PKGVERLIST" )
VER_LATEST=$( sed -n '2p' <<< "$PKGVERLIST" )
[ -z "$VER_LATEST" ] && { echo "ERROR: cannot detect version of podkop!"; exit 1; }
sed -i 's/PKG_VERSION :=.*/PKG_VERSION:='$VER_LATEST'/g' $PODKOP_MK
PODKOP_PATCH="$PODKOP_PATCH (Set Ver $VER_LATEST)"
fi
[ "$PODKOP_PATCH" != "" ] && echo ">>> podkop patched !!! $PODKOP_PATCH"
fi fi
DROPBEAR_DIR=$XDIR/package/network/services/dropbear DROPBEAR_DIR=$XDIR/package/network/services/dropbear
@@ -216,7 +237,10 @@ function build_target {
echo -e "\nCONFIG_PACKAGE_wpad-openssl=y\n" >> $CFG echo -e "\nCONFIG_PACKAGE_wpad-openssl=y\n" >> $CFG
fi fi
#DASHBRDPO=$XDIR/feeds/luci/modules/luci-mod-dashboard/po/ru/dashboard.po DASHBRDPO=$XDIR/feeds/luci/modules/luci-mod-dashboard/po/ru/dashboard.po
if [ -f $DASHBRDPO ]; then
sed -i 's/msgid "Dashboard"/msgid "__dash_board__"/g' $DASHBRDPO
fi
DASHBRDPO=$XDIR/package/feeds/luci/luci-mod-dashboard/po/ru/dashboard.po DASHBRDPO=$XDIR/package/feeds/luci/luci-mod-dashboard/po/ru/dashboard.po
if [ -f $DASHBRDPO ]; then if [ -f $DASHBRDPO ]; then
sed -i 's/msgid "Dashboard"/msgid "__dash_board__"/g' $DASHBRDPO sed -i 's/msgid "Dashboard"/msgid "__dash_board__"/g' $DASHBRDPO
@@ -312,6 +336,9 @@ function build_target {
sed -i "s/<<ARCH>>/$TARGET_ARCH_PACKAGES/g" $APK_CFEED_FN sed -i "s/<<ARCH>>/$TARGET_ARCH_PACKAGES/g" $APK_CFEED_FN
logmsg "Added support of Fantastic packages [https://fantastic-packages.github.io/releases]" logmsg "Added support of Fantastic packages [https://fantastic-packages.github.io/releases]"
fi fi
if [ $BUILD_ONLY_INITRAMFS = true ]; then
rm -f $APK_DIR/repositories.d/customfeeds.list
fi
SYSCTLCONF_FN=$XDIR/files/etc/sysctl.conf SYSCTLCONF_FN=$XDIR/files/etc/sysctl.conf
if [ -f $SYSCTLCONF_FN ]; then if [ -f $SYSCTLCONF_FN ]; then
@@ -341,13 +368,19 @@ function build_config {
local cfg=$1 local cfg=$1
local cfg_name=$( basename $cfg ) local cfg_name=$( basename $cfg )
local target_name=${cfg_name%.*} local target_name=${cfg_name%.*}
local initramfs=false
local board=$( get_cfg_board $cfg ) local board=$( get_cfg_board $cfg )
local subtarget=$( get_cfg_subtarget $cfg $board ) local subtarget=$( get_cfg_subtarget $cfg $board )
local device=$( get_cfg_dev_lst $cfg $board $subtarget ) local device=$( get_cfg_dev_lst $cfg $board $subtarget )
local outdir=$XDIR/bin/targets/$board/$subtarget local outdir=$XDIR/bin/targets/$board/$subtarget
echo Start build for target $cfg_name "($board-$subtarget-$device)"
build_target $cfg_name if echo "$cfg" | grep -q '_initramfs/' ; then
initramfs=true
target_name=${target_name}_initramfs
fi
echo Start build for target $target_name "($board-$subtarget-$device)"
build_target $cfg
if [ ! -f $outdir/kernel-debug.tar.zst ]; then if [ ! -f $outdir/kernel-debug.tar.zst ]; then
echo "ERROR: cannot build images for target $target_name" echo "ERROR: cannot build images for target $target_name"
@@ -362,6 +395,9 @@ function build_config {
if [ "$XTARGET" != "*" ]; then if [ "$XTARGET" != "*" ]; then
TARGETCFG=$XDIR/$XTARGET TARGETCFG=$XDIR/$XTARGET
if [ $BUILD_ONLY_INITRAMFS = true ]; then
TARGETCFG=$XDIR/_initramfs/$XTARGET
fi
XTARGET_EXT="${XTARGET##*.}" XTARGET_EXT="${XTARGET##*.}"
[ $XTARGET_EXT != config ] && TARGETCFG=$TARGETCFG.config [ $XTARGET_EXT != config ] && TARGETCFG=$TARGETCFG.config
[ ! -f $TARGETCFG ] && die "File '"`basename $TARGETCFG`"' not found!" [ ! -f $TARGETCFG ] && die "File '"`basename $TARGETCFG`"' not found!"
@@ -373,7 +409,12 @@ if [ "$XTARGET" != "*" ]; then
fi fi
XOUT=$XDIR/xout XOUT=$XDIR/xout
if [ $BUILD_ONLY_INITRAMFS = true ]; then
CFG_LIST=$( find $XDIR/_initramfs/* -maxdepth 1 -name '[a-z0-9]*.config' )
else
CFG_LIST=$( find $XDIR/* -maxdepth 1 -name '[a-z0-9]*.config' ) CFG_LIST=$( find $XDIR/* -maxdepth 1 -name '[a-z0-9]*.config' )
fi
rm -rf $XOUT rm -rf $XOUT
@@ -382,35 +423,16 @@ if [ -z "$CFG_LIST" ]; then
exit 1 exit 1
fi fi
INITRAMFS_COUNT=0 if [ $BUILD_ONLY_INITRAMFS = true ]; then
for CFG in $CFG_LIST; do
if [[ "$CFG" == *"_initramfs"* ]]; then
INITRAMFS_COUNT=$(( INITRAMFS_COUNT + 1 ))
fi
done
if [ $INITRAMFS_COUNT = 0 ] && [ $BUILD_ONLY_INITRAMFS = true ]; then
echo "ERROR: Cannot found initramfs configs!"
exit 1
fi
if [ $INITRAMFS_COUNT -gt 0 ] && [ $BUILD_SKIP_INITRAMFS != true ]; then
echo "Start make initramfs configs!" echo "Start make initramfs configs!"
clean_all else
for CFG in $CFG_LIST; do echo "Start make non initramfs configs!"
[[ "$CFG" != *"_initramfs"* ]] && continue # process only initramfs configs
build_config $CFG
done
fi fi
if [ $BUILD_ONLY_INITRAMFS != true ]; then
echo "Start make non initramfs configs!"
clean_all clean_all
for CFG in $CFG_LIST; do for CFG in $CFG_LIST; do
[[ "$CFG" == *"_initramfs"* ]] && continue # skip initramfs configs
build_config $CFG build_config $CFG
done done
fi
echo "All targets was builded!" echo "All targets was builded!"
+2 -2
View File
@@ -4,8 +4,8 @@ SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
export XDIR=$SCRIPT_DIR export XDIR=$SCRIPT_DIR
export XADDONSDIR=$XDIR/package/addons export XADDONSDIR=$XDIR/package/addons
FEEDSDIR=$XDIR/package/feeds FEEDSDIR=$XDIR/package/feeds
ADDONSCFG=$XDIR/_addons.config ADDONSCFG=$XDIR/_cfginc/_addons.config
ADDONSNSS=$XDIR/_addons_nss.config ADDONSNSS=$XDIR/_cfginc/_addons_nss.config
. ./xcommon.sh . ./xcommon.sh