Compare commits

..
17 Commits
25 changed files with 172 additions and 106 deletions

No files matched your search

+6 -6
View File
@@ -56,8 +56,8 @@ env:
G_PKG_DIR: ${{ github.event.inputs.package_dir }}
REPO_URL: https://github.com/openwrt-xiaomi/openwrt
REPO_LNK: openwrt-xiaomi/openwrt
REPO_BRANCH: xq-25.12
TAG_PREFIX: v25-
REPO_BRANCH: xq-24.10
TAG_PREFIX: v24-
TZ: UTC
DEVICE_NAME: unknown
BUILD_DATE: unknown
@@ -157,8 +157,9 @@ jobs:
- rt-ax57m
- rt-ax59u
- rt-ax89x
- tuf_ax4200
- tuf_ax6000
- tuf-ax4200
- tuf-ax4200q
- tuf-ax6000
- zen-bt8
isTest:
- ${{ needs.check.outputs.test_build == 'true' }}
@@ -213,8 +214,7 @@ jobs:
- name: Init builder
run: |
chmod +x *.sh
#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
wget https://github.com/fantastic-packages/packages/raw/refs/heads/24.10/keys/usign/53FF2B6672243D28.pub
- name: Update OpenWrt packages
id: update
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_atftp=y
#CONFIG_PACKAGE_atftpd=y
CONFIG_PACKAGE_lscpu=y
CONFIG_PACKAGE_bind-tools=y
CONFIG_PACKAGE_facinstall=y
### Add-on programs
@@ -186,6 +188,7 @@ CONFIG_OPENSSL_WITH_MDC2=y
CONFIG_OPENSSL_WITH_WHIRLPOOL=y
### SSL certificates
CONFIG_PACKAGE_ca-bundle=y
CONFIG_PACKAGE_ca-certificates=y
### Luci
@@ -37,12 +37,14 @@ 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
@@ -55,6 +57,7 @@ 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
@@ -64,6 +67,10 @@ 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
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.
+44
View File
@@ -0,0 +1,44 @@
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.
+96 -98
View File
@@ -15,7 +15,6 @@ 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
@@ -26,7 +25,6 @@ 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
@@ -70,7 +68,7 @@ function build_target {
fi
inclst=$( get_cfg_inc_lst $CFG )
for inc in $inclst; do
incfn=$XDIR/$inc
incfn=$XDIR/_cfginc/$inc
[ ! -f $incfn ] && die "File '$inc' not found!"
sed -i "/#include $inc/a <<LF>><<LF>>" $CFG
sed -i "s/<<LF>>/\n/g" $CFG
@@ -121,10 +119,10 @@ function build_target {
fi
fi
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
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
fi
fi
@@ -135,51 +133,51 @@ function build_target {
fi
fi
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 !!!"
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"
fi
DROPBEAR_DIR=$XDIR/package/network/services/dropbear
DROPBEAR_MK=$DROPBEAR_DIR/Makefile
TMP_DROPBEAR_DIR=$XDIR/_dropbear2024
TMP_DROPBEAR_MK=$TMP_DROPBEAR_DIR/Makefile
DROPBEAR_MK=$XDIR/package/network/services/dropbear/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' $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
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
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
@@ -216,7 +214,10 @@ 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
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
if [ -f $DASHBRDPO ]; then
sed -i 's/msgid "Dashboard"/msgid "__dash_board__"/g' $DASHBRDPO
@@ -288,29 +289,31 @@ function build_target {
echo "Patch '$(basename $incfn)' result: OK"
done
APK_DIR=$XDIR/files/etc/apk
if [ -d $APK_DIR ]; then
rm -rf $APK_DIR
OPKG_DIR=$XDIR/files/etc/opkg
if [ -d $OPKG_DIR ]; then
rm -rf $OPKG_DIR
fi
FANT_PKG_KEY=$XDIR/20241123170031.pub
FANT_PKG_KEY=$XDIR/53FF2B6672243D28.pub
if [ -f $FANT_PKG_KEY ]; then
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
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
TARGET_ARCH_PACKAGES=$( get_cfg_opt_value $CFG TARGET_ARCH_PACKAGES )
[ -z "$TARGET_ARCH_PACKAGES" ] && die "Cannot find TARGET ARCH"
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]"
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
fi
SYSCTLCONF_FN=$XDIR/files/etc/sysctl.conf
@@ -341,13 +344,19 @@ 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
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
echo "ERROR: cannot build images for target $target_name"
@@ -362,6 +371,9 @@ 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!"
@@ -373,7 +385,12 @@ if [ "$XTARGET" != "*" ]; then
fi
XOUT=$XDIR/xout
CFG_LIST=$( find $XDIR/* -maxdepth 1 -name '[a-z0-9]*.config' )
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
rm -rf $XOUT
@@ -382,35 +399,16 @@ if [ -z "$CFG_LIST" ]; then
exit 1
fi
INITRAMFS_COUNT=0
if [ $BUILD_ONLY_INITRAMFS = true ]; then
echo "Start make initramfs configs!"
else
echo "Start make non initramfs configs!"
fi
clean_all
for CFG in $CFG_LIST; do
if [[ "$CFG" == *"_initramfs"* ]]; then
INITRAMFS_COUNT=$(( INITRAMFS_COUNT + 1 ))
fi
build_config $CFG
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
View File
@@ -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/_addons.config
ADDONSNSS=$XDIR/_addons_nss.config
ADDONSCFG=$XDIR/_cfginc/_addons.config
ADDONSNSS=$XDIR/_cfginc/_addons_nss.config
. ./xcommon.sh