From ac74d9790cae6da20dbc2c191ee6df398aac7592 Mon Sep 17 00:00:00 2001 From: joshua Date: Tue, 3 Oct 2023 16:49:50 +0100 Subject: [PATCH 1/2] Use new pkg_tar rules --- apt/rules.bzl | 37 +++++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/apt/rules.bzl b/apt/rules.bzl index efed4782..6439050c 100644 --- a/apt/rules.bzl +++ b/apt/rules.bzl @@ -18,7 +18,7 @@ # load("@rules_pkg//:pkg.bzl", "pkg_tar", "pkg_deb") -load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_mkdirs") +load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_mkdirs", "pkg_mklink", "pkg_filegroup", "pkg_files") def _assemble_apt_version_file_impl(ctx): version = ctx.var.get('version', '0.0.0') @@ -99,15 +99,40 @@ def assemble_apt(name, dirs = empty_dirs ) + symlink_names = [] + for link, target in symlinks.items(): + print(link, target) + symlink_name = "_{}-{}".format(name, link.replace("/", "_").replace("\\", "_")) + symlink_names.append(symlink_name) + pkg_mklink( + name = symlink_name, + link_name = link, + target = target + ) + + archives_name = "_{}_archives".format(name) + pkg_tar( + name = archives_name, + package_dir = installation_dir, + deps = archives + ) + + files_name = "_{}_files".format(name) + pkg_files( + name = files_name, + prefix = installation_dir, + srcs = files.keys(), + renames = files, + ) + pkg_tar( name = tar_name, extension = "tar.gz", - deps = archives, - package_dir = installation_dir, - srcs = [empty_dirs_name], - files = files, +# package_dir = installation_dir, + srcs = [empty_dirs_name] + symlink_names + [files_name], mode = "0755", - symlinks = symlinks, + deps = [archives_name], +# symlinks = symlinks, modes = permissions, ) deb_data = tar_name From de6e3ff3795c8e3594fa639ea65996e0677c2983 Mon Sep 17 00:00:00 2001 From: joshua Date: Tue, 3 Oct 2023 17:16:31 +0100 Subject: [PATCH 2/2] Cleanup unused lines --- apt/rules.bzl | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/apt/rules.bzl b/apt/rules.bzl index 6439050c..8af8a3b4 100644 --- a/apt/rules.bzl +++ b/apt/rules.bzl @@ -110,11 +110,11 @@ def assemble_apt(name, target = target ) - archives_name = "_{}_archives".format(name) + archives_merged_name = "_{}_archives".format(name) pkg_tar( - name = archives_name, + name = archives_merged_name, package_dir = installation_dir, - deps = archives + deps = archives # using deps instead of sources will merge tars into a single tar ) files_name = "_{}_files".format(name) @@ -128,11 +128,9 @@ def assemble_apt(name, pkg_tar( name = tar_name, extension = "tar.gz", -# package_dir = installation_dir, srcs = [empty_dirs_name] + symlink_names + [files_name], mode = "0755", - deps = [archives_name], -# symlinks = symlinks, + deps = [archives_merged_name], modes = permissions, ) deb_data = tar_name