Skip to content

Commit 440a78d

Browse files
authored
Merge pull request #1194 from c-po/kernel-source
Kernel: T8880: reduce size of Kernel source TAR
2 parents 11a3b4b + b956a4b commit 440a78d

1 file changed

Lines changed: 23 additions & 3 deletions

File tree

  • scripts/package-build/linux-kernel

scripts/package-build/linux-kernel/build.py

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,15 @@ def create_tarball(package_name, source_dir=None):
113113
print(f"I: Failed to create tarball for {package_name}: {e}")
114114

115115

116-
def build_package(package: dict, dependencies: list) -> None:
116+
def build_package(package: dict, dependencies: list,
117+
linux_kernel_tarball: dict | None = None) -> None:
117118
"""Build a package from the repository
118119
119120
Args:
120121
package (dict): Package information
121122
dependencies (list): List of additional dependencies
123+
linux_kernel_tarball (dict | None): If set, successful ``build_kernel`` fills this
124+
for a final-stage tarball after all packages complete.
122125
"""
123126
timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
124127
repo_name = package['name']
@@ -135,7 +138,11 @@ def build_package(package: dict, dependencies: list) -> None:
135138
# Execute the build command
136139
if package['build_cmd'] == 'build_kernel':
137140
source_dir = build_kernel(package['kernel_version'])
138-
create_tarball(f'{package["name"]}-{package["kernel_version"]}', source_dir)
141+
if linux_kernel_tarball is not None:
142+
linux_kernel_tarball.clear()
143+
linux_kernel_tarball['package_name'] = package['name']
144+
linux_kernel_tarball['kernel_version'] = package['kernel_version']
145+
linux_kernel_tarball['source_dir'] = source_dir
139146
elif package['build_cmd'] == 'build_linux_firmware':
140147
build_linux_firmware(package['commit_id'], package['scm_url'])
141148
create_tarball(f'{package["name"]}-{package["commit_id"]}', f'{package["name"]}')
@@ -293,11 +300,24 @@ def build_nat_rtsp(commit_id, scm_url):
293300
# Merge defaults into each package
294301
packages = [merge_dicts(defaults, pkg) for pkg in packages]
295302

303+
linux_kernel_tarball: dict = {}
304+
296305
for package in packages:
297306
dependencies = package.get('dependencies', {}).get('packages', [])
298307

299308
# Build the package
300-
build_package(package, dependencies)
309+
build_package(package, dependencies, linux_kernel_tarball)
301310

302311
# Copy generated .deb packages to parent directory
303312
copy_packages(Path(package['name']))
313+
314+
if linux_kernel_tarball:
315+
source_dir = linux_kernel_tarball['source_dir']
316+
trusted_keys = f'{source_dir}/trusted_keys.pem'
317+
if os.path.exists(trusted_keys):
318+
os.remove(trusted_keys)
319+
run(['make', '-C', source_dir, 'mrproper'], check=True)
320+
create_tarball(
321+
f'{linux_kernel_tarball["package_name"]}-{linux_kernel_tarball["kernel_version"]}',
322+
source_dir,
323+
)

0 commit comments

Comments
 (0)