depos CLI
depos is the CLI behind .depos.cmake.
Install it directly with:
Use the CLI when you want to register recipes, sync manifests, or inspect repository state outside of the CMake helper flow.
For published-library consumption, the intended export shape is one detached top-level
published DepoFile outside the source archive. That file points at the release source
archive, lists transparent DEPENDS, and lets depos automatically cascade dependency
depofiles/ from inside the fetched source tree. The source archive's depofiles/
directory is for the library's dependencies, not for the consumer-facing published
DepoFile.
Core Commands
Use a project-local root if you do not want the default shared root:
Current Scope
- Linux:
BUILD_ROOT SYSTEM,BUILD_ROOT SCRATCH,BUILD_ROOT OCI <ref>,TOOLCHAIN ROOTFS, and foreign-architecture OCI execution - macOS: native
BUILD_ROOT SYSTEMplus [EXPERIMENTAL]BUILD_ROOT OCI <ref>through a local Linux provider - Windows: native
BUILD_ROOT SYSTEMplus [EXPERIMENTAL]BUILD_ROOT OCI <ref>through a local Linux provider
On macOS and Windows, depos still explicitly rejects:
BUILD_ROOT SCRATCHTOOLCHAIN ROOTFSwithoutBUILD_ROOT OCI <ref>BUILD_ARCH != TARGET_ARCHwithoutBUILD_ROOT OCI <ref>
[EXPERIMENTAL] On macOS and Windows, selecting BUILD_ROOT OCI <ref> routes the package build through a local Linux provider instead of the host-native portable backend:
- Windows: WSL2
- macOS: a direct Apple Virtualization helper and Linux guest
Runtime selection is explicit at the bootstrap layer, not in DepoFile syntax:
DEPOS_LINUX_PROVIDER=autoselects the host-appropriate providerDEPOS_LINUX_PROVIDER=wsl2forces the Windows WSL2 pathDEPOS_LINUX_PROVIDER=mac-localforces the macOS Apple-Virtualization-backed pathDEPOS_LINUX_PROVIDER_ROOT=/absolute/linux/pathoverrides the provider-side runtime rootDEPOS_WSL_DISTRO=<name>selects the WSL distro when usingwsl2; without it, Windows auto mode prefersUbuntu-24.04and installs it lazily if no provider distro existsDEPOS_APPLE_VIRTUALIZATION_HELPER=/absolute/path/to/helperpointsdeposat the direct macOS helperDEPOS_APPLE_VIRTUALIZATION_VM=<name>overrides the default macOS VM name
The provider runtime root now keeps provider-metadata.env plus versioned bootstrap state and caches so you can inspect the Linux-side runtime directly.
Docs
- Landing page
- Getting started
- DepoFile reference
- CMake integration
- Build roots and platform contract
- CLI reference
- Examples
License
Apache-2.0