blob: 8b8de32fddda18b44203987b1b88e7a2897bc021 [file] [log] [blame]
# Copyright 2022 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
digraph {
stylesheet ="https://g3doc.corp.google.com/frameworks/g3doc/includes/graphviz-style.css"
nodesep = 0.8
splines=ortho
size="10,10"
// inputs
{
subgraph cluster_packages {
nodesep=0
rank=same
node [shape=diamond id=googleblue]
bp [label="_base_packages"]
cp [label="_cache_packages"]
up [label="_universe_packages"]
bp -> {cp, up} [style=invis]
}
subgraph cluster_static {
nodesep=0
rank=same
kz [label="kernel_zbi"]
compidic [label=":${image_name}.component_id_index_config-config-data"]
"bundles/assembly:${name}"
":${image_name}"
}
subgraph cluster_invoker {
node [id=googleyellow]
tv [label="invoker.visibility"]
blobfs [label=
"invoker
.blobfs_maximum_bytes
.blobfs_minimum_data_bytes
.blobfs_maximum_contents_size
.blobfs_minimum_inodes"
]
aconfs [label=
"invoker.assembly_fvm_slice_size
.assembly_blob_layout_format [optional]
.assembly_compress_blobs [optional]
.assembly_include_account_in_fvm [optional]"
]
fshost_config [label="invoker.fshost_config"]
minfs_conf [label=
"invoker
.minfs_maximum_bytes
.minfs_minimum_data_bytes
.fvm_truncate_to_length"
]
giac_in [label=
"invoker.cmdline_deps
.cmdline
.system_image_deps
zircon/kernel
:${labels.fshost_config}
src/sys/pkg/bin/pkg-cache:bootfs
:${driver_manager_base_config_label}"
]
test [label="invoker.testonly"]
pacd [label="invoker.product_assembly_config_deps"]
ia_in [label=
"invoker.metadata
.deps
.zbi_signing_script_deps [optional]
.inputs [optional]
.vbmeta [optional]"
]
zbi [label="invoker.zbi_signing_script"]
zbiargs [label="invoker.zbi_signing_args"]
bootfs [label=
"invoker
.bootfs_package_labels
.bootfs_labels
"]
laib_inputs [label=
"invoker
.create_legacy_aib_package [optional]
.create_legacy_aib_archive [optional]"
]
genfvm [label="invoker.generate_fvm"]
tv -> {blobfs, aconfs, minfs_conf, giac_in, ia_in, pacd} -> genfvm [style=invis]
}
}
subgraph cluster_files {
// rank=same
nodesep=0
node [shape=box id=googlegreen]
paf [label="files.product_assembly_config"]
pcaibs [label="files.platform_common_aibs"]
pcaibsdir [label="files.platform_common_aibs_dir"]
img_conf [label="files.images_config"]
img_ac [label="files.image_assembly_config"]
iaf [label="files.image_assembly_inputs"]
laib_manifest [label="files.legacy_assembly_input_bundle_manifest"]
f_gendir [label="files.gendir"]
outdir [label="files.outdir"]
devmgr [label="files.additional_boot_args"]
bpacman [label="files.base_package_manifest"]
genfvm -> paf -> {devmgr, bpacman} [style=invis]
}
subgraph cluster_intermediaries {
node [shape=box id=googlered]
riac [label="files.regenerated_image_assembly_config"]
}
subgraph cluster_imports {
rank=same
blobfs_tool_target
fvm_reserved_slices
}
subgraph cluster_target_invocations {
node [id="dark deeppurple"]
iaccomp [label="compare_image_assembly_configs(labels.compare_image_assembly_configs)"]
cdm [label="combined_driver_manifest($image_name.base-driver-manifest)"]
confp [label="config_package(labels.config_data)"]
giac [label="generated_image_assembly_config(labels.image_assembly_config)"]
gic [label="generated_images_config(labels.images_config)"]
fsc [label="generated_fshost_config(labels.fshost_config)"]
laib [label="legacy_assembly_input_bundle(labels.legacy_assembly_input_bundle)"]
pa [label="ffx_action(labels.product_assembler)"]
hifia [label="hermetic_inputs_for_image_assembly(labels.image_assembly_inputs)"]
image_assembler [label="ffx_action(labels.image_assembler)"]
fvm [label="src/storage/bin/fvm($host_toolchain)"]
shell_commands [label="shell_commands(labels.shell_commands)"]
component_id_index_config [label="component_id_index_config($compidic)"]
bpacman -> {gic, cdm } -> { hifia, pa, giac} -> {iaccomp, image_assembler, shell_commands, laib, confp, component_id_index_config} [style=invis]
}
subgraph cluster_outputs {
nodesep=0
rank=same
outdir_out [label=
"# In the outdir.
files
.base_package
.base_package_merkle
.minfs
.blobfs
.fvm
.fvm_sparse
.fvm_blob_sparse"
]
zbi_out [label=
"files
.zbi
.zbi_manifest"
]
cm [label="files.config_data_manifest"]
gendir_out [label=
"# In the gendir.
files
.blobfs_manifest,
.blobs_json,
.static_packages,
.cache_packages,
.base_meta_package,
.base_pkg_abi_revision,
.fvm_fastboot_tmp"
]
ia_out [label=
"files
.bootfs_files
.bootfs_packages
.packages,
.image_command_log
.images_manifest
"
]
}
paf -> {laib, pa} -> {riac}
img_conf -> {gic, hifia, image_assembler}
iaf -> {hifia, image_assembler}
laib_manifest -> laib
f_gendir -> image_assembler
riac -> {hifia, iaccomp, image_assembler}
outdir -> {image_assembler, laib, pa}
bpacman -> image_assembler
bp -> {cdm, component_id_index_config, confp, giac, shell_commands}
cp -> giac
{cp, up} -> {confp, shell_commands}
blobfs_tool_target -> image_assembler
fvm_reserved_slices -> gic
compidic -> confp
"bundles/assembly:${name}" -> pa
":${image_name}" -> laib
aconfs -> gic
blobfs -> gic
fshost_config -> fsc
minfs_conf -> gic
pacd -> {iaccomp, pa}
zbi -> gic
{ia_in, zbi} -> image_assembler
zbiargs -> gic
genfvm -> {gic, laib, pa}
{laib_inputs, pcaibsdir} -> pa
{devmgr, img_ac, kz, giac_in, compidic, bootfs} -> giac -> iaccomp
gic -> {image_assembler, hifia}
pcaibs -> laib -> {cm}
pa -> {laib, image_assembler , hifia , iaccomp}
hifia -> image_assembler
image_assembler -> {ia_out, bpacman, devmgr, gendir_out, outdir_out, zbi_out}
fvm -> image_assembler
/*
test -> {cdm, component_id_index_config, confp, giac, gic, hifia, iaccomp, image_assembler, laib, pa, shell_commands}
tv -> {gic, cdm, component_id_index_config, confp, giac, hifia, image_assembler, laib, pa, shell_commands}
*/
}