From f9d2554725c2f220e85a64075745548b26a0535a Mon Sep 17 00:00:00 2001 From: elseif Date: Tue, 14 Jul 2026 16:02:44 +0800 Subject: [PATCH] modified: .github/workflows/build_v7.yml deleted: package.py modified: patch.py --- .github/workflows/build_v7.yml | 4 ++-- package.py | 32 -------------------------------- patch.py | 12 ++---------- 3 files changed, 4 insertions(+), 44 deletions(-) delete mode 100644 package.py diff --git a/.github/workflows/build_v7.yml b/.github/workflows/build_v7.yml index 063c8b6..97cbe06 100644 --- a/.github/workflows/build_v7.yml +++ b/.github/workflows/build_v7.yml @@ -151,6 +151,7 @@ jobs: run: | sudo apt-get update > /dev/null sudo apt-get install -y zip unzip squashfs-tools jq > /dev/null + sudo apt-get install -y python3-crcmod python3-pefile python3-pyelftools > /dev/null if [ "$ARCH" == "x86" ]; then ARCH_EXT="" @@ -234,7 +235,6 @@ jobs: } ] EOF - sudo apt-get install python3-crcmod > /dev/null HASH=$(python3 -E <=" not in version else "" - result = check_call([executable, "-m", "pip", "install", package + installation_sign + version, "-i", index_url]) - except Exception as e: - print(e) - result = -1 - return result -def check_package(package): - from importlib import import_module - try: - import_module(package) - return True - except ImportError: - return False -def check_install_package(packages): - for package in packages: - if not check_package(package): - install_package(package) \ No newline at end of file diff --git a/patch.py b/patch.py index cf228d8..9236cc7 100644 --- a/patch.py +++ b/patch.py @@ -1,5 +1,7 @@ import subprocess,lzma import struct,os,re,tempfile +import pefile +from elftools.elf.elffile import ELFFile from npk import NovaPackage,NpkPartID,NpkFileContainer def replace_chunks(old_chunks,new_chunks,data,name): @@ -200,10 +202,6 @@ def patch_pe(data: bytes,key_dict:dict): return new_data def build_efi(input_file, output_file): - from package import check_install_package - check_install_package(['pyelftools','pefile']) - from elftools.elf.elffile import ELFFile - import pefile def find_xz_streams(data:bytes): streams = [] XZ_HEADER_MAGIC = b'\xFD7zXZ\x00\x00\x01' @@ -255,9 +253,6 @@ def build_efi(input_file, output_file): def patch_netinstall(key_dict: dict,input_file,output_file=None): netinstall = open(input_file,'rb').read() if netinstall[:2] == b'MZ': - from package import check_install_package - check_install_package(['pefile']) - import pefile ROUTEROS_BOOT = { 129:{'arch':'power','name':'Powerboot'}, 130:{'arch':'e500','name':'e500_boot'}, @@ -296,7 +291,6 @@ def patch_netinstall(key_dict: dict,input_file,output_file=None): pe.set_bytes_at_rva(rva,new_data) pe.write(output_file or input_file) elif netinstall[:4] == b'\x7FELF': - import re # 83 00 00 00 C4 68 C4 0B 5A C2 04 08 10 9E 52 00 # 8A 00 00 00 C3 68 C4 0B 6A 60 57 08 C0 3D 54 00 # 81 00 00 00 D3 68 C4 0B 2A 9E AB 08 5C 1B 78 00 @@ -363,8 +357,6 @@ def patch_kernel(data:bytes,key_dict): def patch_loader(loader_file): try: - 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') or 'x86' arch = arch.replace('-', '')