summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYifan Hong <elsk@google.com>2024-03-18 19:11:47 -0700
committerYifan Hong <elsk@google.com>2024-03-18 20:15:15 -0700
commit380cf0091e727229b89d547e3f8b7784efd7605f (patch)
tree07eb38453ca64d0176faf8b57b56160cdbfbe176
parent63eded72828b315c3b21ba7aefb95cbf8dd02ac6 (diff)
downloadbuild-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.bzl4
-rw-r--r--kleaf/impl/kernel_config.bzl41
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(