1*a3cefe7fSPierre Pronchery.\" Copyright (c) 2025 pkgconf authors (see AUTHORS). 2*a3cefe7fSPierre Pronchery.\" 3*a3cefe7fSPierre Pronchery.\" Permission to use, copy, modify, and/or distribute this software for any 4*a3cefe7fSPierre Pronchery.\" purpose with or without fee is hereby granted, provided that the above 5*a3cefe7fSPierre Pronchery.\" copyright notice and this permission notice appear in all copies. 6*a3cefe7fSPierre Pronchery.\" 7*a3cefe7fSPierre Pronchery.\" This software is provided 'as is' and without any warranty, express or 8*a3cefe7fSPierre Pronchery.\" implied. In no event shall the authors be liable for any damages arising 9*a3cefe7fSPierre Pronchery.\" from the use of this software. 10*a3cefe7fSPierre Pronchery.Dd June 4, 2025 11*a3cefe7fSPierre Pronchery.Dt BOMTOOL 1 12*a3cefe7fSPierre Pronchery.Os 13*a3cefe7fSPierre Pronchery.Sh NAME 14*a3cefe7fSPierre Pronchery.Nm bomtool 15*a3cefe7fSPierre Pronchery.Nd a tool for generating SPDX-based software bills of material 16*a3cefe7fSPierre Pronchery.Sh SYNOPSIS 17*a3cefe7fSPierre Pronchery.Nm 18*a3cefe7fSPierre Pronchery.Op Ar options 19*a3cefe7fSPierre Pronchery.Ar module ... 20*a3cefe7fSPierre Pronchery.Sh DESCRIPTION 21*a3cefe7fSPierre Pronchery.Nm 22*a3cefe7fSPierre Proncheryis a program which generates a textual SPDX 2.0 software bill of 23*a3cefe7fSPierre Proncherymaterials (SBOM) for a given set of pkg-config modules. 24*a3cefe7fSPierre ProncheryThe output of this tool can then be translated into other SBOM 25*a3cefe7fSPierre Proncheryformats as necessary. 26*a3cefe7fSPierre Pronchery.Pp 27*a3cefe7fSPierre ProncheryThe 28*a3cefe7fSPierre Pronchery.Ar options 29*a3cefe7fSPierre Proncheryare as follows: 30*a3cefe7fSPierre Pronchery.Bl -tag -width indent 31*a3cefe7fSPierre Pronchery.It Fl -about 32*a3cefe7fSPierre ProncheryPrint the version number, the Copyright notice, and the license of the 33*a3cefe7fSPierre Pronchery.Nm 34*a3cefe7fSPierre Proncheryprogram to standard output and exit. 35*a3cefe7fSPierre ProncheryMost other options and all command line arguments are ignored. 36*a3cefe7fSPierre Pronchery.It Fl -version 37*a3cefe7fSPierre ProncheryPrint the version number of the 38*a3cefe7fSPierre Pronchery.Nm 39*a3cefe7fSPierre Proncheryprogram to standard output and exit. 40*a3cefe7fSPierre ProncheryMost other options and all command line arguments are ignored. 41*a3cefe7fSPierre Pronchery.El 42*a3cefe7fSPierre Pronchery.Sh ENVIRONMENT 43*a3cefe7fSPierre Pronchery.Bl -tag -width indent 44*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_DEBUG_SPEW 45*a3cefe7fSPierre ProncheryIf set, print debugging messages to stderr. 46*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_IGNORE_CONFLICTS 47*a3cefe7fSPierre ProncheryIf set, ignore 48*a3cefe7fSPierre Pronchery.Ic Conflicts 49*a3cefe7fSPierre Proncheryrules in modules. 50*a3cefe7fSPierre ProncheryHas the same effect as the 51*a3cefe7fSPierre Pronchery.Fl -ignore-conflicts 52*a3cefe7fSPierre Proncheryoption in 53*a3cefe7fSPierre Pronchery.Xr pkgconf 1 54*a3cefe7fSPierre Pronchery. 55*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_LIBDIR 56*a3cefe7fSPierre ProncheryA colon-separated list of low-priority directories where 57*a3cefe7fSPierre Pronchery.Xr pc 5 58*a3cefe7fSPierre Proncheryfiles are looked up. 59*a3cefe7fSPierre ProncheryThe module search path is constructed by appending this list to 60*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_PATH , 61*a3cefe7fSPierre Proncherywhich enjoys higher priority. 62*a3cefe7fSPierre ProncheryIf 63*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_LIBDIR 64*a3cefe7fSPierre Proncheryis not defined, the default list compiled into the 65*a3cefe7fSPierre Pronchery.Nm 66*a3cefe7fSPierre Proncheryprogram from the 67*a3cefe7fSPierre Pronchery.Dv PKG_DEFAULT_PATH 68*a3cefe7fSPierre Proncherypreprocessor macro is appended instead. 69*a3cefe7fSPierre ProncheryIf 70*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_LIBDIR 71*a3cefe7fSPierre Proncheryis defined but empty, nothing is appended. 72*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_MAXIMUM_TRAVERSE_DEPTH 73*a3cefe7fSPierre ProncheryImpose a limit on the allowed depth in the dependency graph. 74*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_PATH 75*a3cefe7fSPierre ProncheryA colon-separated list of high-priority directories where 76*a3cefe7fSPierre Pronchery.Xr pc 5 77*a3cefe7fSPierre Proncheryfiles are looked up. 78*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_PRELOADED_FILES 79*a3cefe7fSPierre ProncheryColon-separated list of 80*a3cefe7fSPierre Pronchery.Xr pc 5 81*a3cefe7fSPierre Proncheryfiles which are loaded before any other pkg-config files. 82*a3cefe7fSPierre ProncheryThese packages are given highest priority over any other 83*a3cefe7fSPierre Pronchery.Xr pc 5 84*a3cefe7fSPierre Proncheryfiles that would otherwise provide a given package. 85*a3cefe7fSPierre Pronchery.El 86*a3cefe7fSPierre Pronchery.Sh EXIT STATUS 87*a3cefe7fSPierre Pronchery.Ex -std 88*a3cefe7fSPierre Pronchery.Sh EXAMPLES 89*a3cefe7fSPierre ProncheryGenerating an SBOM for the package named foo: 90*a3cefe7fSPierre Pronchery.Dl $ bomtool foo 91*a3cefe7fSPierre Pronchery.Dl SPDXVersion: SPDX-2.2 92*a3cefe7fSPierre Pronchery.Dl DataLicense: CC0-1.0 93*a3cefe7fSPierre Pronchery.Dl SPDXID: SPDXRef-DOCUMENT 94*a3cefe7fSPierre Pronchery.Dl DocumentName: SBOM-SPDX-fooC641.2.3 95*a3cefe7fSPierre Pronchery.Dl DocumentNamespace: https://spdx.org/spdxdocs/bomtool-2.4.3 96*a3cefe7fSPierre Pronchery.Dl Creator: Tool: bomtool 2.4.3 97*a3cefe7fSPierre Pronchery.Dl [...] 98*a3cefe7fSPierre Pronchery.Sh SEE ALSO 99*a3cefe7fSPierre Pronchery.Xr pc 5 , 100*a3cefe7fSPierre Pronchery.Xr pkgconf 1 101