summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYifan Hong <elsk@google.com>2024-03-15 14:54:49 -0700
committerYifan Hong <elsk@google.com>2024-03-18 20:02:19 +0000
commit63eded72828b315c3b21ba7aefb95cbf8dd02ac6 (patch)
tree33d433988dfad55355b28e910b1a9d12524fcc6d
parentcd1e346ad2d44a203b44f7fe96bf993d7e6a24b9 (diff)
downloadbuild-63eded72828b315c3b21ba7aefb95cbf8dd02ac6.tar.gz
kleaf: filegroup_decl.tar.gz does not flatten directory structure.
This is to prepare for adding directories declared by ctx.actions.declare_directory(), while keeping its directory strucutre. Test: TH Bug: 291918087 Change-Id: I4ae12bb5611f214146210862daddab07263c5b10
-rw-r--r--kleaf/impl/kernel_filegroup_declaration.bzl13
1 files changed, 8 insertions, 5 deletions
diff --git a/kleaf/impl/kernel_filegroup_declaration.bzl b/kleaf/impl/kernel_filegroup_declaration.bzl
index 99f68fd..ae5a73a 100644
--- a/kleaf/impl/kernel_filegroup_declaration.bzl
+++ b/kleaf/impl/kernel_filegroup_declaration.bzl
@@ -29,9 +29,9 @@ def _kernel_filegroup_declaration_impl(ctx):
info = ctx.attr.kernel_build[KernelBuildFilegroupDeclInfo]
file_to_label = lambda file: repr("//{}".format(file.basename) if file else None)
- file_to_pkg_label = lambda file: repr(":{}".format(file.basename) if file else None)
+ file_to_pkg_label = lambda file: repr(file.path if file else None)
files_to_label = lambda lst: repr(["//{}".format(file.basename) for file in lst])
- files_to_pkg_label = lambda lst: repr([":{}".format(file.basename) for file in lst])
+ files_to_pkg_label = lambda lst: repr([file.path for file in lst])
# ddk_artifacts
deps_files = [
@@ -41,7 +41,7 @@ def _kernel_filegroup_declaration_impl(ctx):
info.toolchain_version_file,
]
- deps_repr = repr([":{}".format(file.basename) for file in deps_files] +
+ deps_repr = repr([file.path for file in deps_files] +
["//{}".format(file.basename) for file in ctx.files.extra_deps])
kernel_uapi_headers_lst = info.kernel_uapi_headers.to_list()
@@ -129,9 +129,12 @@ kernel_filegroup(
transitive = transitive_inputs,
)
- # Flatten the files so :x refers to file x in the same package.
+ # filegroup_decl_template.txt stays at root so that
+ # kernel_prebuilt_repo can find it.
command = hermetic_tools.setup + """
- tar cf {archive} --dereference --transform 's:.*/::g' "$@"
+ tar cf {archive} --dereference \\
+ --transform 's:.*/filegroup_decl_template.txt:filegroup_decl_template.txt:g' \\
+ "$@"
""".format(
archive = filegroup_decl_archive.path,
)