.\" Copyright (c) 2025 pkgconf authors (see AUTHORS). .\" .\" Permission to use, copy, modify, and/or distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies. .\" .\" This software is provided 'as is' and without any warranty, express or .\" implied. In no event shall the authors be liable for any damages arising .\" from the use of this software. .Dd June 4, 2025 .Dt BOMTOOL 1 .Os .Sh NAME .Nm bomtool .Nd a tool for generating SPDX-based software bills of material .Sh SYNOPSIS .Nm .Op Ar options .Ar module ... .Sh DESCRIPTION .Nm is a program which generates a textual SPDX 2.0 software bill of materials (SBOM) for a given set of pkg-config modules. The output of this tool can then be translated into other SBOM formats as necessary. .Pp The .Ar options are as follows: .Bl -tag -width indent .It Fl -about Print the version number, the Copyright notice, and the license of the .Nm program to standard output and exit. Most other options and all command line arguments are ignored. .It Fl -version Print the version number of the .Nm program to standard output and exit. Most other options and all command line arguments are ignored. .El .Sh ENVIRONMENT .Bl -tag -width indent .It Ev PKG_CONFIG_DEBUG_SPEW If set, print debugging messages to stderr. .It Ev PKG_CONFIG_IGNORE_CONFLICTS If set, ignore .Ic Conflicts rules in modules. Has the same effect as the .Fl -ignore-conflicts option in .Xr pkgconf 1 . .It Ev PKG_CONFIG_LIBDIR A colon-separated list of low-priority directories where .Xr pc 5 files are looked up. The module search path is constructed by appending this list to .Ev PKG_CONFIG_PATH , which enjoys higher priority. If .Ev PKG_CONFIG_LIBDIR is not defined, the default list compiled into the .Nm program from the .Dv PKG_DEFAULT_PATH preprocessor macro is appended instead. If .Ev PKG_CONFIG_LIBDIR is defined but empty, nothing is appended. .It Ev PKG_CONFIG_MAXIMUM_TRAVERSE_DEPTH Impose a limit on the allowed depth in the dependency graph. .It Ev PKG_CONFIG_PATH A colon-separated list of high-priority directories where .Xr pc 5 files are looked up. .It Ev PKG_CONFIG_PRELOADED_FILES Colon-separated list of .Xr pc 5 files which are loaded before any other pkg-config files. These packages are given highest priority over any other .Xr pc 5 files that would otherwise provide a given package. .El .Sh EXIT STATUS .Ex -std .Sh EXAMPLES Generating an SBOM for the package named foo: .Dl $ bomtool foo .Dl SPDXVersion: SPDX-2.2 .Dl DataLicense: CC0-1.0 .Dl SPDXID: SPDXRef-DOCUMENT .Dl DocumentName: SBOM-SPDX-fooC641.2.3 .Dl DocumentNamespace: https://spdx.org/spdxdocs/bomtool-2.4.3 .Dl Creator: Tool: bomtool 2.4.3 .Dl [...] .Sh SEE ALSO .Xr pc 5 , .Xr pkgconf 1