Nel mio caso, voglio creare una struttura di directory ed eseguire mksquashfs per produrre un file squashfs.
Per fare ciò, ho finito per modificare l'esempio di base dai documenti di bazel sulla confezione.
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",
],
)
Se c'è un modo più semplice per creare un tar o una struttura di directory senza la necessità di tar intermedi, darò la risposta migliore.