From f99b65f77aa719c87e65e19b6fa63c9a5118ed5b Mon Sep 17 00:00:00 2001 From: Tony Aiuto Date: Wed, 14 Jul 2021 23:29:09 -0400 Subject: [PATCH] merge #384 --- pkg/pkg.bzl | 2 -- pkg/private/build_tar.py | 2 ++ pkg/private/manifest.py | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pkg/pkg.bzl b/pkg/pkg.bzl index d6a1fd9d..d624afe3 100644 --- a/pkg/pkg.bzl +++ b/pkg/pkg.bzl @@ -196,8 +196,6 @@ def _pkg_tar_impl(ctx): "--owner_names=%s=%s" % (_quote(key), ctx.attr.ownernames[key]) for key in ctx.attr.ownernames ] - #XX if ctx.attr.empty_files: - #XX args += ["--empty_file=%s" % empty_file for empty_file in ctx.attr.empty_files] for empty_file in ctx.attr.empty_files: add_empty_file(content_map, empty_file, ctx.label) for empty_dir in ctx.attr.empty_dirs or []: diff --git a/pkg/private/build_tar.py b/pkg/private/build_tar.py index 63c7ab7b..049978d8 100644 --- a/pkg/private/build_tar.py +++ b/pkg/private/build_tar.py @@ -281,6 +281,8 @@ def add_manifest_entry(self, entry_list, file_attributes): self.add_empty_dir(entry.dest, **attrs) elif entry.entry_type == manifest.ENTRY_IS_TREE: self.add_tree(entry.src, entry.dest, **attrs) + elif entry.entry_type == manifest.ENTRY_IS_EMPTY_FILE: + self.add_empty_file(entry.dest, **attrs) else: self.add_file(entry.src, entry.dest, **attrs) diff --git a/pkg/private/manifest.py b/pkg/private/manifest.py index 4da52375..b482330a 100644 --- a/pkg/private/manifest.py +++ b/pkg/private/manifest.py @@ -22,6 +22,7 @@ ENTRY_IS_LINK = 1 # Entry is a symlink: dest -> ENTRY_IS_DIR = 2 # Entry is an owned dir, possibly empty ENTRY_IS_TREE = 3 # Entry is a tree artifact: take tree from +ENTRY_IS_EMPTY_FILE = 4 # Entry is a an empty file ManifestEntry = collections.namedtuple("ManifestEntry", ['entry_type', 'dest', 'src', 'mode', 'user', 'group']) @@ -37,5 +38,7 @@ def entry_type_to_string(et): return "directory" elif et == ENTRY_IS_TREE: return "tree" + elif et == ENTRY_IS_EMPTY_FILE: + return "empty_file" else: raise ValueError("Invalid entry id {}".format(et))