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