In meinem Fall möchte ich eine Verzeichnisstruktur erstellen und mksquashfs ausführen, um eine squashfs-Datei zu erstellen.
Um dies zu erreichen, habe ich schließlich das grundlegende Beispiel aus Bazels Dokumentation zum Thema Verpackung geändert.
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
genrule(
name = "file1",
outs = ["file1.txt"],
cmd = "echo exampleText > [email protected]",
)
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",
],
)
Wenn es einen einfacheren Weg gibt, eine Tar- oder Verzeichnisstruktur ohne die Notwendigkeit von Zwischen-Tars zu erstellen, werde ich diese erste Antwort geben.