Crate bob

Crate bob 

Source
Expand description

Bob is a pkgsrc package builder that automates building packages in isolated sandbox environments with parallel build support, dependency resolution, and comprehensive reporting.

§Overview

Bob provides:

  • Automatic sandbox setup with platform-specific implementations for Linux, macOS, NetBSD, and illumos
  • Dependency scanning and DAG-based resolution for correct build ordering
  • Parallel scans and builds in separate sandboxes
  • Terminal UI showing real-time build progress
  • HTML reports of build results
  • Lua-based configuration for flexibility

§Quick Start

$ bob init /path/to/config      # Create configuration directory
$ cd /path/to/config
$ vi config.lua                 # Customise to taste
$ bob build                     # Build packages

§Modules

  • action - Sandbox action types for configuring filesystem mounts, copies, symlinks, and custom commands
  • build - Parallel package builds and result types
  • config - Configuration file parsing (Lua format)
  • report - HTML build report generation
  • sandbox - Sandbox creation, execution, and management
  • scan - Package dependency scanning and resolution

§Configuration

Bob uses Lua configuration files. See the config module for details on configuration options. The default file generated by bob init is designed to work out of the box with minimal changes on supported operating systems, but you are likely to want to customise it further.

Re-exports§

pub use action::Action;
pub use action::ActionType;
pub use action::FSType;
pub use build::Build;
pub use build::BuildOutcome;
pub use build::BuildResult;
pub use build::BuildSummary;
pub use config::Config;
pub use config::Options;
pub use config::Pkgsrc;
pub use config::Sandboxes;
pub use report::write_html_report;
pub use sandbox::Sandbox;
pub use scan::Scan;
pub use scan::ScanResult;
pub use scan::SkipReason;
pub use scan::SkippedPackage;

Modules§

action
Sandbox action configuration.
build
Parallel package builds.
config
Configuration file parsing (Lua format).
logging
report
HTML build report generation.
sandbox
Sandbox creation and management.
scan
Package dependency scanning and resolution.

Structs§

Init