diff options
| author | Andrii Klymenko <a.klymenko@vyos.io> | 2026-05-18 17:28:03 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-18 17:28:03 +0300 |
| commit | 440a78d5e423e444c29f58cd5a377cff859863eb (patch) | |
| tree | e1442da02a150a9ee4e3bf6b91862337bd4e5807 /scripts | |
| parent | 11a3b4bd380b0ecf757c71642ce4d0633faf3c3c (diff) | |
| parent | b956a4b265dc76f4441b7fe596a9f1efb1dc8b90 (diff) | |
| download | vyos-build-440a78d5e423e444c29f58cd5a377cff859863eb.tar.gz vyos-build-440a78d5e423e444c29f58cd5a377cff859863eb.zip | |
Merge pull request #1194 from c-po/kernel-source
Kernel: T8880: reduce size of Kernel source TAR
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/package-build/linux-kernel/build.py | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/scripts/package-build/linux-kernel/build.py b/scripts/package-build/linux-kernel/build.py index e73b2519..6cb6f90f 100755 --- a/scripts/package-build/linux-kernel/build.py +++ b/scripts/package-build/linux-kernel/build.py @@ -113,12 +113,15 @@ def create_tarball(package_name, source_dir=None): print(f"I: Failed to create tarball for {package_name}: {e}") -def build_package(package: dict, dependencies: list) -> None: +def build_package(package: dict, dependencies: list, + linux_kernel_tarball: dict | None = None) -> None: """Build a package from the repository Args: package (dict): Package information dependencies (list): List of additional dependencies + linux_kernel_tarball (dict | None): If set, successful ``build_kernel`` fills this + for a final-stage tarball after all packages complete. """ timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S') repo_name = package['name'] @@ -135,7 +138,11 @@ def build_package(package: dict, dependencies: list) -> None: # Execute the build command if package['build_cmd'] == 'build_kernel': source_dir = build_kernel(package['kernel_version']) - create_tarball(f'{package["name"]}-{package["kernel_version"]}', source_dir) + if linux_kernel_tarball is not None: + linux_kernel_tarball.clear() + linux_kernel_tarball['package_name'] = package['name'] + linux_kernel_tarball['kernel_version'] = package['kernel_version'] + linux_kernel_tarball['source_dir'] = source_dir elif package['build_cmd'] == 'build_linux_firmware': build_linux_firmware(package['commit_id'], package['scm_url']) create_tarball(f'{package["name"]}-{package["commit_id"]}', f'{package["name"]}') @@ -293,11 +300,24 @@ if __name__ == '__main__': # Merge defaults into each package packages = [merge_dicts(defaults, pkg) for pkg in packages] + linux_kernel_tarball: dict = {} + for package in packages: dependencies = package.get('dependencies', {}).get('packages', []) # Build the package - build_package(package, dependencies) + build_package(package, dependencies, linux_kernel_tarball) # Copy generated .deb packages to parent directory copy_packages(Path(package['name'])) + + if linux_kernel_tarball: + source_dir = linux_kernel_tarball['source_dir'] + trusted_keys = f'{source_dir}/trusted_keys.pem' + if os.path.exists(trusted_keys): + os.remove(trusted_keys) + run(['make', '-C', source_dir, 'mrproper'], check=True) + create_tarball( + f'{linux_kernel_tarball["package_name"]}-{linux_kernel_tarball["kernel_version"]}', + source_dir, + ) |
