1 Commits

Author SHA1 Message Date
remittor
79ecd0da66 Fix for Argon theme 2023-08-13 16:25:48 +03:00
39 changed files with 251 additions and 1615 deletions

View File

@@ -1,280 +0,0 @@
name: build
on:
workflow_dispatch:
inputs:
fake_build:
description: 'Fake build'
required: true
default: 'false'
type: choice
options:
- true
- false
suffix:
description: 'TAG suffix'
required: false
default: ''
type: string
env:
FAKE_BUILD: ${{ github.event.inputs.fake_build }}
REPO_URL: https://github.com/openwrt-xiaomi/openwrt
REPO_LNK: openwrt-xiaomi/openwrt
REPO_BRANCH: xq-23.05.5
TAG_PREFIX: v23-
BUILD_ROOT: ${{ github.workspace }}/openwrt
DEPENDENCIES: ${{ github.workspace }}/dependencies-ubuntu.txt
TZ: UTC
DEVICE_NAME: unknown
BUILD_DATE: unknown
REPO_DATE: unknown
FW_DATE: unknown
FW_VER: unknown
jobs:
check:
runs-on: ubuntu-24.04
outputs:
tag: ${{ steps.gh.outputs.tag }}
date: ${{ steps.gh.outputs.date }}
sha: ${{ steps.gh.outputs.sha }}
url: ${{ steps.gh.outputs.url }}
message: ${{ steps.gh.outputs.message }}
build_date: ${{ steps.gh.outputs.build_date }}
fw_date: ${{ steps.gh.outputs.fw_date }}
fw_ver: ${{ steps.gh.outputs.fw_ver }}
is_active: ${{ steps.activity.outputs.is_active }}
steps:
- name: Get repo data via GH API
id: gh
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
echo "Tag name from GITHUB_REF_NAME: $GITHUB_REF_NAME"
echo "Tag name from github.ref_name: ${{ github.ref_name }}"
BRANCH=$REPO_BRANCH
REPO_DATE=$(gh api repos/$REPO_LNK/commits/$BRANCH --jq '.commit.committer.date')
BUILD_DATE=$( date --utc +'%y%m%d' )
FW_DATE=$( date --utc +'%Y-%m-%d' )
TAG=$TAG_PREFIX$BUILD_DATE
echo "REPO_DATE=$REPO_DATE" >> $GITHUB_ENV
echo "BUILD_DATE=$BUILD_DATE" >> $GITHUB_ENV
echo "FW_DATE=$FW_DATE" >> $GITHUB_ENV
echo "TAG=$TAG" >> $GITHUB_ENV
wget $REPO_URL/raw/refs/heads/$BRANCH/include/version.mk
FW_VERSION=$( grep -s '^VERSION_NUMBER:=$(if' version.mk 2>/dev/null )
[ -z "$FW_VERSION" ] && { echo "ERROR: Cannot find VERSION_NUMBER"; exit 90; }
FW_VER=$( echo $FW_VERSION | cut -d"," -f3 | cut -d")" -f1 )
echo 'FW_VER = "'$FW_VER'"'
echo "FW_VER=$FW_VER" >> $GITHUB_ENV
rm -f version.mk
{
echo "tag=$TAG"
echo "date=$(date --utc -d $REPO_DATE +%Y%m%d)"
echo "sha=$(gh api repos/$REPO_LNK/commits/$BRANCH --jq '.sha[0:7]')"
echo "url=$(gh api repos/$REPO_LNK/commits/$BRANCH --jq '.html_url')"
echo "message<<EOF"
gh api repos/$REPO_LNK/commits/$BRANCH --jq '.commit.message'
echo EOF
echo "build_date=$BUILD_DATE"
echo "fw_date=$FW_DATE"
echo "fw_ver=$FW_VER"
} >> $GITHUB_OUTPUT
- name: Check for repo activity
id: activity
env:
REPO_DATE: ${{ env.REPO_DATE }}
URL: ${{ steps.gh.outputs.url }}
run: |
TIMESTAMP=$(date --utc -d $REPO_DATE +%s)
DAYS=$(( ( $(date --utc +%s) - $TIMESTAMP ) / 86400 ))
echo "Repository activity: $(date --utc -d $REPO_DATE)"
echo "Commit: $URL"
if [ "${{ github.event_name }}" != "schedule" ]; then
is_active=true
elif [[ $DAYS -lt 1 ]] ; then
is_active=true
else
echo "Repository not updated within last 24 hours."
is_active=false
fi
echo "is_active=$is_active" >> $GITHUB_OUTPUT
build:
needs: check
#if: needs.check.outputs.is_active == 'true'
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
target:
- kng_re
- r3d
- r3g
- rb03
- rb06
- rd03
- rt-ax52
- rt-ax57m
- rt-ax59u
- tuf_ax4200
- tuf_ax6000
steps:
- name: Initialization environment
env:
DEBIAN_FRONTEND: noninteractive
run: |
sudo apt-get -qq update
#sudo apt-get -qq update && sudo apt-get -qq upgrade
sudo apt-get -qq install $(cat $DEPENDENCIES)
sudo apt-get -qq autoremove --purge
sudo apt-get -qq clean
sudo timedatectl set-timezone "$TZ"
- name: Maximize build disk space
uses: easimon/maximize-build-space@master
with:
remove-dotnet: true
remove-android: true
remove-haskell: true
remove-codeql: true
remove-docker-images: true
- name: Checkout builder
uses: actions/checkout@main
- name: Download OpenWrt sources
run: git clone --branch $REPO_BRANCH $REPO_URL.git $BUILD_ROOT
- name: Init builder
env:
BLDROOT: ${{ github.workspace }}
shell: bash
run: |
rsync -avq --exclude=".*" --exclude="$(basename $BUILD_ROOT)" $BLDROOT/ $BUILD_ROOT/
cd $BUILD_ROOT
chmod +x *.sh
wget https://github.com/fantastic-packages/packages/raw/refs/heads/24.10/keys/usign/53FF2B6672243D28.pub
- name: Update OpenWrt packages
id: update
run: |
cd $BUILD_ROOT && ./xupdate.sh -f
echo "status=success" >> $GITHUB_OUTPUT
- name: Build the firmware image
id: compile
if: steps.update.outputs.status == 'success'
env:
TARGET: ${{ matrix.target }}
FW_VER: ${{ needs.check.outputs.fw_ver }}
run: |
cd $BUILD_ROOT
MAKE_JOBS=$(($(nproc)+1))
echo "$MAKE_JOBS thread compile"
./xmake.sh -I -t $TARGET
[ "$FAKE_BUILD" != "true" ] && make -j $MAKE_JOBS download world
FILE_DATE=$(date --utc +'%y%m%d')
DEVICE_NAME=$( grep -so '^CONFIG_TARGET.*DEVICE.*=y' .config | sed -r 's/.*DEVICE_(.*)=y/\1/' )
BOARD_NAME=$( grep -so '^CONFIG_TARGET_BOARD=.*' .config | cut -d'"' -f2 )
SUBTARGET_NAME=$( grep -so '^CONFIG_TARGET_SUBTARGET=.*' .config | cut -d'"' -f2 )
OUT_DIR=$BUILD_ROOT/bin/targets/$BOARD_NAME/$SUBTARGET_NAME
if [ "$FAKE_BUILD" = "true" ]; then
mkdir -p logs
mkdir -p $OUT_DIR
echo "$BOARD_NAME $SUBTARGET_NAME $DEVICE_NAME" > "$OUT_DIR/$DEVICE_NAME.txt"
touch "$OUT_DIR/kernel-debug.tar.zst"
ls -la
BLD_VER=$FW_VER
else
BLD_VER=$( cat $OUT_DIR/profiles.json | grep -so '"version_number":"[^"]*' | grep -so '[^"]*$' )
fi
echo "Firmware $BLD_VER [$FILE_DATE] builded!"
if [ ! -f $OUT_DIR/kernel-debug.tar.zst ]; then
echo "File kernel-debug.tar.zst not found!"
exit 100
fi
echo "status=success" >> $GITHUB_OUTPUT
echo "DEVICE_NAME=$DEVICE_NAME" >> $GITHUB_ENV
echo "BOARD_NAME=$BOARD_NAME" >> $GITHUB_ENV
echo "SUBTARGET_NAME=$SUBTARGET_NAME" >> $GITHUB_ENV
echo "BLD_VER=$BLD_VER" >> $GITHUB_ENV
echo "OUT_DIR=$OUT_DIR" >> $GITHUB_ENV
echo "FILE_DATE=$FILE_DATE" >> $GITHUB_ENV
- name: Check space usage
run: df -hT
- name: Compress build logs
if: always()
env:
TARGET: ${{ matrix.target }}
FW_DATE: ${{ needs.check.outputs.fw_date }}
LOGS_DIR: ${{ env.BUILD_ROOT }}/logs
run: |
tar -cJvf logs-$TARGET-$FW_DATE.tar.xz $LOGS_DIR
- name: Cleanup OUT directory
if: steps.compile.outputs.status == 'success'
env:
OUT_DIR: ${{ env.OUT_DIR }}
run: |
cd $OUT_DIR
echo "---------------------------"
ls -la
echo "---------------------------"
rm -rf packages
rm -f kernel-*
rm -f *uImage
rm -f *ubi-cleaner*
rm -f *-ram-*.bin
- name: Upload OUT directory
uses: actions/upload-artifact@main
if: steps.compile.outputs.status == 'success'
with:
name: openwrt-${{ env.BLD_VER }}-${{ needs.check.outputs.build_date }}-${{ env.DEVICE_NAME }}
path: ${{ env.OUT_DIR }}
if-no-files-found: error
- name: Upload build logs
if: always()
uses: actions/upload-artifact@v4
with:
name: logs-${{ matrix.target }}-${{ env.FW_DATE }}
path: logs-*.tar.xz
release:
needs: [ check, build ]
permissions:
contents: write
runs-on: ubuntu-24.04
strategy:
max-parallel: 1
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
pattern: openwrt-*
- name: Put images into zip
run: |
mkdir -p public
find . -mindepth 1 -type d -name 'openwrt-*' -exec sh -c 'zip -0 ./public/$(basename {}).zip -j {} {}/*' \;
ls -lh ./public/*.zip
- name: Upload assets
uses: andelf/nightly-release@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAG: ${{ needs.check.outputs.tag }}
with:
prerelease: false
tag_name: ${{ needs.check.outputs.tag }}
name: '${{ needs.check.outputs.tag }}'
body: |
OpenWrt ${{ needs.check.outputs.fw_ver }} [${{ needs.check.outputs.fw_date }}]
author: [remittor](https://github.com/remittor)
files: ./public/*.zip

View File

@@ -1,5 +1,3 @@
[![Github All Releases](https://img.shields.io/github/downloads/openwrt-xiaomi/builder/total.svg)](https://github.com/openwrt-xiaomi/builder/releases)
# OpenWrt builder
For OpenWrt >= 21.02
@@ -15,11 +13,11 @@ sudo apt-get install python3-distutils rsync unzip zlib1g-dev
## Build firmware
```
git clone https://github.com/openwrt-xiaomi/builder -b v23 openwrt-v23
cd openwrt-v23
git clone https://github.com/openwrt-xiaomi/builder -b v21 openwrt-v21
cd openwrt-v21
./xcreate.sh -v xq-23.05.0
cd xq-23.05.0
./xcreate.sh -v xq-21.02.3
cd xq-21.02.3
./xupdate.sh -f

View File

@@ -1,10 +1,4 @@
### facinstall
#GIT_PACKAGE facinstall=https://github.com/openwrt-xiaomi/facinstall.git main
### cozymenu
#GIT_PACKAGE cozymenu=https://github.com/openwrt-xiaomi/cozymenu.git master
### alpine-fan-control
#GIT_FEED _alpine_fan_control=https://github.com/openwrt-xiaomi/openwrt-alpine-fan-control.git
CONFIG_FEED__alpine_fan_control=m
@@ -19,10 +13,10 @@ CONFIG_FEED__alpine_fan_control=m
#GIT_PACKAGE luci-app-diskman=https://github.com/openwrt-xiaomi/luci-app-diskman.git master
### luci-theme-argon
#GIT_PACKAGE luci-theme-argon=https://github.com/openwrt-xiaomi/luci-theme-argon.git master
#GIT_PACKAGE luci-theme-argon=https://github.com/openwrt-xiaomi/luci-theme-argon.git v2.2.9
### luci-app-argon-config
#GIT_PACKAGE luci-app-argon-config=https://github.com/openwrt-xiaomi/luci-app-argon-config.git master
#GIT_PACKAGE luci-app-argon-config=https://github.com/openwrt-xiaomi/luci-app-argon-config.git v0.9
### luci-app-tn-netports
#GIT_PACKAGE luci-app-tn-netports=https://github.com/openwrt-xiaomi/luci-app-tn-netports.git master
@@ -33,30 +27,12 @@ CONFIG_FEED__alpine_fan_control=m
### luci-app-cpufreq
#GIT_PACKAGE luci-app-cpufreq=https://github.com/openwrt-xiaomi/luci-app-cpufreq.git master
### qBittorrent
#GIT_PACKAGE qBittorrent=https://github.com/openwrt-xiaomi/qBittorrent-openwrt-package.git master
### luci-app-qbittorrent
#GIT_PACKAGE luci-app-qbittorrent=https://github.com/openwrt-xiaomi/luci-app-qbittorrent.git master
### luci-app-filebrowser
#GIT_PACKAGE luci-app-filebrowser=https://github.com/openwrt-xiaomi/luci-app-filebrowser.git master
### luci-app-netspeedtest
#GIT_PACKAGE luci-app-netspeedtest=https://github.com/openwrt-xiaomi/luci-app-netspeedtest.git master
### AmneziaWG
#GIT_FEED _amneziawg=https://github.com/lolo6oT/awg-openwrt.git dev-23.05
CONFIG_FEED__amneziawg=m
### ruantiblock
#GIT_FEED _ruantiblock=https://github.com/gSpotx2f/ruantiblock_openwrt.git
CONFIG_FEED__ruantiblock=m
### podkop (itdog)
#GIT_FEED _podkop=https://github.com/itdoginfo/podkop.git
CONFIG_FEED__podkop=m
### xwrt-packages
#GIT_FEED _xwrt_packages=https://github.com/x-wrt/com.x-wrt.git master
CONFIG_FEED__xwrt_packages=m

View File

@@ -1,48 +0,0 @@
### For NON compatible official firmwares!!!
CONFIG_KERNEL_KALLSYMS=y
#CONFIG_KERNEL_DEBUG_INFO=y
#CONFIG_KERNEL_DEBUG_INFO_REDUCED=y
#CONFIG_KERNEL_DEBUG_KERNEL=y
CONFIG_PACKAGE_kmod-bonding=y
CONFIG_PACKAGE_proto-bonding=y
CONFIG_PACKAGE_luci-proto-bonding=y
### NSS Drivers
#GIT_FEED nss=https://github.com/openwrt-xiaomi/nss-packages.git;NSS-11.2-K5.15
CONFIG_FEED_nss=m
CONFIG_PACKAGE_MAC80211_NSS_SUPPORT=y
CONFIG_PACKAGE_kmod-qca-nss-gmac=y
CONFIG_PACKAGE_kmod-qca-nss-ecm-standard=y
CONFIG_PACKAGE_kmod-qca-nss-drv=y
CONFIG_PACKAGE_kmod-qca-nss-drv-qdisc=y
CONFIG_PACKAGE_kmod-qca-nss-drv-pppoe=y
CONFIG_PACKAGE_kmod-qca-nss-drv-l2tpv2=y
CONFIG_PACKAGE_kmod-qca-nss-drv-tunipip6=y
CONFIG_PACKAGE_kmod-qca-nss-drv-igs=y
CONFIG_PACKAGE_kmod-qca-nss-drv-pptp=y
#CONFIG_PACKAGE_kmod-qca-mcs=y
#CONFIG_PACKAGE_kmod-qca-nat46=y
##CONFIG_PACKAGE_kmod-qca-nss-ecm=y
##CONFIG_PACKAGE_kmod-qca-nss-ecm-noload is not set
##CONFIG_PACKAGE_kmod-qca-nss-cfi-cryptoapi=y
CONFIG_PACKAGE_kmod-qca-nss-crypto=y
CONFIG_PACKAGE_kmod-nss-ifb=y
#CONFIG_PACKAGE_nssinfo=y
### sqm-scripts-nss (by KONG)
#GIT_FEED sqm_scripts_nss=https://github.com/openwrt-xiaomi/sqm-scripts-nss.git
CONFIG_FEED_sqm_scripts_nss=m
CONFIG_PACKAGE_sqm-scripts-nss=y

View File

@@ -13,10 +13,6 @@ CONFIG_COLLECT_KERNEL_DEBUG=y
### Per-package build logs in <buildroot>/logs
CONFIG_BUILD_LOG=y
### Kernel debug tools
CONFIG_PACKAGE_kmod-pstore=y
CONFIG_PACKAGE_kmod-ramoops=y
### Include package list in build
CONFIG_INCLUDE_CONFIG=y
@@ -31,35 +27,30 @@ CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_REGEXP=y
CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_WINCH=y
### System utils
CONFIG_DROPBEAR_ECC=y
CONFIG_PACKAGE_dropbear=y
CONFIG_PACKAGE_uboot-envtools=y
CONFIG_PACKAGE_mtd-utils=y
CONFIG_PACKAGE_kmod-mtd-rw=y
CONFIG_PACKAGE_iw-full=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_atftp=y
#CONFIG_PACKAGE_atftpd=y
CONFIG_PACKAGE_facinstall=y
### Add-on programs
CONFIG_PACKAGE_iperf3=y
CONFIG_PACKAGE_htop=y
CONFIG_PACKAGE_nano=y
CONFIG_PACKAGE_ccrypt=y
CONFIG_LIBCURL_PROXY=y
CONFIG_PACKAGE_curl=y
CONFIG_PACKAGE_wget=y
CONFIG_PACKAGE_patch=y
CONFIG_PACKAGE_diffutils=y
CONFIG_PACKAGE_tree=y
CONFIG_PACKAGE_irqbalance=y
CONFIG_DROPBEAR_ECC=y
CONFIG_PACKAGE_terminfo=y
CONFIG_PACKAGE_zlib=y
CONFIG_PACKAGE_ethtool=y
CONFIG_PACKAGE_openssl-util=y
### USB device mount & file systems support
CONFIG_PACKAGE_gdisk=y
@@ -89,18 +80,9 @@ CONFIG_PACKAGE_kmod-nls-iso8859-15=y
CONFIG_PACKAGE_kmod-nls-utf8=y
### WAN proto
CONFIG_PACKAGE_kmod-tls=y
CONFIG_PACKAGE_kmod-l2tp=y
CONFIG_PACKAGE_kmod-pppol2tp=y
CONFIG_PACKAGE_kmod-pppoe=y
CONFIG_PACKAGE_kmod-pptp=y
CONFIG_PACKAGE_kmod-nf-nathelper-extra=y
### IPsec
#CONFIG_PACKAGE_kmod-ipsec=y
#CONFIG_PACKAGE_iptables-mod-ipsec=m
#CONFIG_PACKAGE_kmod-ipt-ipsec=m
#CONFIG_PACKAGE_kmod-crypto-authenc=y
### PPTP support
CONFIG_PACKAGE_luci-proto-ppp=y
@@ -127,18 +109,6 @@ CONFIG_PACKAGE_6rd=y
### IPv6 NAT support (ip6tables NAT extensions, ipt-nat6 and nf-nat6 kmods)
##CONFIG_PACKAGE_ip6tables-mod-nat=y
### OpenSSL
CONFIG_LIBCURL_OPENSSL=y
CONFIG_PACKAGE_libopenssl=y
CONFIG_PACKAGE_libopenssl-legacy=y
#CONFIG_PACKAGE_libopenssl-devcrypto=y
CONFIG_PACKAGE_openssl-util=y
CONFIG_PACKAGE_libwebsockets-full=y
CONFIG_PACKAGE_libuhttpd-openssl=y
### LuCI with HTTPS support (OpenSSL as SSL backend)
CONFIG_PACKAGE_luci-ssl-openssl=y
### SSL certificates
CONFIG_PACKAGE_ca-certificates=y
@@ -172,8 +142,8 @@ CONFIG_PACKAGE_luci-theme-material=y
CONFIG_PACKAGE_luci-theme-openwrt=y
CONFIG_PACKAGE_luci-theme-openwrt-2020=y
### Luci menu customizer
CONFIG_PACKAGE_cozymenu=y
### LuCI with HTTPS support (WolfSSL as SSL backend)
CONFIG_PACKAGE_luci-ssl=y
### Luci statistics
CONFIG_PACKAGE_luci-app-statistics=y
@@ -183,29 +153,15 @@ CONFIG_PACKAGE_collectd-mod-cpufreq=y
CONFIG_PACKAGE_collectd-mod-entropy=y
CONFIG_PACKAGE_collectd-mod-ping=y
CONFIG_PACKAGE_collectd-mod-thermal=y
CONFIG_PACKAGE_collectd-mod-sensors=y
CONFIG_PACKAGE_collectd-mod-uptime=y
### hostap
#CONFIG_PACKAGE_hostapd-openssl=y
#CONFIG_PACKAGE_hostapd-utils=y
## https://forum.openwrt.org/t/wpad-vs-hostapd-wpa-supplicant/30844
## WPAD included wpa-supplicant + hostapd
CONFIG_PACKAGE_wpad-openssl=y
### WLAN/WPS support
CONFIG_PACKAGE_wpad-wolfssl=y
CONFIG_WPA_SUPPLICANT_INTERNAL=y
CONFIG_WPA_RFKILL_SUPPORT=y
#CONFIG_PACKAGE_wpa-supplicant-openssl=y
## CONFIG_WPA_MSG_MIN_PRIORITY=2
## CONFIG_WPA_MSG_MIN_PRIORITY=4
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y
### BATMAN
CONFIG_PACKAGE_kmod-batman-adv=y
CONFIG_PACKAGE_batctl-full=y
CONFIG_PACKAGE_luci-proto-batman-adv=y
CONFIG_PACKAGE_batmand=y
### Wake On Lan
##CONFIG_PACKAGE_luci-app-wol=y
##CONFIG_PACKAGE_luci-i18n-wol-ru=y
@@ -231,31 +187,3 @@ CONFIG_PACKAGE_luci-i18n-banip-ru=y
### nlbwmon app (OpenWrt Traffic Usage Monitor)
CONFIG_PACKAGE_luci-app-nlbwmon=y
CONFIG_PACKAGE_luci-i18n-nlbwmon-ru=y
### X-WRT Packages
CONFIG_PACKAGE_kmod-natflow=y
CONFIG_PACKAGE_natflow-auth=y
CONFIG_PACKAGE_natflow-hostacl=y
CONFIG_PACKAGE_urllogger=y
CONFIG_PACKAGE_luci-app-natflow-users=y
### Disabled services
#DISABLED_SVC=ksmbd
#DISABLED_SVC=adblock
#DISABLED_SVC=batmand
#DISABLED_SVC=watchcat
#DISABLED_SVC=atftpd
#DISABLED_SVC=sqm
#DISABLED_SVC=igmpproxy
#DISABLED_SVC=ddns
#DISABLED_SVC=nextdns
#DISABLED_SVC=dnscrypt-proxy
#DISABLED_SVC=dnscrypt-proxy2
#DISABLED_SVC=shadowsocks-libev
#DISABLED_SVC=xray_core
#DISABLED_SVC=xray
#DISABLED_SVC=https-dns-proxy
#DISABLED_SVC=ruantiblock
#DISABLED_SVC=podkop
#DISABLED_SVC=youtubeUnblock

View File

@@ -1,80 +0,0 @@
CONFIG_FEED_luci=y
CONFIG_FEED_packages=y
CONFIG_FEED_routing=y
CONFIG_FEED_telephony=y
### For compatible official firmwares
CONFIG_ALL_KMODS=y
CONFIG_ALL_NONSHARED=y
CONFIG_DEVEL=y
CONFIG_KERNEL_KALLSYMS=n
CONFIG_COLLECT_KERNEL_DEBUG=y
### Per-package build logs in <buildroot>/logs
CONFIG_BUILD_LOG=y
### Kernel debug tools
CONFIG_PACKAGE_kmod-pstore=y
CONFIG_PACKAGE_kmod-ramoops=y
### Include package list in build
CONFIG_INCLUDE_CONFIG=y
### Busybox
CONFIG_PACKAGE_busybox=y
CONFIG_BUSYBOX_CUSTOM=y
##CONFIG_BUSYBOX_CONFIG_DIFF=y
CONFIG_BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY=y
CONFIG_BUSYBOX_CONFIG_FEATURE_EDITING_SAVE_ON_EXIT=y
CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_FLAGS=y
CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_REGEXP=y
CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_WINCH=y
### System utils
CONFIG_DROPBEAR_ECC=y
CONFIG_PACKAGE_dropbear=y
CONFIG_PACKAGE_uboot-envtools=y
CONFIG_PACKAGE_mtd-utils=y
CONFIG_PACKAGE_iw=y
CONFIG_PACKAGE_mc=y
CONFIG_PACKAGE_luci-app-ttyd=y
CONFIG_PACKAGE_luci-i18n-ttyd-ru=y
CONFIG_PACKAGE_atftp=y
#CONFIG_PACKAGE_atftpd=y
CONFIG_PACKAGE_facinstall=y
CONFIG_PACKAGE_kmod-mtd-rw=y
#CONFIG_PACKAGE_kmod-mtdoops=y
#CONFIG_PACKAGE_kmod-mtdram=y
#CONFIG_PACKAGE_kmod-mtdtests=y
### Add-on programs
CONFIG_PACKAGE_iperf3=y
CONFIG_PACKAGE_htop=y
CONFIG_PACKAGE_nano=y
CONFIG_PACKAGE_ccrypt=y
CONFIG_PACKAGE_wget=y
CONFIG_PACKAGE_patch=y
CONFIG_PACKAGE_diffutils=y
CONFIG_PACKAGE_tree=y
CONFIG_PACKAGE_irqbalance=y
CONFIG_PACKAGE_terminfo=y
CONFIG_PACKAGE_zlib=y
CONFIG_PACKAGE_ethtool=y
### Luci
CONFIG_LUCI_LANG_en=y
CONFIG_LUCI_LANG_ru=y
CONFIG_PACKAGE_luci=y
CONFIG_PACKAGE_luci-compat=y
CONFIG_PACKAGE_luci-base=y
CONFIG_PACKAGE_luci-i18n-base-ru=y
CONFIG_PACKAGE_luci-mod-admin-full=y
CONFIG_PACKAGE_luci-mod-network=y
CONFIG_PACKAGE_luci-mod-status=y
CONFIG_PACKAGE_luci-mod-system=y
CONFIG_PACKAGE_luci-app-commands=y
CONFIG_PACKAGE_luci-i18n-commands-ru=y
CONFIG_PACKAGE_luci-app-opkg=y
CONFIG_PACKAGE_luci-i18n-opkg-ru=y

View File

@@ -2,8 +2,8 @@
CONFIG_PACKAGE_luci-app-nextdns=y
CONFIG_PACKAGE_luci-i18n-nextdns-ru=y
CONFIG_PACKAGE_https-dns-proxy=y
CONFIG_PACKAGE_luci-app-https-dns-proxy=y
CONFIG_PACKAGE_luci-i18n-https-dns-proxy-ru=y
CONFIG_PACKAGE_luci-app-dnscrypt-proxy=y
CONFIG_PACKAGE_luci-i18n-dnscrypt-proxy-ru=y
CONFIG_PACKAGE_dnscrypt-proxy2=y
CONFIG_PACKAGE_igmpproxy=y

View File

@@ -1,7 +1,4 @@
### Samba
CONFIG_PACKAGE_kmod-fs-smbfs-common=y
CONFIG_PACKAGE_kmod-fs-ksmbd=y
CONFIG_PACKAGE_ksmbd-server=y
CONFIG_PACKAGE_ksmbd-hotplug=y
CONFIG_PACKAGE_luci-app-ksmbd=y
CONFIG_PACKAGE_luci-i18n-ksmbd-ru=y
CONFIG_PACKAGE_luci-app-samba4=y
CONFIG_PACKAGE_luci-i18n-samba4-ru=y
CONFIG_PACKAGE_samba4-utils=y

View File

@@ -1,49 +0,0 @@
CONFIG_OPENVPN_openssl_ENABLE_DEF_AUTH=y
CONFIG_OPENVPN_openssl_ENABLE_FRAGMENT=y
CONFIG_OPENVPN_openssl_ENABLE_LZ4=y
CONFIG_OPENVPN_openssl_ENABLE_LZO=y
CONFIG_OPENVPN_openssl_ENABLE_MULTIHOME=y
CONFIG_OPENVPN_openssl_ENABLE_PF=y
CONFIG_OPENVPN_openssl_ENABLE_PORT_SHARE=y
CONFIG_OPENVPN_openssl_ENABLE_SMALL=y
CONFIG_PACKAGE_openvpn-openssl=y
CONFIG_PACKAGE_luci-app-openvpn=y
CONFIG_PACKAGE_luci-i18n-openvpn-ru=y
CONFIG_PACKAGE_kmod-veth=y
CONFIG_PACKAGE_kmod-nft-tproxy=y
CONFIG_PACKAGE_kmod-nfnetlink-queue=y
CONFIG_PACKAGE_kmod-nft-queue=y
CONFIG_PACKAGE_kmod-nf-conntrack=y
CONFIG_PACKAGE_kmod-wireguard=y
CONFIG_PACKAGE_wireguard-tools=y
CONFIG_PACKAGE_luci-proto-wireguard=y
CONFIG_PACKAGE_kmod-amneziawg=y
CONFIG_PACKAGE_amneziawg-tools=y
#CONFIG_PACKAGE_amneziawg-go=y
CONFIG_PACKAGE_luci-proto-amneziawg=y
CONFIG_PACKAGE_shadowsocks-libev-ss-local=y
CONFIG_PACKAGE_shadowsocks-libev-ss-redir=y
CONFIG_PACKAGE_shadowsocks-libev-ss-rules=y
CONFIG_PACKAGE_shadowsocks-libev-ss-tunnel=y
CONFIG_PACKAGE_luci-app-shadowsocks-libev=y
CONFIG_PACKAGE_luci-i18n-shadowsocks-libev-ru=y
#CONFIG_PACKAGE_xray-core=y
#CONFIG_PACKAGE_luci-app-xray=y
#CONFIG_PACKAGE_v2ray-geoip=y
#CONFIG_PACKAGE_v2ray-geosite=y
CONFIG_PACKAGE_ruantiblock=y
CONFIG_PACKAGE_ruantiblock-mod-lua=y
#CONFIG_PACKAGE_ruantiblock-mod-py=y
CONFIG_PACKAGE_luci-app-ruantiblock=y
CONFIG_PACKAGE_luci-i18n-ruantiblock-ru=y
CONFIG_PACKAGE_podkop=y
CONFIG_PACKAGE_luci-app-podkop=y

View File

@@ -1 +0,0 @@
build-essential clang flex bison g++ gawk gcc-multilib g++-multilib gettext git libncurses5-dev libssl-dev python3-setuptools rsync swig unzip zlib1g-dev file wget

View File

@@ -1,150 +0,0 @@
#!/usr/bin/env bash
CURDIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
ROOTFSDIR="$1"
TOPDIR="$2"
OUTDIR=
[ -z "$OUTDIR" ] && OUTDIR=$TOPDIR
if [ -t 8 ]; then
BUILD_STATE=true
OUTPUT_PIPE=8
else
BUILD_STATE=false
OUTPUT_PIPE=2
fi
log_msg() {
printf "%s\n" "$1" >&$OUTPUT_PIPE
}
log_err() {
local msg="$1"
local _Y _R _N
if [ "$IS_TTY" == "1" -a "$NO_COLOR" != "1" ]; then
_Y=\\033[33m
_R=\\033[31m
_N=\\033[m
fi
printf "$_R%s$_N\n" "ERROR: $msg" >&$OUTPUT_PIPE
}
die() {
log_err "$1"
exit 1
}
get_param_q() {
local param=$1
local filename="$2"
echo $( grep -o -P "^$param='\K[^']+" "$filename" 2>/dev/null | tr -d '\n' )
#echo $( grep -o -P "(?<=^$param=').*(')" "$filename" 2>/dev/null )
}
get_param_qq() {
local param=$1
local filename="$2"
echo $( grep -o -P "^$param=\"\K[^\"]+" "$filename" 2>/dev/null | tr -d '\n' )
}
del_last_word() {
echo -n "${@:1:$#-1}"
}
log_msg "hook_prepare_rootfs.sh"
#log_msg "TOPDIR: '$TOPDIR'"
#log_msg "ROOTFSDIR: '$ROOTFSDIR'"
if [ ! -d "$ROOTFSDIR" ]; then
die "RootFS dir not found!"
fi
FW_VER_FN="$ROOTFSDIR/etc/openwrt_release"
if [ ! -f "$FW_VER_FN" ]; then
die "File '/etc/openwrt_release' not found!"
fi
FULL_VERSION=$( get_param_q DISTRIB_RELEASE "$FW_VER_FN" )
#log_msg "FULL_VERSION: '$FULL_VERSION'"
if [ -z "$FULL_VERSION" ]; then
die "Firmware version not found!"
fi
CURDATE=$( date --utc +%y%m%d | tr -d '\n' )
DISTR_REV=$( get_param_q DISTRIB_REVISION "$FW_VER_FN" )
DISTR_DESC=$( get_param_q DISTRIB_RELEASE "$FW_VER_FN" )
DISTR_DATE_LEN=$( echo -n "$DISTR_DESC" | awk '{print $NF}' | tr -d '\n' | wc -c )
if [ "$DISTR_DATE_LEN" = 6 ]; then
DISTR_DESC=$( del_last_word $DISTR_DESC )
fi
sed -i "/DISTRIB_DESCRIPTION=/d" "$FW_VER_FN"
echo "DISTRIB_DESCRIPTION='$DISTR_DESC $CURDATE'" >> "$FW_VER_FN"
log_msg "Option DISTRIB_DESCRIPTION patched (DATE = $CURDATE)"
FW_OSVER_FN="$ROOTFSDIR/etc/os-release"
[ ! -f "$FW_OSVER_FN" ] && die "File '/etc/os-release' not found!"
FW_OSVER2_FN="$ROOTFSDIR/usr/lib/os-release"
[ ! -f "$FW_OSVER2_FN" ] && die "File '/usr/lib/os-release' not found!"
BUILD_ID=$( get_param_qq BUILD_ID "$FW_OSVER_FN" )
PRETTY_NAME=$( get_param_qq PRETTY_NAME "$FW_OSVER_FN" )
REL_NAME=$( get_param_qq OPENWRT_RELEASE "$FW_OSVER_FN" )
sed -i "s/^BUILD_ID=.*/BUILD_ID=\"[$CURDATE] $BUILD_ID\"/g" "$FW_OSVER_FN"
sed -i "s/^BUILD_ID=.*/BUILD_ID=\"[$CURDATE] $BUILD_ID\"/g" "$FW_OSVER2_FN"
log_msg "Option BUILD_ID patched! BUILD_ID = '[$CURDATE] $BUILD_ID'"
sed -i "s/^OPENWRT_RELEASE=.*/OPENWRT_RELEASE=\"$PRETTY_NAME [$CURDATE] $BUILD_ID\"/g" "$FW_OSVER_FN"
sed -i "s/^OPENWRT_RELEASE=.*/OPENWRT_RELEASE=\"$PRETTY_NAME [$CURDATE] $BUILD_ID\"/g" "$FW_OSVER2_FN"
log_msg "Option OPENWRT_RELEASE patched! OPENWRT_RELEASE = '$PRETTY_NAME [$CURDATE] $BUILD_ID'"
BANNER_FN="$ROOTFSDIR/etc/banner"
BANNER_VER=$( grep -F "$DISTR_REV" "$BANNER_FN" 2>/dev/null )
if [ -n "$BANNER_VER" ]; then
BANNER_SUFFIX=$( echo -n "$BANNER_VER" | awk '{print $NF}' | tr -d '\n' )
if [ $( echo -n "$BANNER_SUFFIX" | wc -c ) = 6 ]; then
sed -i "s/, $BANNER_SUFFIX/, $CURDATE/g" "$BANNER_FN"
else
sed -i "s/$DISTR_REV/&, $CURDATE/" "$BANNER_FN"
fi
fi
log_msg "Banner patched (DATE = $CURDATE)"
FW_ARCH=$( get_param_q DISTRIB_ARCH "$FW_VER_FN" )
#log_msg "FW_ARCH: '$FW_ARCH'"
if [ -z "$FW_ARCH" ]; then
die "Firmware arch not found!"
fi
DIS_SVC_FN="$TOPDIR/disabled_services.lst"
if [ -f "$DIS_SVC_FN" ]; then
DIS_SVC_LST="$( cat ""$DIS_SVC_FN"" )"
for svc in $DIS_SVC_LST; do
[ -z "$svc" ] && continue
svc_xx=$(find "$ROOTFSDIR/etc/rc.d" -maxdepth 1 -name ???$svc -printf 1 -quit)
if [ -n "$svc_xx" ]; then
log_msg "Service '$svc' disabled."
fi
rm -f "$ROOTFSDIR"/etc/rc.d/S??$svc
rm -f "$ROOTFSDIR"/etc/rc.d/K??$svc
if [ "$svc" = "nextdns" ]; then
sed -i 's/nextdns enable/nextdns disable/g' "$ROOTFSDIR/etc/uci-defaults/nextdns"
fi
done
fi
NEXTDNSCFG="$ROOTFSDIR/etc/config/nextdns"
if [ -f "$NEXTDNSCFG" ]; then
sed -i "s/option enabled '1'/option enabled '0'/g" "$NEXTDNSCFG"
log_msg "Service 'nextdns' disabled."
fi
IS_SNAPSHOT=false
if echo "$FULL_VERSION" | grep snapshot >/dev/null ; then
IS_SNAPSHOT=true
log_msg "Snapshot detected."
fi

View File

@@ -10,7 +10,6 @@ CONFIG_TARGET_ramips_mt7621_DEVICE_zyxel_keenetic-giga-iii=y
#include _torrents.config
#include _proxy.config
#include _argon.config
#include _vpn.config
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y
@@ -31,6 +30,12 @@ CONFIG_PACKAGE_luci-i18n-sqm-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m
### qBittorrent
CONFIG_PACKAGE_boost=y
CONFIG_PACKAGE_boost-system=y
CONFIG_PACKAGE_rblibtorrent=y
CONFIG_PACKAGE_qbittorrent=y
### FileBrowser
CONFIG_PACKAGE_wget-ssl=y
CONFIG_PACKAGE_luci-app-filebrowser=y

29
kng_re.netports Normal file
View File

@@ -0,0 +1,29 @@
config global 'global'
option default_additional_info '0'
option default_h_mode '1'
option hv_mode_switch_button '1'
config port
option ifname 'wan'
option name 'WAN'
option type 'copper'
config port
option ifname 'lan1'
option name 'LAN 1'
option type 'copper'
config port
option ifname 'lan2'
option name 'LAN 2'
option type 'copper'
config port
option ifname 'lan3'
option name 'LAN 3'
option type 'copper'
config port
option ifname 'lan4'
option name 'LAN 4'
option type 'copper'

16
kng_re_menu.json Normal file
View File

@@ -0,0 +1,16 @@
{
"nas": {
"title": "NAS",
"order": 45,
"items": [
[ "nas", "filebrowser" ],
[ "services", "aria2" ],
[ "services", "samba4" ],
[ "services", "transmission" ],
[ "system", "diskman" ],
[ "services", "disks-info" ],
[ "services", "hd_idle" ],
[ "services", "minidlna" ]
]
}
}

View File

@@ -10,9 +10,6 @@ CONFIG_TARGET_ipq806x_generic_DEVICE_xiaomi_r3d=y
#include _torrents.config
#include _proxy.config
#include _argon.config
#include _vpn.config
CONFIG_KERNEL_KALLSYMS=y
### Temp and sensors
CONFIG_PACKAGE_lm-sensors=y
@@ -21,7 +18,6 @@ CONFIG_PACKAGE_alpine-fan-control=y
CONFIG_PACKAGE_luci-app-alpine-fan-control=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
@@ -44,6 +40,13 @@ CONFIG_PACKAGE_luci-i18n-sqm-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m
### qBittorrent
CONFIG_PACKAGE_boost=y
CONFIG_PACKAGE_boost-system=y
#CONFIG_PACKAGE_rblibtorrent=y
#CONFIG_PACKAGE_qbittorrent=y
CONFIG_PACKAGE_luci-app-qbittorrent=y
### FileBrowser
CONFIG_PACKAGE_wget-ssl=y
CONFIG_PACKAGE_luci-app-filebrowser=y
@@ -57,3 +60,4 @@ CONFIG_PACKAGE_luci-app-cpufreq=y

22
r3d.netports Normal file
View File

@@ -0,0 +1,22 @@
config global 'global'
option default_additional_info '0'
option default_h_mode '1'
option hv_mode_switch_button '1'
config port
option ifname 'eth0'
option name 'WAN'
option type 'copper'
config port
option ifname 'eth1'
option name 'LAN'
option type 'copper'
config port
option ifname 'wlan1'
option name 'WiFi 2G'
config port
option ifname 'wlan0'
option name 'WiFi 5G'

17
r3d_menu.json Normal file
View File

@@ -0,0 +1,17 @@
{
"nas": {
"title": "NAS",
"order": 45,
"items": [
[ "nas", "filebrowser" ],
[ "services", "aria2" ],
[ "services", "samba4" ],
[ "services", "transmission" ],
[ "services", "qbittorrent" ],
[ "system", "diskman" ],
[ "services", "disks-info" ],
[ "services", "hd_idle" ],
[ "services", "minidlna" ]
]
}
}

View File

@@ -10,7 +10,6 @@ CONFIG_TARGET_ramips_mt7621_DEVICE_xiaomi_mi-router-3g=y
#include _torrents.config
#include _proxy.config
#include _argon.config
#include _vpn.config
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y

19
r3g.netports Normal file
View File

@@ -0,0 +1,19 @@
config global 'global'
option default_additional_info '0'
option default_h_mode '1'
option hv_mode_switch_button '1'
config port
option ifname 'wan'
option name 'WAN'
option type 'copper'
config port
option ifname 'lan1'
option name 'LAN 1'
option type 'copper'
config port
option ifname 'lan2'
option name 'LAN 2'
option type 'copper'

16
r3g_menu.json Normal file
View File

@@ -0,0 +1,16 @@
{
"nas": {
"title": "NAS",
"order": 45,
"items": [
[ "nas", "filebrowser" ],
[ "services", "samba4" ],
[ "services", "aria2" ],
[ "services", "transmission" ],
[ "system", "diskman" ],
[ "services", "disks-info" ],
[ "services", "hd_idle" ],
[ "services", "minidlna" ]
]
}
}

View File

@@ -5,9 +5,11 @@ CONFIG_TARGET_mediatek_mt7622_DEVICE_xiaomi_redmi-router-ax6s=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
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y
@@ -29,3 +31,5 @@ CONFIG_PACKAGE_dnsmasq-full=y

24
rb03.netports Normal file
View File

@@ -0,0 +1,24 @@
config global 'global'
option default_additional_info '0'
option default_h_mode '1'
option hv_mode_switch_button '1'
config port
option ifname 'wan'
option name 'WAN'
option type 'copper'
config port
option ifname 'lan1'
option name 'LAN 1'
option type 'copper'
config port
option ifname 'lan2'
option name 'LAN 2'
option type 'copper'
config port
option ifname 'lan3'
option name 'LAN 3'
option type 'copper'

16
rb03_menu.json Normal file
View File

@@ -0,0 +1,16 @@
{
"nas": {
"title": "NAS",
"order": 45,
"items": [
[ "nas", "filebrowser" ],
[ "services", "samba4" ],
[ "services", "aria2" ],
[ "services", "transmission" ],
[ "system", "diskman" ],
[ "services", "disks-info" ],
[ "services", "hd_idle" ],
[ "services", "minidlna" ]
]
}
}

View File

@@ -1,31 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_xiaomi_redmi-router-ax6000-stock=y
#include _addons.config
#include _base.config
#include _wifi_en.config
#include _proxy.config
#include _argon.config
#include _vpn.config
### 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
### Network traffic
CONFIG_PACKAGE_luci-app-sqm=y
CONFIG_PACKAGE_luci-i18n-sqm-ru=y
### TimeControl
#CONFIG_PACKAGE_luci-app-timecontrol=m
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y

View File

@@ -1,31 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_xiaomi_mi-router-ax3000t=y
#include _addons.config
#include _base.config
#include _wifi_en.config
#include _proxy.config
#include _argon.config
#include _vpn.config
### 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
### Network traffic
CONFIG_PACKAGE_luci-app-sqm=y
CONFIG_PACKAGE_luci-i18n-sqm-ru=y
### TimeControl
#CONFIG_PACKAGE_luci-app-timecontrol=m
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y

View File

@@ -1,51 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_routerich_ax3000=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
### 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
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### Network traffic
CONFIG_PACKAGE_luci-app-sqm=y
CONFIG_PACKAGE_luci-i18n-sqm-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m
### FileBrowser
CONFIG_PACKAGE_wget-ssl=y
CONFIG_PACKAGE_luci-app-filebrowser=y
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y

View File

@@ -1,37 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_rt-ax52=y
#include _addons.config
#include _base.config
#include _wifi_en.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
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### Network traffic
CONFIG_PACKAGE_luci-app-sqm=y
CONFIG_PACKAGE_luci-i18n-sqm-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m
### FileBrowser
CONFIG_PACKAGE_wget-ssl=y
CONFIG_PACKAGE_luci-app-filebrowser=y
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y

View File

@@ -1,17 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_rt-ax52=y
#include _addons.config
#include _base_initrd.config
CONFIG_TARGET_INITRAMFS_FORCE=y
CONFIG_TARGET_ROOTFS_INITRAMFS=y
CONFIG_USES_SEPARATE_INITRAMFS=n
CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE=n
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y

View File

@@ -1,37 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_rt-ax57m=y
#include _addons.config
#include _base.config
#include _wifi_en.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
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### Network traffic
CONFIG_PACKAGE_luci-app-sqm=y
CONFIG_PACKAGE_luci-i18n-sqm-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m
### FileBrowser
CONFIG_PACKAGE_wget-ssl=y
CONFIG_PACKAGE_luci-app-filebrowser=y
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y

View File

@@ -1,17 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_rt-ax57m=y
#include _addons.config
#include _base_initrd.config
CONFIG_TARGET_INITRAMFS_FORCE=y
CONFIG_TARGET_ROOTFS_INITRAMFS=y
CONFIG_USES_SEPARATE_INITRAMFS=n
CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE=n
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y

View File

@@ -1,55 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_rt-ax59u=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
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### Network traffic
CONFIG_PACKAGE_luci-app-sqm=y
CONFIG_PACKAGE_luci-i18n-sqm-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m
### FileBrowser
CONFIG_PACKAGE_wget-ssl=y
CONFIG_PACKAGE_luci-app-filebrowser=y
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y
### CPU Freq
CONFIG_PACKAGE_luci-app-cpufreq=y

View File

@@ -1,17 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_rt-ax59u=y
#include _addons.config
#include _base_initrd.config
CONFIG_TARGET_INITRAMFS_FORCE=y
CONFIG_TARGET_ROOTFS_INITRAMFS=y
CONFIG_USES_SEPARATE_INITRAMFS=n
CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE=n
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y

View File

@@ -1,55 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_tuf-ax4200=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
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### Network traffic
CONFIG_PACKAGE_luci-app-sqm=y
CONFIG_PACKAGE_luci-i18n-sqm-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m
### FileBrowser
CONFIG_PACKAGE_wget-ssl=y
CONFIG_PACKAGE_luci-app-filebrowser=y
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y
### CPU Freq
CONFIG_PACKAGE_luci-app-cpufreq=y

View File

@@ -1,17 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_tuf-ax4200=y
#include _addons.config
#include _base_initrd.config
CONFIG_TARGET_INITRAMFS_FORCE=y
CONFIG_TARGET_ROOTFS_INITRAMFS=y
CONFIG_USES_SEPARATE_INITRAMFS=n
CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE=n
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y

View File

@@ -1,55 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_tuf-ax6000=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
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### Network traffic
CONFIG_PACKAGE_luci-app-sqm=y
CONFIG_PACKAGE_luci-i18n-sqm-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m
### FileBrowser
CONFIG_PACKAGE_wget-ssl=y
CONFIG_PACKAGE_luci-app-filebrowser=y
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y
### CPU Freq
CONFIG_PACKAGE_luci-app-cpufreq=y

View File

@@ -1,17 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_tuf-ax6000=y
#include _addons.config
#include _base_initrd.config
CONFIG_TARGET_INITRAMFS_FORCE=y
CONFIG_TARGET_ROOTFS_INITRAMFS=y
CONFIG_USES_SEPARATE_INITRAMFS=n
CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE=n
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y

View File

@@ -1,8 +1,8 @@
#!/bin/bash
XSUPPORTEDVER=23
XSUPPORTEDVER=21
XREPOADDR=https://github.com/openwrt-xiaomi
XDEFBRANCH=xq-23.05.0
XDEFBRANCH=xq-21.02.3
logmsg() {
echo "$@"
@@ -19,24 +19,6 @@ die() {
#[ ! -d "$XDIR" ] && die "Base directory not defined"
function sed_adapt
{
local str=$( ( echo $1|sed -r 's/([\$\.\*\/\[\\^])/\\\1/g'|sed 's/[]]/\\]/g' )>&1 )
echo "$str"
}
is_nss_repo() {
local FN=$1/package/kernel/mac80211/Makefile
if [ ! -f "$FN" ]; then
return $(false)
fi
if [ $( grep -q "kmod-qca-nss-drv" $FN >/dev/null; echo "$?" ) != "0" ]; then
return $(false)
fi
return $(true)
}
get_cfg_inc_lst() {
local cfg=$1
local k=$( grep -o -P '(?<=^#include ).*' "$cfg" 2> /dev/null )
@@ -69,12 +51,6 @@ get_cfg_expkg_url() {
echo "$k"
}
get_cfg_dis_svc_lst() {
local cfg=$1
local k=$( grep -o -P '(?<=^#DISABLED_SVC=).*' "$cfg" 2> /dev/null )
echo "$k"
}
get_cfg_board() {
local cfg=$1
local k=$( grep -o -P "(?<=^CONFIG_TARGET_)[a-z0-9]+(?==y)" "$cfg" 2> /dev/null )
@@ -106,16 +82,4 @@ get_cfg_pkg_flag() {
echo "$k"
}
get_cfg_opt_flag() {
local cfg=$1
local name=$2
local k=$( grep -o -P "(?<=^CONFIG_$name=).*" "$cfg" 2> /dev/null )
echo "$k"
}
get_cfg_opt_value() {
local cfg=$1
local name=$2
local k=$( grep -o -P '(?<=^CONFIG_'$name'=").*(?=")' "$cfg" 2> /dev/null )
echo "$k"
}

344
xmake.sh
View File

@@ -1,348 +1,72 @@
#!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
export XDIR="$SCRIPT_DIR"
export XDIR=$SCRIPT_DIR
. ./xcommon.sh
if echo "$XDIR" | grep -E '[ "]' >/dev/null ;then
die "The path to the base directory cannot contain spaces!"
fi
MAKE_JOBS=
XTARGET=
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
while getopts "j:t:f" opt; do
case $opt in
j) MAKE_JOBS=$OPTARG;;
t) XTARGET=$OPTARG;;
f) OPT_FULL_REBUILD=true;;
k) KALLSYMS=true;;
T) TESTING_KERNEL=true;;
i) BUILD_ONLY_INITRAMFS=true;;
s) BUILD_SKIP_INITRAMFS=true;;
I) ONLY_INIT=true;;
esac
done
[ -z "$XTARGET" ] && die "Target config not specified!"
CFG=$XDIR/$XTARGET.config
[ ! -f "$CFG" ] && die "File '$XTARGET.config' not found!"
if echo "$XTARGET" | grep -E '[ "]' >/dev/null ;then
die "Target config filename cannot contain spaces!"
if [ "$OPT_FULL_REBUILD" = "true" ]; then
[ -f .config ] && make clean
rm -rf tmp
#rm -rf feeds/luci.tmp
#rm -rf feeds/packages.tmp
#rm -rf staging_dir/packages
fi
CUR_BRANCH=$( git rev-parse --abbrev-ref HEAD )
if [ "$CUR_BRANCH" = master ]; then
KALLSYMS=true
fi
function clean_all {
local cfg=$XDIR/.config
[ -f $cfg ] && make clean
rm -rf $XDIR/tmp
rm -rf $XDIR/feeds/luci.tmp
rm -rf $XDIR/feeds/packages.tmp
rm -rf $XDIR/feeds/nss.tmp
rm -rf $XDIR/staging_dir/packages
rm -rf $XDIR/staging_dir
rm -rf $XDIR/build_dir
[ "$XTARGET" = "*" ] && rm -rf $XDIR/bin/*
}
function build_target {
local target_cfg=$1
local CFG=$XDIR/.config
local inc
local inclst
local incfn
rm -f $CFG
cp -f $target_cfg $CFG
if is_nss_repo $XDIR; then
sed -i "/#include _base/a #include _addons_nss.config" $CFG
fi
rm -f .config
cp -f "$CFG" .config
inclst=$( get_cfg_inc_lst $CFG )
for inc in $inclst; do
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
sed -i "/#include $inc/ r $incfn" $CFG
echo -e "\n\n" >> .config
[ ! -f "$XDIR/$inc" ] && die "File '$inc' not found!"
cat $XDIR/$inc >> .config
done
cp -f $CFG $XDIR/__current.config
DIS_SVC_FN=$XDIR/disabled_services.lst
rm -f $DIS_SVC_FN
DIS_SVC_LST="$( get_cfg_dis_svc_lst $CFG )"
if [ -n "$DIS_SVC_LST" ]; then
echo $DIS_SVC_LST > $DIS_SVC_FN
fi
LUCI_XRAY_MK=$XDIR/package/addons/luci-app-xray/core/Makefile
if [ -f $LUCI_XRAY_MK ]; then
pkg_xray_core=$( get_cfg_pkg_flag $CFG xray-core )
if [ "$pkg_xray_core" != "y" ]; then
# Forced disable xray-core package
sed -i '/CONFIG_PACKAGE_xray-core=/d' $CFG
sed -i 's/ +xray-core / /g' $LUCI_XRAY_MK
fi
fi
if [ "$KALLSYMS" = true ]; then
echo "CONFIG_KERNEL_KALLSYMS=y" >> $CFG
fi
if [ "$TESTING_KERNEL" = true ]; then
echo "CONFIG_TESTING_KERNEL=y" >> $CFG
fi
if [ 1 = 1 ]; then
CURDATE=$( date --utc +%y%m%d )
############ change images prefix ############
# IMG_PREFIX:=$(VERSION_DIST_SANITIZED)-$(IMG_PREFIX_VERNUM)$(IMG_PREFIX_VERCODE)$(IMG_PREFIX_EXTRA)$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))
sed -i -e 's/^IMG_PREFIX:=.*/IMG_PREFIX:=$(VERSION_DIST_SANITIZED)-$(call sanitize,$(VERSION_NUMBER))-'$CURDATE'/g' $XDIR/include/image.mk
fi
if [ 1 = 1 ]; then
############ remove "squashfs" suffix ############
# DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1)-$$(2)
sed -i -e 's/.*DEVICE_IMG_NAME =.*/ DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(2)/g' $XDIR/include/image.mk
if grep "squashfs-sys" $XDIR/target/linux/mediatek/image/filogic.mk >/dev/null ; then
sed -i 's/ squashfs-sys/ sys/g' $XDIR/target/linux/mediatek/image/filogic.mk
sed -i 's/ squashfs-sys/ sys/g' $XDIR/target/linux/mediatek/image/mt7622.mk
sed -i 's/ squashfs-sys/ sys/g' $XDIR/target/linux/mediatek/image/mt7623.mk
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
fi
fi
#cp -f .config current.config
make defconfig
NSS_DRV_PPPOE_ENABLE=$( get_cfg_opt_flag $CFG NSS_DRV_PPPOE_ENABLE )
if [ "$NSS_DRV_PPPOE_ENABLE" = y ]; then
sed -i 's/CONFIG_PACKAGE_kmod-qca-nss-drv-pppoe=m/CONFIG_PACKAGE_kmod-qca-nss-drv-pppoe=y/g' $CFG
fi
pkg_dnsmasq_full=$( get_cfg_pkg_flag $CFG dnsmasq-full )
if [ "$pkg_dnsmasq_full" = y ]; then
if [ $( get_cfg_pkg_flag "$XDIR/.config" "dnsmasq-full" ) = "y" ]; then
echo "Forced using dnsmasq-full !!!"
sed -i '/CONFIG_DEFAULT_dnsmasq=y/d' $CFG
sed -i '/CONFIG_PACKAGE_dnsmasq=y/d' $CFG
sed -i '/CONFIG_DEFAULT_dnsmasq=y/d' $XDIR/.config
sed -i '/CONFIG_PACKAGE_dnsmasq=y/d' $XDIR/.config
fi
TARGET_INITRAMFS_FORCE=$( get_cfg_opt_flag $CFG TARGET_INITRAMFS_FORCE )
if [ "$TARGET_INITRAMFS_FORCE" = y ]; then
echo "Forced uses integrated INITRAMFS !!!"
sed -i '/CONFIG_USES_SEPARATE_INITRAMFS=y/d' $CFG
sed -i '/CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE=y/d' $CFG
rm -f $XDIR/luci_aux_menu.json
TARGET_MENU="$XDIR"/"$XTARGET""_menu.json"
if [ -f "$TARGET_MENU" ]; then
cp -f "$TARGET_MENU" $XDIR/luci_aux_menu.json
fi
if [ "$TARGET_INITRAMFS_FORCE" = y ]; then
sed -i '/_DEFAULT_ipq-wifi-/d' $CFG
sed -i '/_PACKAGE_ipq-wifi-/d' $CFG
sed -i '/_PACKAGE_ath11k-firmware-/d' $CFG
fi
wpad_openssl=$( get_cfg_pkg_flag $XDIR/__current.config wpad-openssl )
if [ "$wpad_openssl" = y ]; then
logmsg "Forced using wpad-openssl !!!"
sed -i 's/CONFIG_PACKAGE_wpad-basic-mbedtls=/# CONFIG_PACKAGE_wpad-basic-mbedtls=/g' $CFG
sed -i '/CONFIG_PACKAGE_wpad-openssl=/d' $CFG
echo -e "\nCONFIG_PACKAGE_wpad-openssl=y\n" >> $CFG
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
fi
LUCI_CFG=$XDIR/package/feeds/luci/luci-base/root/etc/config/luci
if [ -f $LUCI_CFG ]; then
sed -i 's/option lang auto/option lang en/g' $LUCI_CFG
fi
LUCISTATCONF=$XDIR/package/feeds/luci/luci-app-statistics/root/etc/config/luci_statistics
if [ -f $LUCISTATCONF ]; then
sed -i "/config statistics 'collectd_sensors'/{n; s/option enable '0'/option enable '1'/}" $LUCISTATCONF
sed -i "/config statistics 'collectd_thermal'/{n; s/option enable '0'/option enable '1'/}" $LUCISTATCONF
fi
if [ 1 = 1 ]; then
########### disable some kmod from x-wrt packages ##########
sed -i 's/^CONFIG_PACKAGE_kmod-exfat-linux=/###CONFIG_PACKAGE_kmod-exfat-linux=/g' $CFG
sed -i 's/^CONFIG_PACKAGE_kmod-qmi-wwan-q=/###CONFIG_PACKAGE_kmod-qmi-wwan-q=/g' $CFG
sed -i 's/^CONFIG_PACKAGE_kmod-rtw8852cu=/###CONFIG_PACKAGE_kmod-rtw8852cu=/g' $CFG
sed -i 's/^CONFIG_PACKAGE_kmod-rproxy=/###CONFIG_PACKAGE_kmod-rproxy=/g' $CFG
sed -i 's/^CONFIG_PACKAGE_kmod-natcap=/###CONFIG_PACKAGE_kmod-natcap=/g' $CFG
fi
sed -i 's/^CONFIG_PACKAGE_base-config-setting=/###CONFIG_PACKAGE_base-config-setting=/g' $CFG
sed -i 's/^CONFIG_BASE_CONFIG_SETTING_LUCI_LOGIN=/###CONFIG_BASE_CONFIG_SETTING_LUCI_LOGIN=/g' $CFG
sed -i 's/^CONFIG_PACKAGE_base-config-setting-ext4fs=/###CONFIG_PACKAGE_base-config-setting-ext4fs=/g' $CFG
XWRTDIR=$XDIR/package/feeds/_xwrt_packages
if [ -d $XWRTDIR ]; then
[ -f $XWRTDIR/natflow/files/hostacl.config ] && sed -i 's/192.168.15./192.168.1./g' $XWRTDIR/natflow/files/hostacl.config
[ -f $XWRTDIR/natflow/files/natflow.config ] && sed -i 's/192.168.15./192.168.1./g' $XWRTDIR/natflow/files/natflow.config
[ -f $XWRTDIR/lua-ipops/src/ipops.lua ] && sed -i 's/192.168.15./192.168.1./g' $XWRTDIR/lua-ipops/src/ipops.lua
XWRTJSDIR=$XWRTDIR/luci-app-natflow-users/htdocs/luci-static/resources/view
[ -f $XWRTJSDIR/network/hostacl.js ] && sed -i 's/192.168.15./192.168.1./g' $XWRTJSDIR/network/hostacl.js
[ -f $XWRTJSDIR/network/natflow-qos.js ] && sed -i 's/192.168.15./192.168.1./g' $XWRTJSDIR/network/natflow-qos.js
[ -f $XWRTJSDIR/system/natflow-users.js ] && sed -i 's/192.168.15./192.168.1./g' $XWRTJSDIR/system/natflow-users.js
USERS_MENU=$XWRTDIR/luci-app-natflow-users/root/usr/share/luci/menu.d/luci-app-natflow-users.json
if [ -f $USERS_MENU ]; then
if grep -q -F '"admin/system/users": {' $USERS_MENU ; then
sed -i '/"admin\/system\/users": {/i "admin\/system\/users" : {' $USERS_MENU
sed -i '/"admin\/system\/users": {/,+2d' $USERS_MENU
sed -i '/"admin\/system\/users" : {/a "order": 89,' $USERS_MENU
sed -i '/"admin\/system\/users" : {/a "title": "Users",' $USERS_MENU
fi
fi
fi
NTFS3G=$XDIR/package/feeds/packages/ntfs-3g/Makefile
if [ -f $NTFS3G ]; then
if grep -q -F '$(INSTALL_DIR) $(1)/usr/{bin,sbin}' $NTFS3G ; then
sed -i '/\$(INSTALL_DIR) \$(1)\/usr\/{bin,sbin}/a \\t\$(INSTALL_DIR) \$(1)\/usr\/bin' $NTFS3G
sed -i '/\$(INSTALL_DIR) \$(1)\/usr\/{bin,sbin}/a \\t\$(INSTALL_DIR) \$(1)\/usr\/sbin' $NTFS3G
sed -i 's/\$(INSTALL_DIR) \$(1)\/usr\/{bin,sbin}/#\$(INSTALL_DIR) \$(1)\/usr\/__bin_sbin__/g' $NTFS3G
NETPORTSDIR=$XDIR/package/addons/luci-app-tn-netports/root/etc/config
if [ -d "$NETPORTSDIR" ]; then
rm -f $NETPORTSDIR/luci_netports
TARGET_NETPORTS=$XDIR/$XTARGET.netports
if [ -f "$TARGET_NETPORTS" ]; then
cp -f "$TARGET_NETPORTS" $NETPORTSDIR/luci_netports
fi
fi
OPKG_DIR=$XDIR/files/etc/opkg
if [ -d $OPKG_DIR ]; then
rm -rf $OPKG_DIR
fi
FANT_PKG_KEY=$XDIR/53FF2B6672243D28.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
echo "" >> $OPKG_CFEED_FN
fant_luci="src/gz fantastic_packages_luci https://fantastic-packages.github.io/packages/releases/<<VER>>/packages/<<ARCH>>/luci"
echo "$fant_luci" >> $OPKG_CFEED_FN
fant_pkgs="src/gz fantastic_packages_packages https://fantastic-packages.github.io/packages/releases/<<VER>>/packages/<<ARCH>>/packages"
echo "$fant_pkgs" >> $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>>/23.05/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]"
if [ -z "$MAKE_JOBS" ]; then
MAKE_JOBS=$( grep processor /proc/cpuinfo | tail -n 1 | awk '{print $3}' )
fi
SYSCTLCONF_FN=$XDIR/files/etc/sysctl.conf
if [ -f $SYSCTLCONF_FN ]; then
rm -f $SYSCTLCONF_FN
fi
kmod_nf_nathelper_extra=$( get_cfg_pkg_flag $XDIR/__current.config kmod-nf-nathelper-extra )
if [ "$kmod_nf_nathelper_extra" = y ]; then
[ ! -d $XDIR/files ] && mkdir -p $XDIR/files/etc
echo "" >> $SYSCTLCONF_FN
echo net.netfilter.nf_conntrack_helper=1 >> $SYSCTLCONF_FN
fi
#make tools/install -j$MAKE_JOBS
#make toolchain/install -j$MAKE_JOBS
local make_jobs=$MAKE_JOBS
if [ -z "$make_jobs" ]; then
make_jobs=$( grep processor /proc/cpuinfo | tail -n 1 | awk '{print $3}' )
fi
#make tools/install -j$make_jobs
#make toolchain/install -j$make_jobs
[ "$ONLY_INIT" = "true" ] && return 0
make -j $make_jobs download world
}
function build_config {
local cfg=$1
local cfg_name=$( basename $cfg )
local target_name=${cfg_name%.*}
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 [ ! -f $outdir/kernel-debug.tar.zst ]; then
echo "ERROR: cannot build images for target $target_name"
rm -rf $outdir
return
fi
rm -rf $outdir/packages
[ ! -d $XOUT/$target_name ] && mkdir -p $XOUT/$target_name
mv $outdir/* $XOUT/$target_name
}
if [ "$XTARGET" != "*" ]; then
TARGETCFG=$XDIR/$XTARGET
XTARGET_EXT="${XTARGET##*.}"
[ $XTARGET_EXT != config ] && TARGETCFG=$TARGETCFG.config
[ ! -f $TARGETCFG ] && die "File '"`basename $TARGETCFG`"' not found!"
[ $OPT_FULL_REBUILD = true ] && clean_all
build_target $TARGETCFG
exit 0
fi
XOUT=$XDIR/xout
CFG_LIST=$( find $XDIR/* -maxdepth 1 -name '[a-z0-9]*.config' )
rm -rf $XOUT
if [ -z "$CFG_LIST" ]; then
echo "ERROR: Cannot found supported configs!"
exit 1
fi
INITRAMFS_COUNT=0
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!"
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!"
make PARALLEL_BUILD=1 -j $MAKE_JOBS download world

View File

@@ -5,16 +5,13 @@ export XDIR=$SCRIPT_DIR
export XADDONSDIR=$XDIR/package/addons
FEEDSDIR=$XDIR/package/feeds
ADDONSCFG=$XDIR/_addons.config
ADDONSNSS=$XDIR/_addons_nss.config
. ./xcommon.sh
OPT_FULL_UPDATE=false
USE_GITHUB_SRC=false
while getopts "f" opt; do
case $opt in
f) OPT_FULL_UPDATE=true;;
g) USE_GITHUB_SRC=true;;
esac
done
@@ -30,16 +27,15 @@ if [ "$OPT_FULL_UPDATE" = "true" ]; then
rm -rf $XADDONSDIR
fi
#git reset --hard HEAD
git reset --hard HEAD~50
#git revert HEAD~50..HEAD
git reset --hard HEAD
#git revert HEAD~30..HEAD
#git reset --hard HEAD
git fetch
[ "$?" != "0" ] && die "Can't fetch current repository"
git pull --force "origin" &> /dev/null
[ "$?" != "0" ] && die "Can't pull current repository"
#[ "$?" != "0" ] && die "Can't pull current repository"
CUR_BRANCH=$( git rev-parse --abbrev-ref HEAD )
@@ -48,12 +44,6 @@ git reset --hard origin/$CUR_BRANCH
rm -f feeds.conf
cp -f feeds.conf.default feeds.conf
if [ "$USE_GITHUB_SRC" = "true" ]; then
sed -i -e 's|https://git.openwrt.org/feed/|https://github.com/openwrt/|' feeds.conf
sed -i -e 's|https://git.openwrt.org/project/|https://github.com/openwrt/|' feeds.conf
fi
feed_lst=$( get_cfg_feed_lst "$ADDONSCFG" )
for feed in $feed_lst; do
value=$( get_cfg_feed_url "$ADDONSCFG" $feed )
@@ -61,70 +51,6 @@ for feed in $feed_lst; do
echo "src-git $feed $value" >> feeds.conf
done
if is_nss_repo "$XDIR"; then
feed_lst=$( get_cfg_feed_lst "$ADDONSNSS" )
for feed in $feed_lst; do
value=$( get_cfg_feed_url "$ADDONSNSS" $feed )
#echo "$feed = '$value'"
echo "src-git $feed $value" >> feeds.conf
done
fi
FULL_VERSION=$( grep '^VERSION_NUMBER:=$(if' $XDIR/include/version.mk 2>/dev/null )
[ -z "$FULL_VERSION" ] && { echo "ERROR: Cannot find VERSION_NUMBER"; exit 1; }
FULL_VERSION=$( echo $FULL_VERSION | cut -d"," -f3 | cut -d")" -f1 )
echo 'FULL_VERSION = "'$FULL_VERSION'"'
CUR_VER=
CUR_SNAPSHOT=
if [ "$FULL_VERSION" = "SNAPSHOT" ]; then
CUR_SNAPSHOT=1
echo "SNAPSHOT detected."
else
if ! echo "$FULL_VERSION" | grep -q "." ; then
echo "ERROR: Incorrect branch version!"
exit 13
fi
CUR_VER=${FULL_VERSION:0:5}
VER_DELIM=${FULL_VERSION:5:1}
if [ "$VER_DELIM" = "-" ]; then
CUR_SNAPSHOT=$CUR_VER
echo "snapshot detected."
fi
fi
echo 'CUR_VER = "'$CUR_VER'"'
function update_feed_head()
{
local FEEDNAME=$1
local FEEDURL=$2
local FEEDHEADLIST="$XDIR/feed_$FEEDNAME.list"
git ls-remote -h $FEEDURL > $FEEDHEADLIST
HEADHASH=$( grep "refs/heads/openwrt-$CUR_VER" $FEEDHEADLIST 2>/dev/null )
if [ -z "$HEADHASH" ]; then
echo "ERROR: Not found branch refs/heads/openwrt-$CUR_VER for feed $FEEDNAME"
exit 17
fi
HEADHASH=$( echo $HEADHASH | cut -d" " -f1 )
echo "For feed '$FEEDNAME' founded fresh hash = $HEADHASH"
# src-git packages https://git.openwrt.org/feed/packages.git^b5ed85f6e94aa08de1433272dc007550f4a28201
NEWLINE="src-git $FEEDNAME $FEEDURL^$HEADHASH"
NEWLINE=$( sed_adapt "$NEWLINE" )
sed -i "s/^src-git $FEEDNAME .*/$NEWLINE/g" feeds.conf
if ! grep -q "$NEWLINE" "feeds.conf" ; then
echo "ERROR: Cannot patch file feeds.conf"
exit 18
fi
echo "Changed URL for feed '$FEEDNAME' = $FEEDURL^$HEADHASH"
}
if [ "$CUR_SNAPSHOT" != "1" ]; then
update_feed_head packages https://github.com/openwrt/packages.git
update_feed_head luci https://github.com/openwrt/luci.git
update_feed_head routing https://github.com/openwrt/routing.git
update_feed_head telephony https://github.com/openwrt/telephony.git
fi
if [ "$OPT_FULL_UPDATE" = "true" ]; then
./scripts/feeds update -a
./scripts/feeds install -a
@@ -132,7 +58,7 @@ fi
CLONE_ADDONS=true
if [ "$CLONE_ADDONS" = "true" ]; then
mkdir -p $XADDONSDIR
mkdir $XADDONSDIR
pkg_lst=$( get_cfg_expkg_lst "$ADDONSCFG" )
for pkg in $pkg_lst; do
value=$( get_cfg_expkg_url "$ADDONSCFG" $pkg )
@@ -153,11 +79,8 @@ fi
if [ "$OPT_FULL_UPDATE" = "true" ]; then
if [ -f "$XDIR/vermagic_update.sh" ]; then
./vermagic_update.sh ipq806x generic
./vermagic_update.sh ipq807x generic
./vermagic_update.sh qualcommax ipq807x
./vermagic_update.sh ramips mt7621
./vermagic_update.sh mediatek mt7622
./vermagic_update.sh mediatek filogic
fi
fi