mirror of
https://github.com/openwrt-xiaomi/builder.git
synced 2026-11-04 14:58:45 +05:00
Compare commits
42
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1d4e85a28d | ||
|
|
1aa0b402c5 | ||
|
|
ca4573f31f | ||
|
|
f01482890b | ||
|
|
510a31e7ec | ||
|
|
8f6a81ecd2 | ||
|
|
68cb027109 | ||
|
|
acff39477b | ||
|
|
e57e548f61 | ||
|
|
eb978ba58e | ||
|
|
61f33e4c33 | ||
|
|
0a66ad1f3a | ||
|
|
e67a3d001b | ||
|
|
b01b370c51 | ||
|
|
75542fe301 | ||
|
|
8739c51995 | ||
|
|
ea8d7eea5f | ||
|
|
1d93b461b7 | ||
|
|
cfc8241f53 | ||
|
|
8c2f6fd7de | ||
|
|
e021297496 | ||
|
|
0cb316891c | ||
|
|
aed5f171a8 | ||
|
|
08cccf41b7 | ||
|
|
e6e97ddbc8 | ||
|
|
b650894e8a | ||
|
|
78cc0dee60 | ||
|
|
0b066fe854 | ||
|
|
67e187b849 | ||
|
|
ef5e7155b5 | ||
|
|
b788e7e165 | ||
|
|
a775b82e5b | ||
|
|
f9ab8e3841 | ||
|
|
4e7389f304 | ||
|
|
887d928a4b | ||
|
|
5167d394e1 | ||
|
|
dd3a9395f2 | ||
|
|
2f112defb4 | ||
|
|
9104838c9b | ||
|
|
4e60cabc73 | ||
|
|
295d495e81 | ||
|
|
d147c0c72d |
No files matched your search
+31
-124
@@ -42,14 +42,6 @@ on:
|
||||
options:
|
||||
- true
|
||||
- false
|
||||
trx_build:
|
||||
description: 'TRX images build'
|
||||
required: true
|
||||
default: 'false'
|
||||
type: choice
|
||||
options:
|
||||
- true
|
||||
- false
|
||||
suffix:
|
||||
description: 'TAG suffix'
|
||||
required: false
|
||||
@@ -58,13 +50,14 @@ on:
|
||||
|
||||
env:
|
||||
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' || '' }}
|
||||
TARGET_NAME: ${{ github.event.inputs.target_name }}
|
||||
G_PKG_DIR: ${{ github.event.inputs.package_dir }}
|
||||
REPO_URL: https://github.com/openwrt-xiaomi/openwrt
|
||||
REPO_LNK: openwrt-xiaomi/openwrt
|
||||
REPO_BRANCH: xq-24.10
|
||||
TAG_PREFIX: v24-
|
||||
REPO_BRANCH: xq-25.12
|
||||
TAG_PREFIX: v25-
|
||||
TZ: UTC
|
||||
DEVICE_NAME: unknown
|
||||
BUILD_DATE: unknown
|
||||
@@ -164,9 +157,8 @@ jobs:
|
||||
- rt-ax57m
|
||||
- rt-ax59u
|
||||
- rt-ax89x
|
||||
- tuf-ax4200
|
||||
- tuf-ax4200q
|
||||
- tuf-ax6000
|
||||
- tuf_ax4200
|
||||
- tuf_ax6000
|
||||
- zen-bt8
|
||||
isTest:
|
||||
- ${{ needs.check.outputs.test_build == 'true' }}
|
||||
@@ -211,31 +203,6 @@ jobs:
|
||||
- name: Checkout builder
|
||||
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
|
||||
run: |
|
||||
git clone --branch $REPO_BRANCH $REPO_URL.git openwrt
|
||||
@@ -246,7 +213,8 @@ jobs:
|
||||
- name: Init builder
|
||||
run: |
|
||||
chmod +x *.sh
|
||||
wget https://github.com/fantastic-packages/packages/raw/refs/heads/24.10/keys/usign/53FF2B6672243D28.pub
|
||||
#wget https://github.com/fantastic-packages/packages/raw/refs/heads/master/keys/apksign/20241123170031.pub
|
||||
wget https://fantastic-packages.github.io/releases/25.12/20241123170031.pub
|
||||
|
||||
- name: Update OpenWrt packages
|
||||
id: update
|
||||
@@ -323,7 +291,7 @@ jobs:
|
||||
TARGET: ${{ matrix.target }}
|
||||
FW_VER: ${{ needs.check.outputs.fw_ver }}
|
||||
run: |
|
||||
./xmake.sh $OPT_INITRAMFS -I -t $TARGET
|
||||
./xmake.sh -I -t $TARGET
|
||||
G_DEVICE_NAME=$( grep -so '^CONFIG_TARGET.*DEVICE.*=y' .config | sed -r 's/.*DEVICE_(.*)=y/\1/' )
|
||||
[ -z "$G_DEVICE_NAME" ] && exit 31
|
||||
G_BOARD_NAME=$( grep -so '^CONFIG_TARGET_BOARD=.*' .config | cut -d'"' -f2 )
|
||||
@@ -369,7 +337,7 @@ jobs:
|
||||
|
||||
- name: Download sources (dl)
|
||||
id: download
|
||||
if: ${{ steps.configure.outputs.status == 'success' && env.FAKE_BUILD != 'true' }}
|
||||
if: ${{ steps.configure.outputs.status == 'success' && github.event.inputs.fake_build != 'true' }}
|
||||
run: |
|
||||
make -j$(nproc) download
|
||||
echo "status=success" >> $GITHUB_OUTPUT
|
||||
@@ -386,7 +354,7 @@ jobs:
|
||||
|
||||
- name: Build tools and toolchain
|
||||
id: tools
|
||||
if: ${{ steps.configure.outputs.status == 'success' && env.FAKE_BUILD != 'true' }}
|
||||
if: ${{ steps.configure.outputs.status == 'success' && github.event.inputs.fake_build != 'true' }}
|
||||
run: |
|
||||
make toolchain/install -j$(nproc)
|
||||
echo "status=success" >> $GITHUB_OUTPUT
|
||||
@@ -408,14 +376,14 @@ jobs:
|
||||
TARGET: ${{ matrix.target }}
|
||||
run: |
|
||||
make clean
|
||||
./xmake.sh $OPT_INITRAMFS -I -t $TARGET
|
||||
./xmake.sh -I -t $TARGET
|
||||
mkdir -p logs
|
||||
cp -f .config logs/config2
|
||||
[ -f config1 ] && cp -f config1 logs/config1
|
||||
|
||||
- name: Kernel compile
|
||||
id: kernel
|
||||
if: ${{ steps.tools.outputs.status == 'success' && env.FAKE_BUILD != 'true' }}
|
||||
if: ${{ steps.tools.outputs.status == 'success' && github.event.inputs.fake_build != 'true' }}
|
||||
run: |
|
||||
make target/linux/compile -j$(nproc)
|
||||
echo "status=success" >> $GITHUB_OUTPUT
|
||||
@@ -450,57 +418,29 @@ jobs:
|
||||
make V=sc world
|
||||
fi
|
||||
fi
|
||||
echo "status=success" >> $GITHUB_OUTPUT
|
||||
|
||||
- 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
|
||||
# process results
|
||||
OUT_DIR=bin/targets/$G_BOARD_NAME/$G_SUBTARGET_NAME
|
||||
if [ "$FAKE_BUILD" = "true" ]; then
|
||||
mkdir -p logs
|
||||
mkdir -p "$OUT_DIR"
|
||||
cd "$OUT_DIR"
|
||||
echo "$G_BOARD_NAME $G_SUBTARGET_NAME $G_DEVICE_NAME" > "$G_DEVICE_NAME.txt"
|
||||
touch FAKE_BUILD.bin
|
||||
touch kernel-debug.tar.zst
|
||||
mkdir -p $OUT_DIR
|
||||
echo "$G_BOARD_NAME $G_SUBTARGET_NAME $G_DEVICE_NAME" > "$OUT_DIR/$G_DEVICE_NAME.txt"
|
||||
touch "$OUT_DIR/kernel-debug.tar.zst"
|
||||
BLD_VER=$FW_VER
|
||||
else
|
||||
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
|
||||
BLD_VER=$( cat $OUT_DIR/profiles.json | grep -so '"version_number":"[^"]*' | grep -so '[^"]*$' )
|
||||
fi
|
||||
echo "Firmware $BLD_VER [$FILE_DATE] builded!"
|
||||
if [ ! -f kernel-debug.tar.zst ]; then
|
||||
if [ ! -f $OUT_DIR/kernel-debug.tar.zst ]; then
|
||||
echo "File kernel-debug.tar.zst not found!"
|
||||
exit 100
|
||||
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 "FW_BUILD_OK=1" >> $GITHUB_ENV
|
||||
echo "BLD_VER=$BLD_VER" >> $GITHUB_ENV
|
||||
echo "OUT_DIR=$OUT_DIR" >> $GITHUB_ENV
|
||||
|
||||
- name: Mark firmware build failed
|
||||
if: false # steps.install.outcome == 'failure' || steps.compile.outcome == 'failure'
|
||||
if: false # steps.compile.outcome == 'failure'
|
||||
run: |
|
||||
echo "Firmware build failed, continuing pipeline"
|
||||
echo "FW_BUILD_OK=0" >> $GITHUB_ENV
|
||||
@@ -531,7 +471,7 @@ jobs:
|
||||
tar -cJvf logs-$TARGET-$FW_DATE.tar.xz logs
|
||||
|
||||
- name: Cleanup OUT directory
|
||||
if: steps.install.outputs.status == 'success'
|
||||
if: steps.compile.outputs.status == 'success'
|
||||
env:
|
||||
OUT_DIR: ${{ env.OUT_DIR }}
|
||||
run: |
|
||||
@@ -551,7 +491,7 @@ jobs:
|
||||
|
||||
- name: Upload OUT directory
|
||||
uses: actions/upload-artifact@main
|
||||
if: steps.install.outputs.status == 'success'
|
||||
if: steps.compile.outputs.status == 'success'
|
||||
with:
|
||||
name: openwrt-${{ env.BLD_VER }}-${{ needs.check.outputs.build_date }}-${{ env.G_DEVICE_NAME }}
|
||||
path: ${{ env.OUT_DIR }}
|
||||
@@ -590,52 +530,19 @@ jobs:
|
||||
- name: Put images into zip
|
||||
run: |
|
||||
mkdir -p public
|
||||
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: |
|
||||
find . -mindepth 1 -type d -name 'openwrt-*' -exec sh -c 'zip -0 ./public/$(basename {}).zip -j {} {}/*' \;
|
||||
ls -lh ./public/*.zip
|
||||
|
||||
- name: Generate names
|
||||
env:
|
||||
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
|
||||
uses: andelf/nightly-release@main
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
TAG: ${{ needs.check.outputs.tag }}
|
||||
with:
|
||||
draft: ${{ env.TEST_BUILD == 'true' || github.event.inputs.fake_build == 'true' }}
|
||||
prerelease: true
|
||||
tag_name: ${{ env.REL_TAG }}${{ env.TAG_SUFFIX }}
|
||||
name: '${{ env.REL_NAME }}'
|
||||
tag_name: ${{ needs.check.outputs.tag }}${{ env.TAG_SUFFIX }}
|
||||
name: '${{ needs.check.outputs.tag }}'
|
||||
body: |
|
||||
${{ env.REL_DESC }}
|
||||
OpenWrt ${{ needs.check.outputs.fw_ver }} [${{ needs.check.outputs.fw_date }}]
|
||||
author: [remittor](https://github.com/remittor)
|
||||
files: ./public/*.zip
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -45,8 +45,6 @@ CONFIG_PACKAGE_luci-app-filemanager=y
|
||||
CONFIG_PACKAGE_luci-i18n-filemanager-ru=y
|
||||
#CONFIG_PACKAGE_atftp=y
|
||||
#CONFIG_PACKAGE_atftpd=y
|
||||
CONFIG_PACKAGE_lscpu=y
|
||||
CONFIG_PACKAGE_bind-tools=y
|
||||
CONFIG_PACKAGE_facinstall=y
|
||||
|
||||
### Add-on programs
|
||||
@@ -188,7 +186,6 @@ CONFIG_OPENSSL_WITH_MDC2=y
|
||||
CONFIG_OPENSSL_WITH_WHIRLPOOL=y
|
||||
|
||||
### SSL certificates
|
||||
CONFIG_PACKAGE_ca-bundle=y
|
||||
CONFIG_PACKAGE_ca-certificates=y
|
||||
|
||||
### Luci
|
||||
@@ -37,14 +37,12 @@ CONFIG_PACKAGE_uboot-envtools=y
|
||||
CONFIG_PACKAGE_mtd-utils=y
|
||||
CONFIG_PACKAGE_iw=y
|
||||
CONFIG_PACKAGE_mc=y
|
||||
CONFIG_PACKAGE_rsync=y
|
||||
CONFIG_PACKAGE_luci-app-ttyd=y
|
||||
CONFIG_PACKAGE_luci-i18n-ttyd-ru=y
|
||||
CONFIG_PACKAGE_luci-app-filemanager=y
|
||||
CONFIG_PACKAGE_luci-i18n-filemanager-ru=y
|
||||
CONFIG_PACKAGE_atftp=y
|
||||
#CONFIG_PACKAGE_atftpd=y
|
||||
CONFIG_PACKAGE_lscpu=y
|
||||
CONFIG_PACKAGE_facinstall=y
|
||||
|
||||
CONFIG_PACKAGE_kmod-mtd-rw=y
|
||||
@@ -57,7 +55,6 @@ CONFIG_PACKAGE_iperf3=y
|
||||
CONFIG_PACKAGE_htop=y
|
||||
CONFIG_PACKAGE_nano=y
|
||||
CONFIG_PACKAGE_ccrypt=y
|
||||
CONFIG_PACKAGE_curl=y
|
||||
CONFIG_PACKAGE_wget=y
|
||||
CONFIG_PACKAGE_patch=y
|
||||
CONFIG_PACKAGE_diffutils=y
|
||||
@@ -67,10 +64,6 @@ CONFIG_PACKAGE_terminfo=y
|
||||
CONFIG_PACKAGE_zlib=y
|
||||
CONFIG_PACKAGE_ethtool=y
|
||||
|
||||
### SSL certificates
|
||||
CONFIG_PACKAGE_ca-bundle=y
|
||||
CONFIG_PACKAGE_ca-certificates=y
|
||||
|
||||
### Luci
|
||||
CONFIG_LUCI_LANG_en=y
|
||||
CONFIG_LUCI_LANG_ru=y
|
||||
@@ -1,14 +0,0 @@
|
||||
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.
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.
@@ -1,44 +0,0 @@
|
||||
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
|
||||
|
||||
CONFIG_PACKAGE_fantastic-feeds=m
|
||||
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -15,6 +15,7 @@ OPT_FULL_REBUILD=false
|
||||
KALLSYMS=false
|
||||
TESTING_KERNEL=false
|
||||
BUILD_ONLY_INITRAMFS=false
|
||||
BUILD_SKIP_INITRAMFS=false
|
||||
ONLY_INIT=false
|
||||
|
||||
while getopts "j:t:fiskTI" opt; do
|
||||
@@ -25,6 +26,7 @@ while getopts "j:t:fiskTI" opt; do
|
||||
k) KALLSYMS=true;;
|
||||
T) TESTING_KERNEL=true;;
|
||||
i) BUILD_ONLY_INITRAMFS=true;;
|
||||
s) BUILD_SKIP_INITRAMFS=true;;
|
||||
I) ONLY_INIT=true;;
|
||||
esac
|
||||
done
|
||||
@@ -68,7 +70,7 @@ function build_target {
|
||||
fi
|
||||
inclst=$( get_cfg_inc_lst $CFG )
|
||||
for inc in $inclst; do
|
||||
incfn=$XDIR/_cfginc/$inc
|
||||
incfn=$XDIR/$inc
|
||||
[ ! -f $incfn ] && die "File '$inc' not found!"
|
||||
sed -i "/#include $inc/a <<LF>><<LF>>" $CFG
|
||||
sed -i "s/<<LF>>/\n/g" $CFG
|
||||
@@ -119,10 +121,10 @@ function build_target {
|
||||
fi
|
||||
fi
|
||||
|
||||
RAB_LUCI_MK=$XDIR/package/feeds/_ruantiblock/luci-app-ruantiblock/Makefile
|
||||
if [ -f $RAB_LUCI_MK ]; 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' $RAB_LUCI_MK
|
||||
AWG_LUCI_MK=$XDIR/package/feeds/_ruantiblock/luci-app-ruantiblock/Makefile
|
||||
if [ -f $AWG_LUCI_MK ]; then
|
||||
if ! grep "PKG_PROVIDES" $AWG_LUCI_MK >/dev/null ; then
|
||||
sed -i 's/LUCI_PKGARCH:=all/LUCI_PKGARCH:=all\nPKG_PROVIDES:=luci-app-ruantiblock/g' $AWG_LUCI_MK
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -133,51 +135,51 @@ function build_target {
|
||||
fi
|
||||
fi
|
||||
|
||||
PODKOP_DIR=$XDIR/package/feeds/_podkop
|
||||
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/CONFLICTS:=.*/CONFLICTS:=/g' $PODKOP_MK
|
||||
PODKOP_PATCH="$PODKOP_PATCH (del depend sing-box)"
|
||||
fi
|
||||
PODKOP_SH=$PODKOP_DIR/podkop/files/usr/bin/podkop
|
||||
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
|
||||
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"
|
||||
PODKOP_MK=$XDIR/package/feeds/_podkop/podkop/Makefile
|
||||
if [ -f $PODKOP_MK ]; then
|
||||
sed -i 's/+sing-box / /g' $PODKOP_MK
|
||||
sed -i 's/CONFLICTS:=.*/CONFLICTS:=/g' $PODKOP_MK
|
||||
fi
|
||||
PODKOP_SH=$XDIR/package/feeds/_podkop/podkop/files/usr/bin/podkop
|
||||
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
|
||||
echo ">>> podkop patched !!!"
|
||||
fi
|
||||
|
||||
DROPBEAR_MK=$XDIR/package/network/services/dropbear/Makefile
|
||||
DROPBEAR_DIR=$XDIR/package/network/services/dropbear
|
||||
DROPBEAR_MK=$DROPBEAR_DIR/Makefile
|
||||
TMP_DROPBEAR_DIR=$XDIR/_dropbear2024
|
||||
TMP_DROPBEAR_MK=$TMP_DROPBEAR_DIR/Makefile
|
||||
if [ -f $DROPBEAR_MK ]; then
|
||||
# download dropbear 2024.86 (OpenWrt v24.10)
|
||||
if [ ! -f $TMP_DROPBEAR_DIR/Makefile ]; then
|
||||
rm -rf $TMP_DROPBEAR_DIR
|
||||
git clone --depth 1 --filter=blob:none --sparse https://github.com/openwrt/openwrt.git $TMP_DROPBEAR_DIR && (
|
||||
cd $TMP_DROPBEAR_DIR
|
||||
git sparse-checkout set package/network/services/dropbear
|
||||
git checkout a2f0cd35ac1d15e69f4897b35c049e175dd06825 # commit 2024-12-12 https://github.com/openwrt/openwrt/commits/openwrt-25.12/package/network/services/dropbear
|
||||
mv package/network/services/dropbear/* .
|
||||
)
|
||||
rm -rf $TMP_DROPBEAR_DIR/package
|
||||
rm -rf $TMP_DROPBEAR_DIR/.git
|
||||
fi
|
||||
fi
|
||||
if [ -f $TMP_DROPBEAR_MK ] && ! grep -q 'PKG_RELEASE:=0' $TMP_DROPBEAR_MK ; then
|
||||
# patch: Disable MODERN and enable RSA/DH-SHA1
|
||||
sed -i 's/^PKG_RELEASE:=.*/PKG_RELEASE:=0/g' $DROPBEAR_MK
|
||||
sed -i '/,CONFIG_DROPBEAR_MODERN_ONLY,/d' $DROPBEAR_MK
|
||||
sed -i 's/\tCONFIG_DROPBEAR_MODERN_ONLY/ /g' $DROPBEAR_MK
|
||||
sed -i 's/ CONFIG_DROPBEAR_MODERN_ONLY/ /g' $DROPBEAR_MK
|
||||
sed -i 's/DROPBEAR_DH_GROUP14_SHA1,0/ /g' $DROPBEAR_MK
|
||||
sed -i 's/DROPBEAR_SHA1_HMAC,0/ /g' $DROPBEAR_MK
|
||||
sed -i 's/^PKG_RELEASE:=.*/PKG_RELEASE:=0/g' $TMP_DROPBEAR_MK
|
||||
sed -i '/,CONFIG_DROPBEAR_MODERN_ONLY,/d' $TMP_DROPBEAR_MK
|
||||
sed -i 's/\tCONFIG_DROPBEAR_MODERN_ONLY/ /g' $TMP_DROPBEAR_MK
|
||||
sed -i 's/ CONFIG_DROPBEAR_MODERN_ONLY/ /g' $TMP_DROPBEAR_MK
|
||||
sed -i 's/DROPBEAR_DH_GROUP14_SHA1,0/ /g' $TMP_DROPBEAR_MK
|
||||
sed -i 's/DROPBEAR_SHA1_HMAC,0/ /g' $TMP_DROPBEAR_MK
|
||||
echo ">>> dropbear patched !!! (disable MODERN_ONLY)"
|
||||
fi
|
||||
if [ -f $DROPBEAR_MK ] && [ -f $TMP_DROPBEAR_MK ] && ! cmp -s $DROPBEAR_MK $TMP_DROPBEAR_MK ; then
|
||||
# downgrade dropbear to 2024.86 (OpenWrt v24.10)
|
||||
rm -rf $DROPBEAR_DIR/*
|
||||
cp -a $TMP_DROPBEAR_DIR/. $DROPBEAR_DIR/
|
||||
echo ">>> dropbear downgraded to 2024.86 !!!"
|
||||
fi
|
||||
|
||||
make defconfig
|
||||
|
||||
@@ -214,10 +216,7 @@ function build_target {
|
||||
echo -e "\nCONFIG_PACKAGE_wpad-openssl=y\n" >> $CFG
|
||||
fi
|
||||
|
||||
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/feeds/luci/modules/luci-mod-dashboard/po/ru/dashboard.po
|
||||
DASHBRDPO=$XDIR/package/feeds/luci/luci-mod-dashboard/po/ru/dashboard.po
|
||||
if [ -f $DASHBRDPO ]; then
|
||||
sed -i 's/msgid "Dashboard"/msgid "__dash_board__"/g' $DASHBRDPO
|
||||
@@ -289,31 +288,29 @@ function build_target {
|
||||
echo "Patch '$(basename $incfn)' result: OK"
|
||||
done
|
||||
|
||||
OPKG_DIR=$XDIR/files/etc/opkg
|
||||
if [ -d $OPKG_DIR ]; then
|
||||
rm -rf $OPKG_DIR
|
||||
APK_DIR=$XDIR/files/etc/apk
|
||||
if [ -d $APK_DIR ]; then
|
||||
rm -rf $APK_DIR
|
||||
fi
|
||||
FANT_PKG_KEY=$XDIR/53FF2B6672243D28.pub
|
||||
FANT_PKG_KEY=$XDIR/20241123170031.pub
|
||||
if [ -f $FANT_PKG_KEY ]; then
|
||||
OPKG_SRC_DIR=$XDIR/package/system/opkg/files
|
||||
OPKG_KEYS_DIR=$OPKG_DIR/keys
|
||||
mkdir -p $OPKG_KEYS_DIR
|
||||
cp $FANT_PKG_KEY $OPKG_KEYS_DIR/53ff2b6672243d28
|
||||
OPKG_CFEED_FN=$OPKG_DIR/customfeeds.conf
|
||||
cp $OPKG_SRC_DIR/customfeeds.conf $OPKG_CFEED_FN
|
||||
PKG_LINK="https://fantastic-packages.github.io/packages/releases/<<VER>>/packages/<<ARCH>>"
|
||||
echo "" >> $OPKG_CFEED_FN
|
||||
echo "src/gz fantastic_packages_luci $PKG_LINK/luci" >> $OPKG_CFEED_FN
|
||||
echo "src/gz fantastic_packages_packages $PKG_LINK/packages" >> $OPKG_CFEED_FN
|
||||
echo "src/gz fantastic_packages_special $PKG_LINK/special" >> $OPKG_CFEED_FN
|
||||
APK_SRC_DIR=$XDIR/package/system/apk/files
|
||||
APK_KEYS_DIR=$APK_DIR/keys
|
||||
mkdir -p $APK_KEYS_DIR
|
||||
cp $FANT_PKG_KEY $APK_KEYS_DIR/fantastic-packages-20241123170031.pem
|
||||
APK_CFEED_FN=$APK_DIR/repositories.d/customfeeds.list
|
||||
mkdir -p $APK_DIR/repositories.d
|
||||
cp $APK_SRC_DIR/customfeeds.list $APK_CFEED_FN
|
||||
PKG_LINK="https://fantastic-packages.github.io/releases/<<VER>>/packages/<<ARCH>>"
|
||||
echo "" >> $APK_CFEED_FN
|
||||
echo "$PKG_LINK/luci/packages.adb" >> $APK_CFEED_FN
|
||||
echo "$PKG_LINK/packages/packages.adb" >> $APK_CFEED_FN
|
||||
echo "$PKG_LINK/special/packages.adb" >> $APK_CFEED_FN
|
||||
TARGET_ARCH_PACKAGES=$( get_cfg_opt_value $CFG TARGET_ARCH_PACKAGES )
|
||||
[ -z "$TARGET_ARCH_PACKAGES" ] && die "Cannot find TARGET ARCH"
|
||||
sed -i "s/<<VER>>/24.10/g" $OPKG_CFEED_FN
|
||||
sed -i "s/<<ARCH>>/$TARGET_ARCH_PACKAGES/g" $OPKG_CFEED_FN
|
||||
logmsg "Added support of Fantastic packages [https://fantastic-packages.github.io/packages]"
|
||||
fi
|
||||
if [ $BUILD_ONLY_INITRAMFS = true ]; then
|
||||
rm -f $OPKG_DIR/customfeeds.conf
|
||||
sed -i "s/<<VER>>/25.12/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]"
|
||||
fi
|
||||
|
||||
SYSCTLCONF_FN=$XDIR/files/etc/sysctl.conf
|
||||
@@ -344,19 +341,13 @@ function build_config {
|
||||
local cfg=$1
|
||||
local cfg_name=$( basename $cfg )
|
||||
local target_name=${cfg_name%.*}
|
||||
local initramfs=false
|
||||
local board=$( get_cfg_board $cfg )
|
||||
local subtarget=$( get_cfg_subtarget $cfg $board )
|
||||
local device=$( get_cfg_dev_lst $cfg $board $subtarget )
|
||||
local outdir=$XDIR/bin/targets/$board/$subtarget
|
||||
|
||||
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
|
||||
echo Start build for target $cfg_name "($board-$subtarget-$device)"
|
||||
|
||||
build_target $cfg_name
|
||||
|
||||
if [ ! -f $outdir/kernel-debug.tar.zst ]; then
|
||||
echo "ERROR: cannot build images for target $target_name"
|
||||
@@ -371,9 +362,6 @@ function build_config {
|
||||
|
||||
if [ "$XTARGET" != "*" ]; then
|
||||
TARGETCFG=$XDIR/$XTARGET
|
||||
if [ $BUILD_ONLY_INITRAMFS = true ]; then
|
||||
TARGETCFG=$XDIR/_initramfs/$XTARGET
|
||||
fi
|
||||
XTARGET_EXT="${XTARGET##*.}"
|
||||
[ $XTARGET_EXT != config ] && TARGETCFG=$TARGETCFG.config
|
||||
[ ! -f $TARGETCFG ] && die "File '"`basename $TARGETCFG`"' not found!"
|
||||
@@ -385,12 +373,7 @@ if [ "$XTARGET" != "*" ]; then
|
||||
fi
|
||||
|
||||
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' )
|
||||
fi
|
||||
CFG_LIST=$( find $XDIR/* -maxdepth 1 -name '[a-z0-9]*.config' )
|
||||
|
||||
rm -rf $XOUT
|
||||
|
||||
@@ -399,16 +382,35 @@ if [ -z "$CFG_LIST" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $BUILD_ONLY_INITRAMFS = true ]; then
|
||||
echo "Start make initramfs configs!"
|
||||
else
|
||||
echo "Start make non initramfs configs!"
|
||||
fi
|
||||
|
||||
clean_all
|
||||
|
||||
INITRAMFS_COUNT=0
|
||||
for CFG in $CFG_LIST; do
|
||||
build_config $CFG
|
||||
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!"
|
||||
clean_all
|
||||
for CFG in $CFG_LIST; do
|
||||
[[ "$CFG" != *"_initramfs"* ]] && continue # process only initramfs configs
|
||||
build_config $CFG
|
||||
done
|
||||
fi
|
||||
|
||||
if [ $BUILD_ONLY_INITRAMFS != true ]; then
|
||||
echo "Start make non initramfs configs!"
|
||||
clean_all
|
||||
for CFG in $CFG_LIST; do
|
||||
[[ "$CFG" == *"_initramfs"* ]] && continue # skip initramfs configs
|
||||
build_config $CFG
|
||||
done
|
||||
fi
|
||||
|
||||
echo "All targets was builded!"
|
||||
|
||||
+2
-2
@@ -4,8 +4,8 @@ SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||
export XDIR=$SCRIPT_DIR
|
||||
export XADDONSDIR=$XDIR/package/addons
|
||||
FEEDSDIR=$XDIR/package/feeds
|
||||
ADDONSCFG=$XDIR/_cfginc/_addons.config
|
||||
ADDONSNSS=$XDIR/_cfginc/_addons_nss.config
|
||||
ADDONSCFG=$XDIR/_addons.config
|
||||
ADDONSNSS=$XDIR/_addons_nss.config
|
||||
|
||||
. ./xcommon.sh
|
||||
|
||||
|
||||
File renamed without changes.
Reference in new issue
Block a user