update docs
This commit is contained in:
@@ -5,18 +5,20 @@ use std::{path::PathBuf, process::ExitCode};
|
||||
#[derive(Parser)]
|
||||
#[command(
|
||||
version,
|
||||
about = "Build software bundles and metadata-first cartridge images on Linux"
|
||||
about = "Build Void source packages and ready-to-run cartridge images on Linux"
|
||||
)]
|
||||
struct Cli {
|
||||
/// Optional wrapper that accepts TOOL followed by its arguments.
|
||||
#[arg(long, global = true)]
|
||||
image_tool_runner: Option<PathBuf>,
|
||||
#[command(flatten)]
|
||||
build: fds_workstation::software::BuildOptions,
|
||||
#[command(subcommand)]
|
||||
command: Action,
|
||||
}
|
||||
#[derive(Subcommand)]
|
||||
enum Action {
|
||||
/// Check xz, erofs-utils and the unprivileged filesystem inspection sandbox.
|
||||
/// Check EROFS tools, the inspection sandbox and legacy xz reader.
|
||||
Doctor,
|
||||
/// Build or package software on the workstation, never on the Pi.
|
||||
Software {
|
||||
@@ -25,7 +27,7 @@ enum Action {
|
||||
},
|
||||
/// Construct and verify a complete 1+m GPT cartridge image before burning.
|
||||
Create { recipe: PathBuf, output: PathBuf },
|
||||
/// Verify GPT, every filesystem, catalogue and xz tarball in a prepared image.
|
||||
/// Verify GPT, every filesystem, catalogue and installed program tree.
|
||||
Inspect { image: PathBuf },
|
||||
/// Verify a prepared image and save an image/target-bound write preview.
|
||||
Preview {
|
||||
@@ -45,11 +47,9 @@ enum Action {
|
||||
}
|
||||
#[derive(Subcommand)]
|
||||
enum Software {
|
||||
/// Execute an explicit trusted workstation build recipe, then package its output.
|
||||
/// Build a Void source template and install its complete runtime package tree.
|
||||
Build { recipe: PathBuf, output: PathBuf },
|
||||
/// Package an existing software tree without running its build command.
|
||||
Pack { recipe: PathBuf, output: PathBuf },
|
||||
/// Check a built software descriptor, archive digest and extracted contents.
|
||||
/// Check installed package metadata and every program/dependency file.
|
||||
Inspect { directory: PathBuf },
|
||||
}
|
||||
fn run() -> Result<()> {
|
||||
@@ -76,16 +76,18 @@ fn run() -> Result<()> {
|
||||
}
|
||||
Action::Software { command } => serde_json::to_value(match command {
|
||||
Software::Build { recipe, output } => {
|
||||
fds_workstation::software::build(&recipe, &output, true)?
|
||||
}
|
||||
Software::Pack { recipe, output } => {
|
||||
fds_workstation::software::build(&recipe, &output, false)?
|
||||
fds_workstation::software::build(&recipe, &output, &cli.build)?
|
||||
}
|
||||
Software::Inspect { directory } => fds_workstation::software::load(&directory)?,
|
||||
}),
|
||||
Action::Create { recipe, output } => serde_json::to_value(
|
||||
fds_workstation::cartridge::create(&recipe, &output, cli.image_tool_runner.as_deref())?,
|
||||
),
|
||||
Action::Create { recipe, output } => {
|
||||
serde_json::to_value(fds_workstation::cartridge::create(
|
||||
&recipe,
|
||||
&output,
|
||||
cli.image_tool_runner.as_deref(),
|
||||
&cli.build,
|
||||
)?)
|
||||
}
|
||||
Action::Inspect { image } => serde_json::to_value(fds_workstation::cartridge::inspect(
|
||||
&image,
|
||||
cli.image_tool_runner.as_deref(),
|
||||
|
||||
Reference in New Issue
Block a user