mirror of
https://github.com/openwrt-xiaomi/builder.git
synced 2026-03-20 09:28:40 +05:00
Compare commits
16 Commits
ebd2e371f2
...
v25-260226
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f0703a0e7a | ||
|
|
050e11496a | ||
|
|
c516910a95 | ||
|
|
7cbc8a5396 | ||
|
|
f8bd84161f | ||
|
|
ec51d4d719 | ||
|
|
c8b20b80db | ||
|
|
ee50ded9ed | ||
|
|
60569faf5c | ||
|
|
4bf7b9f5f4 | ||
|
|
ee1b28746a | ||
|
|
c79b2afda1 | ||
|
|
c8bbce4d22 | ||
|
|
4be0aa94a4 | ||
|
|
c86f52cdb4 | ||
|
|
e7b3d9673d |
87
.github/workflows/build.yml
vendored
87
.github/workflows/build.yml
vendored
@@ -281,6 +281,9 @@ jobs:
|
||||
if [ $(find . -maxdepth 1 -name "$VERMAGIC_LIST" | wc -l) = "0" ]; then
|
||||
exit 41
|
||||
fi
|
||||
echo "::group::disabled_services.lst"
|
||||
cat disabled_services.lst || echo '<<< file disabled_services.lst not found >>>'
|
||||
echo "::endgroup::"
|
||||
FILE_DATE=$(date --utc +'%y%m%d')
|
||||
echo "status=success" >> $GITHUB_OUTPUT
|
||||
echo "FW_VER=$FW_VER" >> $GITHUB_ENV
|
||||
@@ -304,29 +307,39 @@ jobs:
|
||||
TARGET: ${{ matrix.target }}
|
||||
USE_CACHE: ${{ github.event.inputs.use_cache }}
|
||||
CACHE_VER: ${{ github.event.inputs.cache_ver }}
|
||||
INP_TRX_BUILD: ${{ github.event.inputs.trx_build == 'true' }}
|
||||
run: |
|
||||
echo USE_CACHE = $USE_CACHE
|
||||
HOST_TOOLS_STG_DIR=staging_dir/host
|
||||
HOST_TOOLS_BLD_DIR=build_dir/host
|
||||
rm -rf staging_dir/
|
||||
rm -rf build_dir/
|
||||
mkdir -p staging_dir/host
|
||||
mkdir -p build_dir/host
|
||||
#############################################
|
||||
CONFIG_BUILD_ALL_HOST_TOOLS=n
|
||||
if grep '^CONFIG_BUILD_ALL_HOST_TOOLS=y' $CFG ; then
|
||||
CONFIG_BUILD_ALL_HOST_TOOLS=y
|
||||
fi
|
||||
########### check tools Makefile ############
|
||||
if grep -q '(CONFIG_USES_MINOR),y) += yafut' tools/Makefile ; then
|
||||
echo WARN: file tools/Makefile allowed compile yafut
|
||||
echo ERROR: yafut compile not supported !!!
|
||||
exit 51
|
||||
if [ "$CONFIG_BUILD_ALL_HOST_TOOLS" != y ]; then
|
||||
if grep -q '(CONFIG_USES_MINOR),y) += yafut' tools/Makefile ; then
|
||||
echo WARN: file tools/Makefile allowed compile yafut
|
||||
echo ERROR: yafut compile not supported !!!
|
||||
exit 51
|
||||
fi
|
||||
fi
|
||||
########### get hash of dir with tools Makefiles ############
|
||||
TOOLS_SRC_CRC=$( echo $TOOLS_SRC_HASH | cksum | awk '{print $1}' )
|
||||
echo $TOOLS_SRC_CRC > logs/host_tools_sources.crc
|
||||
echo "TOOLS_SRC_CRC=$TOOLS_SRC_CRC" >> $GITHUB_ENV
|
||||
########### get prereq tools (w/o compile) ############
|
||||
ls -la $HOST_TOOLS_DIR/bin | awk '{print $9 " -> " $11}' | sort > $HOST_TOOLS_STG_DIR/.prereq-build-list
|
||||
ls -la $HOST_TOOLS_STG_DIR/bin | awk '{print $9 " -> " $11}' | sort > $HOST_TOOLS_STG_DIR/.prereq-build-list
|
||||
TOOLS_PREREQ_CRC=$( cat $HOST_TOOLS_STG_DIR/.prereq-build-list | cksum | awk '{print $1}' )
|
||||
cp -f $HOST_TOOLS_STG_DIR/.prereq-build-list logs/prereq-build-list.txt
|
||||
echo "TOOLS_PREREQ_CRC=$TOOLS_PREREQ_CRC" >> $GITHUB_ENV
|
||||
echo "::group::prereq-build-list"
|
||||
cat $HOST_TOOLS_STG_DIR/.prereq-build-list
|
||||
echo "::endgroup::"
|
||||
########### patch for tools/Makefile ###############
|
||||
cat <<'EOF' >> tools/Makefile
|
||||
###
|
||||
@@ -345,7 +358,7 @@ jobs:
|
||||
TOOLS_STATUS="$${TOOLS_STATUS}$${T_STATUS}" ; \
|
||||
printf " %s\n" "$$tool"; \
|
||||
done; \
|
||||
: > $(STAGING_DIR_HOST)/.tools_compile_$$TOOLS_STATUS; \
|
||||
printf "$$TOOLS_STATUS" > $(STAGING_DIR_HOST)/.tools_compile_mask; \
|
||||
} > $(TOOLS_COMPILE_LIST)
|
||||
endef
|
||||
|
||||
@@ -361,22 +374,30 @@ jobs:
|
||||
exit 55
|
||||
fi
|
||||
cp -f $HOST_TOOLS_STG_DIR/.tools_compile_list logs/tools_compile_list.txt
|
||||
for fn in $HOST_TOOLS_STG_DIR/.tools_compile_[yn]*; do
|
||||
[ -e $fn ] && cp -f $fn logs/$( basename "$fn" | sed 's/^\.//' )
|
||||
done
|
||||
TOOLS_COMPILE_CRC=$( cat $TOOLS_STG_DIR/.tools_compile_list | cksum | awk '{print $1}' )
|
||||
TOOLS_COMPILE_CRC=$( cat $HOST_TOOLS_STG_DIR/.tools_compile_list | cksum | awk '{print $1}' )
|
||||
echo "TOOLS_COMPILE_CRC=$TOOLS_COMPILE_CRC" >> $GITHUB_ENV
|
||||
echo "::group::tools_compile_list"
|
||||
cat $HOST_TOOLS_STG_DIR/.tools_compile_list
|
||||
echo "::endgroup::"
|
||||
#######
|
||||
TOOLS_COMPILE_MASK=$( cat $HOST_TOOLS_STG_DIR/.tools_compile_mask )
|
||||
cp -f $HOST_TOOLS_STG_DIR/.tools_compile_mask logs/tools_compile_mask.txt
|
||||
touch logs/tools_compile_$TOOLS_COMPILE_MASK
|
||||
echo TOOLS_COMPILE_MASK = $TOOLS_COMPILE_MASK
|
||||
###################################################
|
||||
if [ "$USE_CACHE" = "true" ]; then
|
||||
echo USE_CACHE = $USE_CACHE
|
||||
fi
|
||||
if [ "$INP_TRX_BUILD" = true ]; then
|
||||
CACHE_VER=$CACHE_VER-trx
|
||||
fi
|
||||
echo "USE_CACHE=$USE_CACHE" >> $GITHUB_ENV
|
||||
echo "CACHE_VER=$CACHE_VER" >> $GITHUB_ENV
|
||||
echo "HOST_TOOLS_STG_DIR=$HOST_TOOLS_STG_DIR" >> $GITHUB_ENV
|
||||
echo "HOST_TOOLS_BLD_DIR=$HOST_TOOLS_BLD_DIR" >> $GITHUB_ENV
|
||||
echo "status=success" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Restore cache for host tools
|
||||
- name: Restore host tools from cache
|
||||
id: tools_cache_restore
|
||||
if: github.event.inputs.use_cache == 'true'
|
||||
uses: actions/cache/restore@v4
|
||||
@@ -450,8 +471,10 @@ jobs:
|
||||
|
||||
- name: Show host tools stamps
|
||||
run: |
|
||||
ls -la staging_dir/host/stamp/
|
||||
ls -la staging_dir/host/stamp/ > logs/host_stamp_dir.txt
|
||||
if [ -d staging_dir/host/stamp ]; then
|
||||
ls -la staging_dir/host/stamp/
|
||||
ls -la staging_dir/host/stamp/ > logs/host_stamp_dir.txt
|
||||
fi
|
||||
|
||||
- name: Configure 2
|
||||
id: configure2
|
||||
@@ -466,6 +489,9 @@ jobs:
|
||||
cp -a logs_backup logs
|
||||
./xmake.sh $OPT_INITRAMFS -I -t $TARGET
|
||||
cp -f .config logs/config2
|
||||
echo "::group::disabled_services.lst"
|
||||
cat disabled_services.lst || echo '<<< file disabled_services.lst not found >>>'
|
||||
echo "::endgroup::"
|
||||
|
||||
- name: Kernel compile
|
||||
id: kernel
|
||||
@@ -505,7 +531,7 @@ jobs:
|
||||
fi
|
||||
fi
|
||||
echo "status=success" >> $GITHUB_OUTPUT
|
||||
|
||||
|
||||
- name: Process out results
|
||||
id: install
|
||||
if: steps.compile.outputs.status == 'success' || env.FAKE_BUILD == 'true'
|
||||
@@ -566,6 +592,37 @@ jobs:
|
||||
echo "BLD_VER=$FW_VER" >> $GITHUB_ENV
|
||||
echo "OUT_DIR=$OUT_DIR" >> $GITHUB_ENV
|
||||
|
||||
- name: Build the TRX image without WiFi activation
|
||||
id: compile_wifi_dis
|
||||
if: steps.install.outputs.status == 'success' && env.TRX_BUILD == 'true' && env.FAKE_BUILD != 'true' && env.TEST_BUILD != 'true'
|
||||
env:
|
||||
TARGET: ${{ matrix.target }}
|
||||
run: |
|
||||
BLD_OUT_DIR=$OUT_DIR
|
||||
NEW_OUT_DIR=$GITHUB_WORKSPACE/xout
|
||||
mv -f "$OUT_DIR" $NEW_OUT_DIR
|
||||
echo "OUT_DIR=$NEW_OUT_DIR" >> $GITHUB_ENV
|
||||
./xmake.sh -W -i -t $TARGET
|
||||
if [ ! -d "$BLD_OUT_DIR" ]; then
|
||||
echo "OUT_DIR not found!"
|
||||
exit 99
|
||||
fi
|
||||
cd "$BLD_OUT_DIR"
|
||||
echo "Firmware TRX $BLD_VER [$FILE_DATE] builded!"
|
||||
if [ ! -f kernel-debug.tar.zst ]; then
|
||||
echo "File kernel-debug.tar.zst not found!"
|
||||
exit 100
|
||||
fi
|
||||
find . -maxdepth 1 -type f ! -name '*-initramfs*' -delete
|
||||
VER_MAJOR=$( echo "$BLD_VER" | cut -d. -f1 )
|
||||
WIFIDIS_DIR=$NEW_OUT_DIR/images-WiFi-disabled
|
||||
mkdir -p $WIFIDIS_DIR
|
||||
STD_IMG_DIR="$WIFIDIS_DIR/openwrt-initramfs-bin-for-luci"
|
||||
mkdir -p $STD_IMG_DIR
|
||||
find . -maxdepth 1 -type f -name '*-initramfs*.bin' -exec mv -f {} $STD_IMG_DIR/openwrt-${VER_MAJOR}_${TARGET}_initramfs_nowifi.bin \;
|
||||
find . -maxdepth 1 -type f -name '*-initramfs*.trx' -exec mv -f {} $WIFIDIS_DIR/openwrt-${VER_MAJOR}_${TARGET}_initramfs_nowifi.trx \;
|
||||
echo "status=success" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Check space usage
|
||||
run: df -hT
|
||||
|
||||
|
||||
@@ -46,6 +46,8 @@ CONFIG_PACKAGE_luci-i18n-filemanager-ru=y
|
||||
#CONFIG_PACKAGE_atftp=y
|
||||
#CONFIG_PACKAGE_atftpd=y
|
||||
CONFIG_PACKAGE_lscpu=y
|
||||
CONFIG_PACKAGE_ip-full=y
|
||||
CONFIG_PACKAGE_tc-full=y
|
||||
CONFIG_PACKAGE_bind-tools=y
|
||||
CONFIG_PACKAGE_facinstall=y
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ else
|
||||
fi
|
||||
|
||||
log_msg() {
|
||||
printf "%s\n" "$1" >&$OUTPUT_PIPE
|
||||
printf "%s\n" "$1" >&8 || printf "%s\n" "$1"
|
||||
}
|
||||
|
||||
log_err() {
|
||||
@@ -28,7 +28,7 @@ log_err() {
|
||||
_R=\\033[31m
|
||||
_N=\\033[m
|
||||
fi
|
||||
printf "$_R%s$_N\n" "ERROR: $msg" >&$OUTPUT_PIPE
|
||||
printf "$_R%s$_N\n" "ERROR: $msg" >&8 || printf "$_R%s$_N\n" "ERROR: $msg"
|
||||
}
|
||||
|
||||
die() {
|
||||
@@ -150,6 +150,8 @@ if [ -f "$WIFI77_FN" ]; then
|
||||
WIFI_COUNTRY=$( get_param_qq CONFIG_PACKAGE_MAC80211_COUNTRY "$TOPDIR/.config" )
|
||||
sed -i "s#%COUNTRY%#${WIFI_COUNTRY}#g" "$WIFI77_FN"
|
||||
fi
|
||||
else
|
||||
rm -f "$WIFI77_FN"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
35
xmake.sh
35
xmake.sh
@@ -12,16 +12,18 @@ fi
|
||||
MAKE_JOBS=
|
||||
XTARGET=
|
||||
OPT_FULL_REBUILD=false
|
||||
WIFI_EN=true
|
||||
KALLSYMS=false
|
||||
TESTING_KERNEL=false
|
||||
BUILD_ONLY_INITRAMFS=false
|
||||
ONLY_INIT=false
|
||||
|
||||
while getopts "j:t:fiskTI" opt; do
|
||||
while getopts "j:t:fisWkTI" opt; do
|
||||
case $opt in
|
||||
j) MAKE_JOBS=$OPTARG;;
|
||||
t) XTARGET=$OPTARG;;
|
||||
f) OPT_FULL_REBUILD=true;;
|
||||
W) WIFI_EN=false;;
|
||||
k) KALLSYMS=true;;
|
||||
T) TESTING_KERNEL=true;;
|
||||
i) BUILD_ONLY_INITRAMFS=true;;
|
||||
@@ -70,6 +72,7 @@ function build_target {
|
||||
for inc in $inclst; do
|
||||
incfn=$XDIR/_cfginc/$inc
|
||||
[ ! -f $incfn ] && die "File '$inc' not found!"
|
||||
[ "$WIFI_EN" == false -a $inc == "_wifi_en.config" ] && continue
|
||||
sed -i "/#include $inc/a <<LF>><<LF>>" $CFG
|
||||
sed -i "s/<<LF>>/\n/g" $CFG
|
||||
sed -i "/#include $inc/ r $incfn" $CFG
|
||||
@@ -101,6 +104,26 @@ function build_target {
|
||||
echo "CONFIG_TESTING_KERNEL=y" >> $CFG
|
||||
fi
|
||||
|
||||
X_VERSION_MK=$XDIR/include/version.mk
|
||||
X_VERSION_NUMBER=$( grep -o -P '(?<=,\$\(VERSION_NUMBER\),).*(?=\))' $X_VERSION_MK 2>/dev/null )
|
||||
[ -z "$X_VERSION_NUMBER" ] && { echo "ERROR: Cannot determine VERSION_NUMBER"; exit 30; }
|
||||
echo "VERSION_NUMBER = $X_VERSION_NUMBER"
|
||||
|
||||
X_BOARD_NAME=$( sed -n 's/^CONFIG_TARGET_\([^_=\n]\+\)=y$/\1/p' $CFG )
|
||||
[ -z "$X_BOARD_NAME" ] && { echo "ERROR: cannot found BOARD_NAME"; exit 31; }
|
||||
X_SUBTARGET_NAME=$( sed -n 's/^CONFIG_TARGET_[^_=\n]\+_\([^_=\n]\+\)=y$/\1/p' $CFG )
|
||||
[ -z "$X_SUBTARGET_NAME" ] && { echo "ERROR: cannot found SUBTARGET"; exit 31; }
|
||||
echo "BOARD_NAME = $X_BOARD_NAME SUBTARGET = $X_SUBTARGET_NAME"
|
||||
|
||||
VERMAGIC_FN=$XDIR/vermagic-$X_BOARD_NAME-$X_SUBTARGET_NAME-$X_VERSION_NUMBER.list
|
||||
if [ ! -f $VERMAGIC_FN ] && [ -f $XDIR/vermagic_update.sh ]; then
|
||||
bash $XDIR/vermagic_update.sh $X_BOARD_NAME $X_SUBTARGET_NAME
|
||||
if [ ! -f $VERMAGIC_FN ]; then
|
||||
echo "ERROR: cannot create file $VERMAGIC_FN"
|
||||
exit 41
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ 1 = 1 ]; then
|
||||
MK_IMAGE=$XDIR/include/image.mk
|
||||
CURDATE=$( date --utc +%y%m%d )
|
||||
@@ -125,7 +148,7 @@ function build_target {
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ 1 = 1 ]; then
|
||||
if ! grep '^CONFIG_BUILD_ALL_HOST_TOOLS=y' $CFG ; then
|
||||
MK_HOST_TOOLS=$XDIR/tools/Makefile
|
||||
# tools-$(if $(CONFIG_BUILD_ALL_HOST_TOOLS)$(CONFIG_USES_MINOR),y) += yafut
|
||||
if grep -q '(CONFIG_USES_MINOR),y)' $MK_HOST_TOOLS ; then
|
||||
@@ -144,6 +167,14 @@ function build_target {
|
||||
fi
|
||||
fi
|
||||
|
||||
LIBUTP_MK=$XDIR/package/feeds/packages/libutp/Makefile
|
||||
if [ -f $LIBUTP_MK ]; then
|
||||
if grep -q 'DLIBUTP_ENABLE_WERROR:BOOL=YES' $LIBUTP_MK ; then
|
||||
sed -i 's/-DLIBUTP_ENABLE_WERROR:BOOL=YES/-DLIBUTP_ENABLE_WERROR:BOOL=NO/' $LIBUTP_MK
|
||||
echo ">>> libutp patched !!! (disable Werror)"
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user