diff options
author | Yifan Hong <elsk@google.com> | 2024-03-18 19:11:47 -0700 |
---|---|---|
committer | Yifan Hong <elsk@google.com> | 2024-03-18 20:15:15 -0700 |
commit | 380cf0091e727229b89d547e3f8b7784efd7605f (patch) | |
tree | 07eb38453ca64d0176faf8b57b56160cdbfbe176 | |
parent | 63eded72828b315c3b21ba7aefb95cbf8dd02ac6 (diff) | |
download | build-380cf0091e727229b89d547e3f8b7784efd7605f.tar.gz |
kleaf: kernel_config stop archiving out_dir.
Unused everywhere. With the implementation of DDKv2,
this becomes unnecessary.
Turn KernelConfigArchiveInfo to KernelConfigInfo. The
remaining item in the info is ctx.files.env. However,
there is only a single file in kernel_env. For convenience
in the follow-up CL, just use ctx.file.env directly.
Test: TH
Bug: 291918087
Change-Id: I0364eaf404d157cb4c05daa934e30bcac4a0a6c8
-rw-r--r-- | kleaf/impl/common_providers.bzl | 4 | ||||
-rw-r--r-- | kleaf/impl/kernel_config.bzl | 41 |
2 files changed, 6 insertions, 39 deletions
diff --git a/kleaf/impl/common_providers.bzl b/kleaf/impl/common_providers.bzl index 435331c..a47f77c 100644 --- a/kleaf/impl/common_providers.bzl +++ b/kleaf/impl/common_providers.bzl @@ -456,9 +456,9 @@ ImagesInfo = provider( }, ) -KernelConfigArchiveInfo = provider( +KernelConfigInfo = provider( doc = "For `kernel_config` to provide files to replay the environment", fields = { - "files": "depset of files", + "env_setup_script": "script from `kernel_env`", }, ) diff --git a/kleaf/impl/kernel_config.bzl b/kleaf/impl/kernel_config.bzl index 0b521a4..b8e0b3f 100644 --- a/kleaf/impl/kernel_config.bzl +++ b/kleaf/impl/kernel_config.bzl @@ -21,7 +21,7 @@ load(":cache_dir.bzl", "cache_dir") load( ":common_providers.bzl", "KernelBuildOriginalEnvInfo", - "KernelConfigArchiveInfo", + "KernelConfigInfo", "KernelEnvAttrInfo", "KernelEnvInfo", "KernelEnvMakeGoalsInfo", @@ -499,7 +499,6 @@ def _kernel_config_impl(ctx): ) config_script_ret = _get_config_script(ctx, inputs) - outdir_tar_gz = _package_config_outdir(ctx, out_dir) return [ serialized_env_info, @@ -514,8 +513,8 @@ def _kernel_config_impl(ctx): executable = config_script_ret.executable, runfiles = config_script_ret.runfiles, ), - KernelConfigArchiveInfo( - files = depset([outdir_tar_gz], transitive = [ctx.attr.env.files]), + KernelConfigInfo( + env_setup_script = ctx.file.env, ), ] @@ -575,39 +574,6 @@ def _get_config_script(ctx, inputs): runfiles = runfiles, ) -def _package_config_outdir(ctx, out_dir): - """Package OUT_DIR. - - Args: - ctx: ctx - out_dir: declared directory `out_dir` - Returns: - tarball - """ - - hermetic_tools = hermetic_toolchain.get(ctx) - - # <kernel_build>_config_outdir.tar.gz - outdir_tar_gz = ctx.actions.declare_file("{name}/{name}_outdir.tar.gz".format(name = ctx.attr.name)) - cmd = hermetic_tools.setup + """ - tar czf {outdir_tar_gz} --dereference -C {out_dir} . - """.format( - outdir_tar_gz = outdir_tar_gz.path, - out_dir = out_dir.path, - ) - ctx.actions.run_shell( - inputs = [out_dir], - outputs = [outdir_tar_gz], - tools = hermetic_tools.deps, - command = cmd, - progress_message = "Packaging OUT_DIR {}".format( - ctx.attr.env[KernelEnvAttrInfo].progress_message_note, - ctx.label, - ), - mnemonic = "KernelConfigPackageOutDir", - ) - return outdir_tar_gz - def _kernel_config_additional_attrs(): return dicts.add( kernel_config_settings.of_kernel_config(), @@ -631,6 +597,7 @@ kernel_config = rule( KernelToolchainInfo, ], doc = "environment target that defines the kernel build environment", + allow_single_file = True, ), "srcs": attr.label_list(mandatory = True, doc = "kernel sources", allow_files = True), "raw_kmi_symbol_list": attr.label( |