bdep-status(1)

NAME
bdep-status - print status of project and/or its dependencies

SYNOPSIS

bdep status [options] [pkg-spec] [cfg-spec] [dep-spec...]

dep-spec = pkg[/ver]
cfg-spec = (@cfg-name | --config|-c cfg-dir)... | --all|-a
pkg-spec = (pkg | (--directory|-d pkg-dir))... | prj-spec
prj-spec = --directory|-d prj-dir

DESCRIPTION

The status command prints the status of project packages and/or their dependencies in one or more build configurations.

If no project or package directory is specified, then the current working directory is assumed. If no configuration is specified, then the default configurations are assumed. See bdep-projects-configs(1) for details on specifying projects and configurations.

Note that if a package that is specified as a pkg name (as opposed to as a directory with --directory|-d) belongs to the project and is initialized in any of the specified configurations, then it is interpreted as pkg-spec. Otherwise, it is interpreted as dep-spec.

If no dep-spec arguments are specified, then status prints the status of the project's packages. Otherwise, the status of the specified dependency packages is printed. Additionally, the status of immediate or all dependencies of the above packages can be printed by specifying the --immediate|-i or --recursive|-r options, respectively.

In the default output format (see the --stdout-format common option), the status of each package is printed on a separate line. Note that the status is written to stdout, not stderr. The semantics of dep-spec and the format of the status line are described in bpkg-pkg-status(1).

If the output format is json, then the output is a JSON array of objects which are the serialized representation of the following C++ struct configuration_package_status:

struct configuration
{
  uint64_t         id;
  string           path;
  optional<string> name;
};
struct configuration_package_status
{
  configuration          configuration;
  vector<package_status> packages;
};

For example:

[
  {
    "configuration": {
      "id": 1,
      "path": "/tmp/hello-gcc",
      "name": "gcc"
    },
    "packages": [
      {
        "name": "hello",
        "status": "configured",
        "version": "1.0.0",
        "hold_package": true,
        "available_versions": [
          {
            "version": "1.0.1"
          },
          {
            "version": "2.0.0"
          }
        ],
        "dependencies": [
          {
            "name": "libhello",
            "status": "configured",
            "version": "1.0.2"
          }
        ]
      }
    ]
  }
]

See the JSON OUTPUT section in bdep-common-options(1) for details on the overall properties of this format and the semantics of the struct serialization.

Refer to the list subcommand of bdep-config(1) for details on the struct configuration members. Refer to bpkg-pkg-status(1) for the definition of struct package_status. Note also that in the json output format certain conditions (no associated configurations, no initialized packages, etc) are not treated as errors but instead result in valid output. The uninitialized packages have the special uninitialized status value.

STATUS OPTIONS

--immediate|-i
    Also print the status of immediate dependencies.

--recursive|-r
    Also print the status of all dependencies, recursively.

--old-available|-o
    Print old available versions.

--fetch|-f
    Perform the fetch command prior to printing the status.

--fetch-full|-F
    Perform the fetch --full command prior to printing the status.

--all|-a
    Use all build configurations.

--config|-c dir
    Specify the build configuration as a directory.

--directory|-d dir
    Assume project/package is in the specified directory rather than in the current working directory.

--config-name|-n name
    Specify the build configuration as a name.

--config-id num
    Specify the build configuration as an id.

COMMON OPTIONS

The common options are summarized below with a more detailed description available in bdep-common-options(1).

-v  Print essential underlying commands being executed.

-V  Print all underlying commands being executed.

--quiet|-q
    Run quietly, only printing error messages.

--verbose level
    Set the diagnostics verbosity to level between 0 and 6.

--stdout-format format
    Representation format to use for printing to stdout.

--jobs|-j num
    Number of jobs to perform in parallel.

--progress
    Display progress indicators for long-lasting operations, such as network transfers, building, etc.

--no-progress
    Suppress progress indicators for long-lasting operations, such as network transfers, building, etc.

--diag-color
    Use color in diagnostics.

--no-diag-color
    Don't use color in diagnostics.

--bpkg path
    The package manager program to be used for build configuration management.

--bpkg-option opt
    Additional option to be passed to the package manager program.

--build path
    The build program to be used to build packages.

--build-option opt
    Additional option to be passed to the build program.

--curl path
    The curl program to be used for network operations.

--curl-option opt
    Additional option to be passed to the curl program.

--offline
    Do not attempt to download resources (packages, repository metadata, etc), instead taking them from the local fetch cache if available and failing otherwise.

--no-fetch-cache
    Disable local caching of download resources (packages, repository metadata, etc).

--fetch-cache mode
    Comma-separated list of local fetch cache modes.

--fetch-cache-session id
    The local fetch cache session.

--sqlite-synchronous mode
    Filesystem synchronization mode for the project SQLite database.

--pager path
    The pager program to be used to show long text.

--pager-option opt
    Additional option to be passed to the pager program.

--options-file file
    Read additional options from file.

--default-options dir
    The directory to load additional default options files from.

--no-default-options
    Don't load default options files.

DEFAULT OPTIONS FILES

See bdep-default-options-files(1) for an overview of the default options files. For the status command the search start directory is the project directory. The following options files are searched for in each directory and, if found, loaded in the order listed:

bdep.options
bdep-status.options

The following status command options cannot be specified in the default options files:

--directory|-d

BUGS
Send bug reports to the users@build2.org mailing list.

COPYRIGHT
Copyright (c) 2014-2026 the build2 authors. Permission is granted to copy, distribute and/or modify this document under the terms of the MIT License.