В моем случае я хочу создать структуру каталогов и запустить mksquashfs для создания файла squashfs.
Для этого я в итоге изменил базовый пример из документов Базеля на упаковке .
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
genrule(
name = "file1",
outs = ["file1.txt"],
cmd = "echo exampleText > $@",
)
pkg_tar(
name = "dir1",
strip_prefix = ".",
package_dir = "/usr/bin",
srcs = [":file1"],
mode = "0755",
)
pkg_tar(
name = "dir2",
strip_prefix = ".",
package_dir = "/usr/share",
srcs = ["//main:file2.txt", "//main:file3.txt"],
mode = "0644",
)
pkg_tar(
name = "pkg",
extension = "tar.gz",
deps = [
":dir1",
":dir2",
],
)
Если есть более простой способ создания tar или структуры каталогов без необходимости использования промежуточных tars, я сделаю этот главный ответ.