modified: .github/workflows/mikrotik_patch_7.yml

modified:   patch.py
This commit is contained in:
zyb 2025-06-19 13:45:31 +08:00
parent 70bca68232
commit 178ffcbadb
2 changed files with 9 additions and 7 deletions

View file

@ -144,12 +144,11 @@ jobs:
echo "has_new_version=true" >> $GITHUB_OUTPUT
wget -nv -O CHANGELOG https://${{ env.MIKRO_UPGRADE_URL }}/routeros/$LATEST_VERSION/CHANGELOG
cat CHANGELOG
if [ "${{ matrix.arch }}" == "x86" ]; then
ARCH=''
elif [ "${{ matrix.arch }}" == "arm64" ]; then
ARCH='-arm64'
if [[ "${{ matrix.arch }}" == "arm64" ]]; then
echo "ARCH=-arm64" >> $GITHUB_ENV
else
echo "ARCH=" >> $GITHUB_ENV
fi
echo "ARCH=$ARCH" >> $GITHUB_ENV
echo "LATEST_VERSION=${LATEST_VERSION}" >> $GITHUB_ENV
sudo apt-get update > /dev/null

View file

@ -22,7 +22,9 @@ def replace_key(old,new,data,name=''):
old_chunks = [bytes([old[i]]) for i in key_map]
new_chunks = [bytes([new[i]]) for i in key_map]
data = replace_chunks(old_chunks, new_chunks, data,name)
if os.getenv('ARCH', 'x86').replace('-', '').strip() == 'arm64':
arch = os.getenv('ARCH') or 'x86'
arch = arch.replace('-', '')
if arch == 'arm64':
old_chunks = [old[i:i+4] for i in range(0, len(old), 4)]
new_chunks = [new[i:i+4] for i in range(0, len(new), 4)]
old_bytes = old_chunks[4] + old_chunks[5] + old_chunks[2] + old_chunks[0] + old_chunks[1] + old_chunks[6] + old_chunks[7]
@ -285,7 +287,8 @@ def patch_loader(loader_file):
from package import check_install_package
check_install_package(['pyelftools'])
from loader.patch_loader import patch_loader as do_patch_loader
arch = os.getenv('ARCH', 'x86').replace('-', '').strip()
arch = os.getenv('ARCH') or 'x86'
arch = arch.replace('-', '')
do_patch_loader(loader_file,loader_file,arch)
except ImportError as e:
print(e)